这个:
gdallocationinfo -valonly -wgs84 file longitude latitude
提供文件中已解析像素的值。
有没有
gdal
可以从相邻像素提供插值的函数? 例如,这些调用读取伦敦格林威治公园的海拔:
gdallocationinfo -wgs84 srtm_36_02.tif 0 51.4779
47
gdallocationinfo -wgs84 srtm_36_02.tif 0 51.4780
37
对于向北约 11 米的 0.0001° 运动,海拔下降 10 米。
文件中的像素相当粗糙——相当于地面上大约 80 米。我想得到更平滑的值,而不是突然的大跳跃。
我目前使用的解决方法是使用此转换以四倍的分辨率重新采样源文件:
gdalwarp -ts 24004 24004 -r cubicspline srtm_36_02.tif srtm_36_02_cubicspline_x4.tiff
与以前使用新文件相同的位置的海拔请求:
gdallocationinfo -wgs84 srtm_36_02_cubicspline_x4.tiff 0 51.4779
43
gdallocationinfo -wgs84 srtm_36_02_cubicspline_x4.tiff 0 51.4780
41
这要好得多,因为只有 2 米的跳跃。
这种方法的缺点是生成更高分辨率的文件需要几分钟,但主要问题是文件大小从 69MB 变为 1.1GB。
我很惊讶重采样不是
gdallocationinfo
的直接选择,或者也许我可以使用另一种方法?
最佳答案
您可以尝试从 gdalwarp
获取 1 像素的栅格。 .这将使用所有经线重采样机制,对 ram/cpu/disk 的影响最小。我将尝试这个(在 Python 程序中,因为计算对于 shell 脚本来说可能有点过于复杂)。
关于gdal - 来自 gdallocationinfo 的插值结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51592931/