0

我想使用 matlab 将形状文件转换为栅格网格。首先我尝试用 Python 来做,但我遇到了一些困难,我的上级建议我使用 MATLAB。我随机使用matlab,我是其中的专家。

我拥有的数据是一个 ASCII 文件,其中包含一组带有坐标的点,我想从它们创建一个栅格网格。

我在想我可以读取数据,从数据中创建一个大小为 (xmin,ymin,xmax,ymax) 的空矩阵。然后我应该根据对应点的坐标将z值分配给每个网格单元。

网格大小应为 0.5m 。我复制了一部分数据供您参考。如果有人帮助我为这个应用程序找到正确的思维方式,我将不胜感激。

32511632.00 5402000.00 354.29 17.50
32511632.50 5402000.00 354.29 17.50
32511633.00 5402000.00 354.35 18.00
32511633.50 5402000.00 354.52 15.75
32511634.00 5402000.00 354.70 12.37
32511634.50 5402000.00 354.61 10.62
32511635.00 5402000.00 354.11 8.50
32511635.50 5402000.00 353.43 9.50
32511636.00 5402000.00 352.72 14.25
32511636.50 5402000.00 352.22 17.62

(第一列是 X,第二列是 Y,第三列是 Z,属性中的最后一列)

4

1 回答 1

0
isize = floor((ymax - ymin) / 0.5) + 1;
jsize = floor((xmax - xmin) / 0.5) + 1
M=zeros(isize, jsize);

然后对于每个输入行:

i = floor((y - ymin) / 0.5) + 1;
j = floor((x - xmin) / 0.5) + 1;
M(i, j) = z;
于 2013-05-14T14:33:00.060 回答