python调用GDAL实现几何校正

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

 1 def main():
 2 
 3     infile = "F:\Temp_Data\MOD13A2_20180610_H23V04_NDVI.tif"
 4     outfile = "F:\Temp_Data\MOD13A2_20180610_H23V04_NDVI_GEO.tif"
 5 
 6     dataset = gdal.Open(infile, gdal.GA_Update)
 7     gcps_list = [gdal.GCP(77.760364, 50.00, 0, 0, 0),
 8                  gdal.GCP(93.330364, 50.00, 0, 1199, 0),
 9                  gdal.GCP(78.320364, 40.01, 0, 1199, 1199),
10                  gdal.GCP(65.270364, 40.01, 0, 0, 1199)]
11     sr = osr.SpatialReference()
12     sr.SetWellKnownGeogCS('WGS84')
13     dataset.SetGCPs(gcps_list, sr.ExportToWkt())
14 
15     dst_ds = gdal.Warp(outfile, dataset, format='GTiff', tps=True,
16                        xRes=0.01, yRes=0.01, dstNodata=-3000, srcNodata=-3000,
17                        resampleAlg=gdal.GRIORA_Bilinear, outputType=gdal.GDT_Float32)
18     # print dst_ds
19     del dataset, gcps_list, sr
20 
21 
22 if __name__ == '__main__':
23     main()

校正前:

校正后:

 

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

原文地址:https://www.cnblogs.com/jkmlscy/p/10382668.html