python调用GDAL实现几何校正

时间:2023-03-09 09:10:28
python调用GDAL实现几何校正

引自https://blog.****.net/qq_27045589/article/details/81062586

 def main():

     infile = "F:\\Temp_Data\\MOD13A2_20180610_H23V04_NDVI.tif"
outfile = "F:\\Temp_Data\\MOD13A2_20180610_H23V04_NDVI_GEO.tif" dataset = gdal.Open(infile, gdal.GA_Update)
gcps_list = [gdal.GCP(77.760364, 50.00, 0, 0, 0),
gdal.GCP(93.330364, 50.00, 0, 1199, 0),
gdal.GCP(78.320364, 40.01, 0, 1199, 1199),
gdal.GCP(65.270364, 40.01, 0, 0, 1199)]
sr = osr.SpatialReference()
sr.SetWellKnownGeogCS('WGS84')
dataset.SetGCPs(gcps_list, sr.ExportToWkt()) dst_ds = gdal.Warp(outfile, dataset, format='GTiff', tps=True,
xRes=0.01, yRes=0.01, dstNodata=-3000, srcNodata=-3000,
resampleAlg=gdal.GRIORA_Bilinear, outputType=gdal.GDT_Float32)
# print dst_ds
del dataset, gcps_list, sr if __name__ == '__main__':
main()

校正前:

python调用GDAL实现几何校正

校正后:

python调用GDAL实现几何校正

注:envi_register_doit函数校正后图像范围发生变化,而GDAL图像校正不会出现这种问题。