Получить координаты точки на дороге
-
18-09-2019 - |
Вопрос
У меня есть диапазон, определяемый пересечением и расстоянием в несколько футов от пересечения.(например.В 100 футах к северу от Вашингтон-стрит.и 5-я ул.до 300 футов к югу от Вашингтон-стрит.и 6-я улица)
Я хочу геокодировать это в пару широты и долготы.Однако я не вижу способа получить API Карт Google, Виртуальную Землю и т. д.сделать это.Они с радостью геокодируют перекресток, но не расстояние до него.Я не могу просто добавить 100 футов, потому что дорога не обязательно идет строго прямо или строго по сторонам света.
Я пытался получить ломаную линию, описывающую дорогу, но мне не удалось получить ее ни из Google, ни из VEarth.Я посмотрел TIGER/LINE по данным переписи населения США, но их данные очень неточны.
Может ли кто-нибудь подсказать, как это геокодировать?Это для общедоступной карты, поэтому любые бесплатные API от Google, Microsoft и т. д.все должно быть в порядке.
В конечном счете, кстати, я ищу реальный адрес, а не координаты.Я хочу знать, что диапазон в примере, который я привел выше, например, будет от 508 до 563 Вашингтон-стрит.
Решение 2
В итоге я применил другой подход — вместо геокодирования номеров домов я использую процентное соотношение улицы.Поэтому я могу обойтись без расчета длины улицы, а затем определения того, насколько далеко вверх по улице находятся геокодированные координаты.
Другие советы
Пища для размышления. Я не знаю, какое у вас приложение, но помните, что точность типичного GPS-устройства составляет 10 метров (около 33 футов).Возможно ли, что вы пытаетесь сделать это более точным, чем необходимо?
Возможные решения
Можете ли вы просто добавить 100 футов и спроецировать эту точку перпендикулярно дороге?Достаточно близко?
Захватите перекрёсток.Пройдите первый сегмент.Если его длина < 100 футов, возьмите второй сегмент и так далее, пока не окажетесь на расстоянии 100 футов от перекрестка, измеренного вдоль дороги.Вам нужно будет добавить соответствующие проверки/посчитать, чтобы определить, где на сегменте находится фактическая отметка в 100 футов.
Летом я использовал второй метод и посмотрим, смогу ли я найти пример кода.Хотя никаких обещаний.
№3 – Захватите перекрёсток.Получите направление первого сегмента и используйте геометрию координат, чтобы вычислить точку на расстоянии 100 футов вдоль улицы под заданным углом.Предполагается, что улица не имеет никаких отклонений, в противном случае используйте № 2.