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

16次浏览(最近30天)
我需要从点云数据集(.xyz格式)生成不同分辨率(0.01 m, 0.05 m, 0.1 m)的数字高程模型。
然后我想绘制得到的dem,以便在不同分辨率下可视化差异。
最后,我想将dem以不同的分辨率保存为。xyz文件。
我有xyz数据在本地度量坐标(不是地理),我加载它们如下:
Data = load()“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 = unique(y);
[X,Y] = meshgrid(xi,yi);
Z =重塑(Z,size(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度。
从下面的前面的代码(网格和网格数据)开始,是否有可能提取一个。txt文件与xyz坐标,以便我能够建立DEM直接在度量坐标与GIS软件?
= importdata() "input_1cm - copy .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日
我道歉。这里附上了文本格式的数据。
你能写完整的脚本,以获得例如0.1 m的DEM分辨率吗?!
谢谢你!

类别

了解更多有关地理图帮助中心文件交换

标签

社区寻宝

在MATLAB Central中寻找宝藏,并了解社区如何帮助您!

开始狩猎!

翻译的