Найти ближайшую линию

0 голосов
спросил 24 Ноя, 09 от -3A- (5,220 баллов) в категории Программные продукты Esri
Как через ArcObjects выполнить следующую задачу?

Есть полигон, нужно найти ближайшие к нему полилинии (радиус поиска задается неким числом, пусть это будет 100м).

Для упрощения задачи можно найти ближайшие полилинии от какой-то из точек полигона (первой, последней точки, центра масс - это уже не столь важно) через мнинимальные длины перпендикуляров к сегментам полилиний.

Чтобы было понятней: есть дом (только что ввели на план), нужно найти ближайшие к этому дому улицы и выбрать из них самую близкую image

Как-то можно решить это через ArcObjects или нужно писать логику врукопашную?

4 Ответы

0 голосов
ответил 24 Ноя, 09 от gorxgor (340 баллов)
Можно попробовать в фичаклассе с улицами поискать с помощью ISpatialFilter используя увеличенную на 100м. геометрию дома, а потом в полученныхрезультатах найти ближайшую.
0 голосов
ответил 25 Ноя, 09 от -3A- (5,220 баллов)
gorxgor
примерно это и мне в голову пришло
ладно, в принципе, пойдет в данном случае image
0 голосов
ответил 25 Ноя, 09 от ppa80 (920 баллов)
Можно ещё покопать в сторону IIndexQuery.NearestFeature
0 голосов
ответил 25 Ноя, 09 от -3A- (5,220 баллов)
ppa80
ага, покурю и в этом направлении

спасибо image

вариант с IIndexQuery дал вполне удовлетворительные результаты

так что еще раз спасибо
    
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...