sisimv 2021-03-24 17:28 采纳率: 0%
浏览 597

Java 利用gdal获取高程数据 ,通过经纬度获取不到高程数据,为什么转化后的行列号不对

 经纬度如下,导入的是高德地图下载的tif文件

lon = 112.9894083333

lat  = 28.2216183333

java利用gdal转化到对应的行列号

        //图像六要素
        double[] dGeoTrans = hDataset.GetGeoTransform();
        //经纬度转行列号
        double dTemp = dGeoTrans[1] * dGeoTrans[5] - dGeoTrans[2] *dGeoTrans[4];
        int    Xline = (int)((dGeoTrans[5] * (lon - dGeoTrans[0]) -dGeoTrans[2] * (lat - dGeoTrans[3])) / dTemp + 0.5) ;
        int    Yline = (int)((dGeoTrans[1] * (lat - dGeoTrans[3]) -dGeoTrans[4] * (lon - dGeoTrans[0])) / dTemp + 0.5);

 

得到的行列号分别为 Xline =-1303716   Yline  = 348851

因为行号为负数,肯定不能正常取到高程数据点

提问

1 是否是我下载的tif图片有问题?具有高程数据的tif图片是否一定要在谷歌地图下下载。我下载的高德地图的tif,可以读取出高程数据,但是有很多异常数据255,也有很多别的高度的数据。是否有办法确定图片下载有问题?

2 如果图片没有问题,是否算法有问题,解析不出经纬度?

 

 

 

  • 写回答

1条回答 默认 最新

  • baidu_33998500 2022-12-29 14:06
    关注

    请问下,上面你经纬度转行列号,出现负数的问题,后来怎么解决的?

    评论

报告相同问题?

悬赏问题

  • ¥15 更换了一个新的win10系统,再下载VS时碰到的问题,是C++组件的?
  • ¥15 关于罗技鼠标宏lua文件的问题
  • ¥15 halcon ocr mlp 识别问题
  • ¥15 已知曲线满足正余弦函数,根据其峰值,还原出整条曲线
  • ¥20 无法创建新的堆栈防护界面
  • ¥15 sessionStorage在vue中的用法
  • ¥15 wordpress更换域名后用户图片头像不显示
  • ¥15 如何在ubunto上安装CEF (Chromium Embedded Framework),并且基于qt实现打开一个web
  • ¥30 AD9854 为什么输出波形幅度受限,AI机器人勿扰
  • ¥15 如何在ubunto上安装CEF (Chromium Embedded Framework