【发布时间】:2021-12-23 17:29:09
【问题描述】:
我从网站(例如https://drive.google.com/file/d/1OiFy-vLq9CvVeqNg9VogmxSPOMcpcD1W/view?usp=sharing)下载了地形数据并获得了数据。对 *_DCM.tif 格式特别感兴趣,据我了解,它存储关于点的数据 - 经度、纬度和高度。
使用 gdal 我可以将文件转换为 .XYZ 文件并获取数据,但是文件太大了。
在这方面,2个问题:
- 是否可以通过某种方式解析 tif 文件并获取此数据?
- 是否可以以编程方式将 .tif 转换为 .XYZ 并使用接收到的数据?
我已经查看了哪些库:
https://github.com/chai2010/tiff/tree/master/examples
https://github.com/lukeroth/gdal/blob/master/examples/tiff/tiff.go
https://github.com/airbusgeo/godal/blob/main/doc_test.go
https://pkg.go.dev/github.com/rwcarlsen/goexif/exif
https://pkg.go.dev/github.com/evanoberholster/imagemeta
更新:
我找到了 gdallocationinfo 方法。例如,我已将所有 tiff 文件转换为 VRT 并正在使用它:gdallocationinfo -xml -wgs84 dsm-mosaic.vrt 28.000139 50.999861
我需要“价值” - 高度
但是我无论如何都找不到在 Golang 上的实现。我也尝试用 Python 重写代码,但没有成功。
有人告诉我,从代码中调用控制台命令是个坏主意。
如果有人知道如何获取经纬度信息,那我就是gdal :)
【问题讨论】: