gdal_grid线性产生奇数结果

时间:2018-02-01 23:01:10

标签: raster shapefile gdal linear-interpolation geotiff

我从LiDAR las文件中获得了一个大的Point shapefile(xyz,大约65,000个点),并尝试使用gdal_grid将其插入到网格中:

gdal_grid -ot Float64 
          -txe  422306.5970  422343.9970 
          -tye 4037022.9899 4036967.3399 
          -outsize 747 1112
          -a linear:radius=0:nodata=0
          in.shp out.tif

这样运行时没有错误,并生成一个看起来像下面第一张图片的地图。您会注意到三角形图案,就好像大多数点被忽略一样。这个有趣的图像中的值在它们应该是的<1之内,所以gdal_grid似乎正在适当地读取z字段,它只是缺少它看起来的大多数点。如果我尝试invdist或平均值,保持其他所有相同,问题就会消失,网格看起来应该是这样(参见具有相同色标的第二张图像)。在这个例子中,变化在1091和1093之间。我尝试缩放Z以使shapefile中的变化更大并且仍然发现相同的问题。我也尝试了-z_multiply和-z_increase无济于事。不幸的是,我需要双线性插值,所以我陷入了僵局。有什么想法吗?

not working

我只通过将插值方法更改为invdist来获得下面的输出:

gdal_grid -ot Float64 
          -txe  422306.5970  422343.9970 
          -tye 4037022.9899 4036967.3399 
          -outsize 747 1112
          -a invdist:radius1=1:radius2=1
          in.shp out.tif

working

1 个答案:

答案 0 :(得分:0)

很抱歉,迟到了,但是我遇到了同样的问题,找不到任何解释。 然后我注意到OP和我的数据集的原始参数都很高。

我对这种Delaunay算法的具体实现一无所知,但我的猜测是,对于X,Y的微小变化(与每个点的绝对空间位置相比很小,不确定比率是多少)并以较大的三角形表示,因此失去了细节和精度。

您可以清楚地看到用绝对值的点云进行插值与使用相对值的点云进行插值的区别:

result of gdal_grid with original parameters:

result of gdal_grid with (0,0) as origin

我通过从原始点中删除固定偏移量,进行插值然后添加相同的偏移量来解决。

我希望这会有所帮助。