通过GetGeoTransform(dGeoTrans)获取仿射信息,网上的各种版本都有,
我测试的下面方法是正确的,如果有错误的地方欢迎留言
1、行列坐标转换地理坐标(两种方法结果一样)
第一种方法:
double lon = m_trans[0] + Xpixel * m_trans[1];
double lat = m_trans[3] + Yline * m_trans[5];
第二种方法:
Xp = dGeoTrans [0] +Xpixel*dGeoTrans [1]+Yline*dGeoTrans [2];
Yp = dGeoTrans [3] + Xpixel*dGeoTrans [4] + Yline*dGeoTrans[5];
2、地理坐标转换行列坐标
double dTemp = dGeoTrans[1] * dGeoTrans[5] - dGeoTrans[2] *dGeoTrans[4];
Xpixel= (dGeoTrans[5] * (Xp - dGeoTrans[0]) -dGeoTrans[2] * (Yp - dGeoTrans[3])) / dTemp + 0.5;
Yline = (dGeoTrans[1] * (Yp - dGeoTrans[3]) -dGeoTrans[4] * (Xp - dGeoTrans[0])) / dTemp + 0.5;
影像经纬度与行列号互相转换
于 2024-03-22 14:11:18 首次发布