我想使用matlab将形状文件转换为栅格网格。首先我尝试用Python做,但我遇到了一些困难,我的上级建议我使用MATLAB。我随机使用matlab,我是专业人士。
我拥有的数据是一个ASCII文件,其中包含一组带坐标的点,我想从中创建一个栅格网格。
我想我可以读取数据,从数据中创建一个大小为(xmin,ymin,xmax,ymax)的空矩阵。然后我应该根据相应点的坐标为每个网格单元分配z值。
网格大小应为0.5米。我复制了一部分数据供您考虑。如果有人帮助我为这个应用程序找到正确的思考方式,我将感激不尽。
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,属性中是最后一列)
答案 0 :(得分: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;