如何从.xyz文件建立一个特定分辨率的数字高程模型?

21次浏览(过去30天)
我需要从点云数据集(.xyz格式)生成不同分辨率(0.01 m, 0.05 m, 0.1 m)的数字高程模型。
然后我想绘制得到的dem,以便可视化不同分辨率下的差异。
最后,我想将不同分辨率的dem保存为.xyz文件。
我有xyz数据在本地度量坐标(不是地理),我加载它们如下:
数据=负载(“pointcloud_3D.xyz”);
X = data(:,1);
Y = data(:,2);
Z = data(:,3);
清晰的数据
zzero = z-min (z);
提前感谢您的帮助。

接受的答案

KSSV”class=
KSSV 2020年8月31日
这取决于您的数据是否被网格化。设A为m*3数据。检查以下选项继续:
x = A(:,1);y = A(:,2);z = A(:,3);
% %结构化
Yi =唯一的(y);
[X,Y] = meshgrid(xi,yi);
Z =重塑(Z,大小(X));
数字
冲浪(X, Y, Z)
并使用interp2进行插值。
% %非结构化
dt = delaunayTriangulation(x,y);
Tri = dt。ConnectivityList;
数字
trisurf(三,x, y, z)
并使用分散插值。
14日的评论
Torcuato点”class=
Torcuato点 2020年9月8日
转置I总是有变形,但geotiff被转了90度。
从下面的代码(meshgrid和griddata)开始,是否有可能提取一个带有xyz坐标的.txt文件,以便我能够直接用GIS软件在公制坐标中构建DEM ?
数据= importdata( "input_1cm - Copia.txt" );
X = data(:,1);Y = data(:,2);Z = data(:,3);
Dr = 0.01; %的决议
Yi = min(y):dr:max(y);
[X,Y] = meshgrid(xi,yi);
Z = griddata(x,y, Z, x,y);
pcolor (X, Y, Z)
阴影 插值函数
colorbar

登录评论。

更多答案(1)

Torcuato点”class=
Torcuato点 2020年9月1日
编辑:Torcuato点 2020年9月1日
我道歉。这里附上txt格式的数据。
你能不能把整个脚本写下来,比如得到0.1 m的DEM分辨率?!
谢谢你!

标签

社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!

翻译的