Как только Shapefile импортирован в Matlab, Как использовать данные долготы и широты из созданной структуры - PullRequest
0 голосов
/ 05 апреля 2020

Я создал shapef ie из элемента портала в Ar c GIS. Итак, на Matlab у меня есть эта карта, которая показывает многоугольники, выделенные в пределах NY C: MapNY C

Шейп-файл, который я имею, называется "Sewershed.shp". В Matlab я набираю:

shaperead('Sewershed');

Затем я получаю структуру 17x1 17x1 Структура

Итак, заголовок "Ограничение" Поле "- это границы долготы и широты, определяющие канализационные коллекторы (под заголовком" SewerShed "). Полигоны на карте, которую я показал выше, - это контуры канализационного сарая.

Теперь у меня есть таблица Excel, в которой перечислены элементы, определенные по широте долготы. Мне нужно определить, к какому канализационному сараю относится каждый предмет. Изображение таблицы Excel

Буду признателен за любую помощь в этом!

Жозефина

1 Ответ

0 голосов
/ 05 апреля 2020

при условии, что ваша запись в ограничивающей коробке имеет [x0,y0, x1,y1], где x0-x1 - это диапазон долготы, а y0-y1 - это диапазон вашей широты. Если у вас есть новая координата newpt=[long1, lat1], вам просто нужно сравнить long1 с x0-x1 и lat1 с y0-y1 и найти записи, к которым они принадлежат.

вот мой пример теста код

mydata(1).BoundingBox=[1,2,5,7]
mydata(2).BoundingBox=[2,3,6,9];
mydata(3).BoundingBox=[7,1,8,20];
bbx=cell2mat({mydata(:).BoundingBox}')

newpt=[4,3]
find(newpt(1)>=bbx(:,1) & newpt(1)<=bbx(:,3) & newpt(2)>=bbx(:,2) & newpt(2)<=bbx(:,4))
...