在遙感影像中,地理座標的信息異常重要,但是對於numpy array數據來說,沒有地理位置信息的,因此如果需要地理信息的情況下,如果再將遙感影像作爲普通多波段RGB影像來進行處理就有點不合適了,那怎麼合適呢?我就來了。。。。(歡呼)
使用gdal的第一步,就需要安裝gdal,安裝教程在:gdal安裝教程
爲一張無地理信息的遙感影像添加地理信息,一個函數就可以呀!
from osgeo import osr, gdal
def assign_spatial_reference_byfile(src_path, dst_path):
src_ds = gdal.Open(src_path, gdal.GA_ReadOnly)
sr = osr.SpatialReference()
sr.ImportFromWkt(src_ds.GetProjectionRef())
geoTransform = src_ds.GetGeoTransform()
dst_ds = gdal.Open(dst_path, gdal.GA_Update)
dst_ds.SetProjection(sr.ExportToWkt())
dst_ds.SetGeoTransform(geoTransform)
dst_ds = None
src_ds = None
src_path = 'F:/yi_2009.tif'
dst_path = 'C:/Users/Dell/Desktop/gg_building.tif'
assign_spatial_reference_byfile(src_path, dst_path)
調用方法非常簡單,src_path爲帶地理座標的影像,dst_path爲無地理信息的遙感影像,當然轉完的影像dst_path與src_path的地理座標是一致的。