GDALで多くの問題を抱えています。ドキュメントが欠けていることもありますが、Pythonではほとんどサポートされていないようです。とにかく、これは次のように機能するバッチ再プロジェクトスクリプトです。
source_file = gdal.Open(filepath.encode("ascii"))
source_wkt = source_file.GetProjectionRef()
source_srs = osr.SpatialReference()
source_srs.ImportFromWkt(source_wkt)
reproj_file = gdal.AutoCreateWarpedVRT(source_file, source_wkt, dest_wkt)
gdal.ReprojectImage(source_file, reproj_file, source_wkt, dest_wkt)
reproj_attributes = reproj_file.GetGeoTransform()
driver = gdal.GetDriverByName("GTiff")
dest_file = driver.CreateCopy(outputpath.encode("ascii"), reproj_file, 0)
dest_srsとdes_wktの部分はこのコードチャンクでは定義されていませんが、ループの外にあります(一度だけ定義する必要があるため)。それは一度動作するようです、私はそれから1つの見栄えの良いtifを得ることができ、それから私に「エラー6 WriteBlock()はサポートされていません」とpythonがクラッシュします。それらはすべて、同じ基本データを使用して同じ方法で作成された(時間だけが異なる)すべてのGeoTIFFです。
また、(GCSからPCSへの)再投影の性質により、AutoCreateWarpedVRTは多くの空白スペースを作成する傾向がありますが、値0を与えます。これは、実際のデータ値である可能性があるため問題です。代わりにnodata値を-99に設定する方法はありますか?
ReprojectImageの注文を削除すると、コンピューターはエラーなしで画像を再投影します。
—
Roger Veciana 2017年
gdalwarp -t_srs '+proj=utm +zone=11 +datum=WGS84' raw_spot.tif utm11.tif
。長い間使用されており、機能が豊富で、十分にテストされており、純粋なpythonアプローチよりも高速である可能性があります。