banner
Riceneeder

Riceneeder

白天研究生,晚上研究死
github
email

arcgisとmaxentを用いた適応性区画に関するいくつかのポイント

最近の課題でこの 2 つのソフトウェアを使用しており、maxent を行う際に気象因子が必要です。しかし、worldclim からダウンロードした未来の生物気象因子は 19 個のバンドを含む 1 枚の tif ファイルしかなく、手動で 19 個のファイルに分割する必要があります。arcgis を使って分割する方法が見つからなかったため、python に切り替えました。

コードは以下の通りです:

import gdal
import os

input_file = "G:/4.その他/wc2.1_30s_bioc_ACCESS-CM2_ssp126_2041-2060.tif"#ダウンロードしたtifファイル
output_folder = "G:/4.その他/feature_bio/"#出力フォルダ

if not os.path.exists(output_folder):
   os.makedirs(output_folder)

dataset = gdal.Open(input_file)
num_bands = dataset.RasterCount

for i in range(num_bands):
   band = dataset.GetRasterBand(i + 1)
   output_file = os.path.join(output_folder, f"bio_{i + 1}.tif")
   driver = gdal.GetDriverByName("GTiff")
   new_dataset = driver.Create(output_file, dataset.RasterXSize, dataset.RasterYSize, 1, gdal.GDT_Float32)
   new_dataset.SetProjection(dataset.GetProjection())
   new_dataset.SetGeoTransform(dataset.GetGeoTransform())
   new_dataset.GetRasterBand(1).WriteArray(band.ReadAsArray())
   print(f"{output_file}を作成中...")
   new_dataset.FlushCache()
   new_dataset = None

dataset = None

しかし、1 つ問題があります。gdal をインストールする際に高確率でエラーが発生します。具体的な理由は私も調べていません。ネットでの推奨方法は conda を使用することです:

conda install gdal

実際の状況では、インストールできない場合やインストールしても呼び出せない場合があります。解決策は以下の通りです:

  1. インストールに失敗した場合:
    Github リポジトリから対応する.whl ファイルをダウンロードします。例えば、python 3.11 の場合は GDAL-3.7.1-cp311-cp311-win_amd64.whl をダウンロードし、手動でpip install GDAL-3.7.1-cp311-cp311-win_amd64.whlを実行します。
  2. 呼び出せない場合:
    python がインストールされている様々な環境パッケージのフォルダ内、例えばD:Path\To\python3.9.12\Lib\site-packages\フォルダ内に gdal.py ファイルを新規作成し、以下のコードをコピーします:
# import osgeo.gdal as a convenience
from osgeo.gdal import deprecation_warn
deprecation_warn('gdal')
from osgeo.gdal import *
読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。