PythonまたはPyQGISを使用して、多くのラスターをいくつかのピクセルサイズ、範囲、および投影システムで整列させたい。
最初に考えるのは、GDALを使用することです。
gdalinfo(参照ラスターから情報を検索するため)
gdalwarp(投影システムとピクセルサイズを変換するため)
gdal_translate(範囲を変換するため)
それらは機能しますが、Pythonでこれらのツールを一緒に使用するのは簡単ではなく、この作業を完了するにはかなりの時間が必要です。また、QGISおよびAlign Rasters Tool を使用して簡単に行うことができます。
PyQGISまたはPythonを使用してこれを行うツールはありますか?(より多くのプログラミングを自動的に行いたい)
更新
私はこの質問からこのコードを見つけます:
from osgeo import gdal, gdalconst
inputfile = #Path to input file
input = gdal.Open(inputfile, gdalconst.GA_ReadOnly)
inputProj = input.GetProjection()
inputTrans = input.GetGeoTransform()
referencefile = #Path to reference file
reference = gdal.Open(referencefile, gdalconst.GAReadOnly)
referenceProj = reference.GetProjection()
referenceTrans = reference.GetGeoTransform()
bandreference = reference.GetRasterBand(1)
x = reference.RasterXSize
y = reference.RasterYSize
outputfile = #Path to output file
driver= gdal.GetDriverByName('GTiff')
output = driver.Create(outputfile, x, y, 1, bandreference.DataType)
output.SetGeoTransform(referenceTrans)
output.SetProjection(referenceProj)
gdal.ReprojectImage(input, output, inputProj, referenceProj, gdalconst.GRA_Bilinear)
del output
そのコードは、ラスタークリップ以外は問題なく動作します。このコードを更新して入力ラスターをコード内の参照ラスターの範囲までクリップする方法はありますか?