利用GetGeoTransfrom函数可以获得图像中任意一点的地理坐标。
1、示例代码:
#include "gdal_priv.h"
...
...
\\打开遥感影像文件
GDALDataset *ds = (GDALDataset*)GDALOpen(filename, GA_ReadOnly);
\\geoTransform共包括6个参数
double geoTransform[6];
\\获取geoTransform参数
ds->GetGeoTransform(geoTransform);
2、geoTransform的含义
影像左上角横坐标:geoTransform[0]
影像左上角纵坐标:geoTransform[3]
遥感图像的水平空间分辨率为geoTransform[1]
遥感图像的垂直空间分辨率为geoTransform[5]
通常geoTransform[5] 与 geoTransform[1]相等
如果遥感影像方向没有发生旋转,即上北、下南,则
geoTransform[2] 与 row *geoTransform[4] 为零。
3、计算图像地理坐标
若图像中某一点的行数和列数分别为:row, column
则该点的地理坐标为:
xGeo = geoTransform[0] + column * geoTransform[1] + row * geoTransform[2]
yGeo = geoTransform[3] + column * geoTransform[4] + row * geoTransform[5]