public static double GetElevation(OSGeo.GDAL.Dataset ds, double dProjX, double dProjY)
{
try
{
Band Band = ds.GetRasterBand(1);
//获取图像的尺寸
int width = Band.XSize;
int height = Band.YSize;
//获取坐标变换系数
double[] adfGeoTransform = new double[6];
ds.GetGeoTransform(adfGeoTransform);
//获取行列号
double dTemp = adfGeoTransform[1] * adfGeoTransform[5] - adfGeoTransform[2] * adfGeoTransform[4];
double dCol = 0.0, dRow = 0.0;
dCol = (adfGeoTransform[5] * (dProjX - adfGeoTransform[0]) -
adfGeoTransform[2] * (dProjY - adfGeoTransform[3])) / dTemp + 0.5;
dRow = (adfGeoTransform[1] * (dProjY - adfGeoTransform[3]) -
adfGeoTransform[4] * (dProjX - ad
GDAL通过地理坐标获取所在位置高程值(数据源为DEM)
最新推荐文章于 2024-10-31 14:22:38 发布