Maxentによる生息適地分析の手順(新潟市のミサゴを例に)

本記事について

著者が新潟市でミサゴを観察しており、新潟市で生息適地マップを作ってみたいと思い、Maxentを使用してマップの作成を行いました。

その際の手順をまとめましたので、参考にして頂ければと思います。

 

Maxentとは

生物の分布を、その生物が確認された場所の位置データ(在データ)を基に、その場所に関する様々な環境要因の値から、その生物が存在する確率を環境要因ごとに評価する統計学的手法です。与えられたデータセットに基づき、データが持つ情報に最も適した分布を「エントロピー(無作為性)」を最大化するように計算します。

環境要因のデータはあるが、その生物の情報がない地点の生息適地確率を推定することができるため、広範囲の生物分布を予測する手法として普及している手法となっております。。

利点として、在データのみを必要とするため、少ないデータで使えること、多くの異なる環境変数を扱うことができ、これにより多様な生息地や条件下で予測が可能なことがあります。

参考:環境省

 

ソフトのダウンロード

QGIS

オープンソースのGIS(地理情報システム)ソフトウェアで、地図データの可視化や編集、分析を行うために使われます。無料で使用できます。

今回の分析では主にデータの変換で使用します。

こちら(https://www.qgis.org/download/)から無料で最新版をダウンロードします。

Maxent

こちらのサイト(https://biodiversityinformatics.amnh.org/open_source/maxent/)の下の方から、無料でダウンロードできます。

 

Java

Maxentを動かすには、Javaというソフトが必要になります。

こちらのサイト(https://www.java.com/ja/download/)からダウンロードし、インストールします。

 

データの準備(データのダウンロード)

猛禽類のポイントデータ(生物の在データ)

実際に観察して得られた場所や文献で判明した場所などを紙などに記録しておきます。一般に公開されているデータを利用しても良いです。

後ほどQGISに入力します。

 

国土数値情報等のデータ(環境データと行政区域データ)

国土数値情報ダウンロードサイト(https://nlftp.mlit.go.jp/ksj/)と生物多様センター(https://www.biodic.go.jp/dload/mesh_vg.html?)、e-Stat(https://www.e-stat.go.jp/gis/statmap-search?page=1&type=2&aggregateUnitForBoundary=S&coordsys=2&format=shape)から、環境データと行政区域データをダウンロードします。

ダウンロードデータは下記から最新版をダウンロードします。

今回は下記のデータを使用しています。

 

国土数値情報ダウンロードサイト

・行政区域 新潟県

・平年値(気候) 新潟県 ※年降水量(G02_014)と年平均気温(G02_053)を使用

・土地利用細分メッシュ(ラスタ版) 新潟県を含む範囲

・河川(ライン) 新潟県 ※河川からの距離で使用

・標高・傾斜度5次メッシュ 新潟県を含む範囲

 

生物多様センター

・第5回基礎調査 植生3次メッシュデータ(1992-1996) ※csvファイル

・植生調査共通凡例コード等 ※veg_gunraku.csv の自然度コードを使用します

 

※lzhファイルでダウンロードされます。Lhacaという無料ソフトで解凍ができます。

 

eStat

・3次メッシュデータ 新潟県を含む範囲

 

データの搭載・変換(QGIS)

行政区域の設定(ポリゴン)

・QGISを起動して、新潟県の行政区域のポリゴンデータを読み込みます。

・属性検索で新潟市を選択します。

・選択後、新潟県の行政区域のレイヤを右クリック→エクスポート→新規ファイルに選択地物を保存 を選択。

 

・保存場所を選択して、ファイル名を入力。CRSはJGD2011の第8系にします。

 

・新潟市のポリゴンを1つにまとめるために、上のタブのベクタ→空間演算ツール→融合(dissolve) を選択して、1つのポリゴンにまとめます。

 

※マップの座標系を平面直角座標系第8系に直しておきます。Maxentを使用するにはメッシュやポイントの座標系やメッシュの大きさが一致している必要があります。

 

行政区域の設定(メッシュ)

・新潟県が含まれているメッシュデータをQGISに追加します。

・複数にまたがっているため、上のタブのベクタ→データ管理ツール→ベクタレイヤをマージ で1つのレイヤにまとめる。

入力レイヤに複数のメッシュデータのポリゴンを追加します。変換先CRSを平面直角座標系第8系としておきます。

 

 

・先ほど作成した新潟市のポリゴンで、メッシュデータを空間検索して、新潟市のメッシュデータを選択し、抽出します。

選択する地物のあるレイヤに先ほど1つにまとめたメッシュデータ、空間的関係は交差する、比較対象の地物のあるレイヤは新潟市のポリゴンを選択します。

 

・選択後、メッシュデータのレイヤを右クリック→エクスポート→新規ファイルに選択地物を保存 を選択。

平面直角座標系第8系を選択して、保存します。

 

ミサゴのポイントデータの準備

・ポイントデータを作成するために、背景図レイヤを準備します。こちらのサイト(https://chiakikun.hatenadiary.com/entry/2018/05/12/182139)などを参考に標準地図などを追加しましょう。

・上のタブのレイヤ→レイヤを作成→新規シェープファイルレイヤ を選択して、ポイントデータを新たに作成します。ファイル名を入力して、ジオメトリ型をポイントとします。座標系は平面直角座標系の第8系にします。

種名がわかるように、speciesという属性も追加しておきました。

 

 

・ミサゴのレイヤの上で右クリック→編集モードを切り替え を選択します。こうするとポイントデータを打てるようになります。

 

・点地物を追加 を選択して、ポイントを追加していきます。Idやspeciesにはそれぞれ、1とmisagoといれておきました。点を打ち終わった後は、編集の保存を選択して、保存します。

 

・ポイントデータに座標を入れるために、プロセシングツールボックス→ベクタテーブル→X/Yフィールドを追加 を選択します。

入力レイヤに先ほど入力したポイントデータを選択し、座標系は平面直角座標系の第8系として、保存します。

 

・座標が出力されたshpファイルができるので、レイヤの上で右クリック→エクスポート→新規ファイルに地物を保存 でcsvデータとして保存します。csvで保存後、下図のようにデータを加工して、準備しておきます。

 

標高と傾斜

・メッシュデータをQGISに読み込みます。

・メッシュデータを1つにまとめるためにマージします。マージの際、CRSを平面直角座標系第8系に変更します。

・新潟市の行政区域ポリゴンを用いて、メッシュデータを空間検索し、新潟市の標高・傾斜のメッシュデータとして新たにshpファイルで保存します

・属性テーブルがすべて文字列で入っているため、数値に変更する必要があります。属性テーブルを開き、フィールド計算機を開くをクリックします。

 

・新規フィールを作成にチェックを入れて、出力フィールドの名前を入力します(例:標高(G04a_002)→elev、傾斜(G04a_10)→slope)

フィールド型は小数(real)、フィールド長は5、精度1とします。

フィールドと値から標高、傾斜をそれぞれ追加して、OKをクリックすると、新たにフィールドが追加されます。

 

 

・それぞれ標高と傾斜のメッシュのshpファイルを作成しておきます。

 

気温と降水量

・標高と傾斜と同様に処理を行います。

・メッシュデータをマージ→新潟市の行政区ポリゴンで空間検索し、気温と降水量のメッシュポリゴンを作成→属性テーブルを数値に変換(年降水量(G02_014)、年平均気温(G02_053))

・それぞれ気温と降水量のメッシュのshpファイルを作成しておきます。

 

人口

・人口も標高と傾斜と同様に処理を行います。

・メッシュデータをマージ→新潟市の行政区ポリゴンで空間検索し、人口のメッシュポリゴンを作成

・属性はPTN2015またはPTN2020を使用します

 

土地利用

・土地利用ラスタをQGISに追加します

・ラスタを1つにまとめます。メニューバーのラスタ→その他→結合(gdal_merge)を選択し、1つにまとめます。

 

・プロセシングツールボックス→ラスタ解析→ゾーン統計量(ベクタ)を選択します。今回はすでに作成している新潟市の行政区ポリゴンを利用します。

 

・入力レイヤに新潟市の行政区メッシュポリゴン、ラスタレイヤにマージした土地利用ラスタを選択します。計算する統計量は、最頻値を選択します。

 

・作成したメッシュデータのポリゴンの座標系を平面直角座標系の第8系に変更します。新たにshpファイルとしてエクスポートし、その際に座標系を新たに指定し直します。

 

植生図

・veg05mesh.csvにはメッシュコードと群落コードが記載されております。

・今回は、自然度コードを環境データとして利用するため、veg05mesh.csvにveg_gunraku.csvに記載されている自然度コードを追加します

 

・vlookup関数などを使用して、下図のようなcsvデータを作成します。

 

・作成したcsvデータをQGISに追加します。

・新潟市の行政区域メッシュポリゴンとcsvデータを結合させます。新潟市の行政区域メッシュポリゴンのレイヤで右クリック→プロパティ を選択します。

・テーブル結合から+マークをクリックします。

 

・結合レイヤを植生図のcsv、結合基準の属性とターゲット属性をそれぞれメッシュコードにします。結合属性に自然度コードを選択し、OKをクリックすると属性が結合されます。

 

※文字が化けるときは文字コードをUTFからJISなどにすると直ったりします。

 

・植生図のメッシュポリゴンを新たにshpファイルとして作成しておきます。

 

河川からの距離

・新潟県の河川のshpファイルをQGISに追加します。

・新潟県の行政区域のshpファイルで河川を抽出します。ベクタ→空間演算ツール→切り抜く(clip)を選択します。

 

・入力レイヤに河川のshpファイル、オーバーレイヤに新潟市の行政区域のポリゴンのshpファイルを選択します。

 

・抽出後、新潟市の河川のshpファイルを平面直角座標系の第8系で新たにshpファイルとして保存し直します。

・河川からの距離を求めるために、それぞれのメッシュポリゴンの重心を算出します。プロセシングツールボックス→ベクタジオメトリ→重心 を選択します。

・入力レイヤに新潟市のメッシュポリゴンを選択し、各パートに重心を作成にチェックを入れます。すると、重心のポイントデータが作成されます。

 

・重心から河川までの距離を算出します。起点をメッシュの重心のポイントデータ、出力レイヤを新潟市の河川のラインのshpファイルとします。すると最短距離のラインのshpファイルが出力されます。

 

・新潟市のメッシュポリゴンと最短距離のラインのshpファイルで属性結合を行い、新潟市のメッシュポリゴンに最短距離の属性を追加します。

・新たに河川からの距離のデータが入ったメッシュポリゴンとして、shpファイルを作成します。

 

ASCファイルへの変換

・Maxentで使用するにはメッシュデータをASCファイルに変換する必要があるため、変換していきます。

・まずはそれぞれの環境データのメッシュデータをラスタに変換します。プロセシングツールボックス→GDAL→ベクタ変換→ベクタをラスタ化 をクリックします。

 

・入力レイヤに作成した環境データのメッシュデータを入れます。書き込む値の属性には、それぞれで算出した属性を入れます(標高や自然度コードなど)。

出力ラスタサイズは地理単位とし、解像度は両方とも1000とします。

出力範囲は、新潟市のメッシュポリゴンの範囲を選択します。

 

・ラスタに出力後、ASCファイルに変換します。プロセシングツールボックス→GDAL→ラスタ変換→形式変換 を選択します。

 

・入力レイヤに作成したラスタを選択し、出力ファイルの形式をascとして保存します。この作業を環境データの数だけ繰り返します。

 

Maxentの設定

・生物の在データ(csv)と環境データ(asc)が完成したら、Maxentを起動します。Maxent.batファイルをダブルクリックします。

・Samplesに生物のcsvファイルを、Environmental layersに環境データのascファイルを追加します。

植生図と土地利用は連続データではないので、Categoricalとします。

下の3つのチェックボックスにはすべてチェックを入れます。

Output directoryには出力先のファイルを選択します。

Runを押すと解析が始まります。

 

結果

・結果のファイルは下のように出力されます。

 

・htmlに結果が載っており、ascファイルに図の結果が載っております。ascファイルは図としてQGISに張ることができます。

・結果は英語で書いてあるため、難しければchat gptに解釈してもらうと良いでしょう。

・AUCの値が1に近いほど高い予測精度を持つことになります。今回のAUCは0.917と高い値を示しておりました。

・今回の結果では土地利用、植生、人口密度、傾斜の順番で寄与度が高くなっておりました。

・下図が今回の結果をまとめたPPTになります。

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

error: Content is protected !!