преобразовать файл формы в растр в Matlab

Я хотел бы преобразовать файл формы в растровую сетку с помощью 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 и последний - в атрибуте)


person user2355306    schedule 14.05.2013    source источник


Ответы (1)


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;
person Bull    schedule 14.05.2013
comment
Думаю, проблема с размером M amtrix. поскольку в файле около 569188 столбцов, что означает то же число для значений X, Y и Z, хотя размер M равен (1620,742) - person user2355306; 14.05.2013
comment
Попробуйте прочитать это: mathworks.com.au/support/solutions/en/data/1-FA7L9M/ - person Bull; 14.05.2013
comment
Уважаемый user2151446: Большое спасибо за ваше руководство. Теперь проблема решена с помощью линейного индексирования :) - person user2355306; 15.05.2013