Matlab: файл формы в векторе (X, Y) в растровую матрицу - PullRequest
0 голосов
/ 27 февраля 2019

У меня проблема с преобразованием файла формы, который является границей Германии с их координатами X, Y, в растровый матричный формат той же формы.Я просто не знаю, какой метод использовать для этого случая.Я был бы благодарен, если бы кто-нибудь помог мне найти правильный способ мышления для этого приложения.

1 Ответ

0 голосов
/ 28 февраля 2019

Это может быть очень легко получено в MATLAB.Вам нужно использовать функцию inpolygon.Эта функция дает вам индексы точек, лежащих внутри, и откладывает данный полигон.Как только вы знаете индексы, вы можете получить то, что вы хотите.Вы можете проверить приведенную ниже демонстрацию:

x = [1 2 3 4 3 2]';
y = [4 5 5 4 3 3]';
k = boundary(x,y);
x0 = min(x) ; x1 = max(x) ;
y0 = min(y) ; y1 = max(y) ;
[X,Y] = meshgrid(linspace(x0,x1),linspace(y0,y1)) ;
idx = inpolygon(X(:),Y(:),x(k),y(k)) ;
X(~idx) = NaN ; 
Y(~idx) = NaN ;
plot(x,y,'.r')
hold on
patch(x(k),y(k),'k') ;
plot(X(idx),Y(idx),'.r')

Просто замените (x, y) выше на ваши координаты файла формы, вы получите то, что вы хотите.

...