python
およびを使用してラスターを地理参照したいGDAL
。私の現在のアプローチは、地上管制点の醜いリストを呼び出しgdal_translate
てgdalwarp
使用os.system
することです。私はこれを内でネイティブに行う方法を本当に望んでいますpython
。
これは私が使用している現在のプロセスです:
import os
os.system('gdal_translate -of GTiff -gcp 1251.92 414.538 -7.9164e+06 5.21094e+06 -gcp 865.827 107.699 -7.91651e+06 5.21104e+06 "inraster.tif" "outraster1.tif"')
os.system('gdalwarp -r bilinear -tps -co COMPRESS=NONE "outraster2.tif" "outraster3.tif"')
インポート後にアクセスできると述べている2012年からの以前の質問と回答gdal_translate
がありますgdal
。が廃止されているのか、それが間違っているのかfrom osgeo import gdal
はわかりませんが、実行しgdal.gdal_translate
てもオプションとして表示されません。
それが存在するかどうかはわかりませんが、ラスタをpythonicの方法で変換および再投影できたら嬉しいです。例えば:
# translate
gcp_points = [(1251.92, 414.538), (-7.9164e+06, 5.21094e+06)]
gdal.gdal_translate(in_raster, gcp_points, out_raster1)
# warp
gdal.gdalwarp(out_raster1, out_raster2, 'bilinear', args*)
そのようなアプローチは可能ですか?
1
gdal_translateとgdalwarpおよびその他のgdalユーティリティは、pythonパッケージ/モジュールではなく、スタンドアロンの実行可能ファイルです。os.systemまたは(できれば)subprocess.Popenを使用して呼び出すことができます。
—
user2856 2014年
@ルークそう、これらのgdalユーティリティと対話する方法はありませんか?存在しない場合は、これらのpythonラッパーを作成する方法を探りたいと思います。
—
djq 2014年
gdal python APIを使用して、gdal_translateおよびgdalwarpユーティリティで実行できるほぼすべてのことを実行できます。これは少し複雑です。gdal.AutoCreateWarpedVRTとgdal Driver.CreateCopyをチェックしてください。
—
user2856 2014年