MapPoint 2010- расстояние между общим объектом, таким как река, и назначенными кнопками
Есть ли способ найти расстояние от общей зоны, такой как река или государственная граница, и установочные штифты, которые я установил? Я пытаюсь сузить все кнопки в пределах 1/4 мили от границы, но рисование кругов не очень помогает. Есть ли способ сделать это?
2 ответа
Я не знаю MapPoint 2010, но в целом ГИС решает эту проблему как минимум двумя способами:
Функция расстояния между полилинией (например, граница, река) и точкой: она находит ближайший отрезок линии к точке и возвращает расстояние до нее (ваш вопрос точно). Если вам не повезло, вы получите только расстояние от центроида полилинии, что не поможет.
Создайте буферный многоугольник вокруг полилинии и проверьте, попадает ли точка в него.
В терминах MapPoint это звучит так, как будто вам нужно выбрать границу и "найти близлежащие места" с опцией "вокруг маршрута" (доступно, если вы выбрали определенные объекты.)
Нет, MapPoint не отображает реки, границы и дороги как объекты в API. Что вы можете сделать, это найти расстояние по прямой линии (большой круг) между канцелярскими кнопками, фигурами, маршрутами, сегментами маршрутов и объектами Location.
Таким образом, если у вас есть фигура полилинии (открытая форма "произвольной формы"), вы можете измерить расстояние от нее до метки. После этого вы можете вычислить свой собственный буферный полигон в памяти, сделать простое сравнение для сравнения буфера.
РЕДАКТИРОВАТЬ: метод DistanceTo можно использовать для кнопок, местоположений и сегментов маршрута. Для фигур вам нужно будет работать с вершинами напрямую. В 2010 (2006 и более поздних версиях) свойства Долгота, Широта гарантированно будут установлены, поэтому вы можете выполнить некоторые геометрические вычисления непосредственно с ними.