Получить координаты точки на дороге

У меня есть диапазон, определяемый пересечением и на расстоянии нескольких футов от пересечения. (например, в 100 футах к северу от ст. Вашингтона и 5-й улицы до 300 футов к югу от ст. Вашингтон и 6-й ст.).

Я ищу геокодирование в пару lat/long. Тем не менее, я не вижу никакого способа получить API Карт Google или Виртуальную Землю и т.д., Чтобы сделать это. Они будут счастливо геокодировать пересечение, но не расстояние. Я не могу просто добавить 100 футов, потому что дорога не обязательно идет ровно прямо или точно в кардинальном направлении.

Я исследовал получение полилинии, описывающей дорогу, но мне не очень повезло с получением этого из Google/VEarth. Я просмотрел TIGER/LINE из переписи населения США, но их данные очень неточно.

Может ли кто-нибудь сделать предложение о том, как геокодировать это? Это для открытой карты, поэтому любой бесплатный API от Google, Microsoft и т.д. Должен быть в порядке.

В конечном счете, кстати, я ищу фактический адрес улицы, а не координаты. Я хочу знать, что диапазон в приведенном выше примере, например, будет от 508 до 563 Washington St.

Ответ 1

В итоге я решил использовать другой подход - вместо геокодирования к номерам домов, я использую проценты на улице. Поэтому я могу уйти с вычислением длины улицы, а затем определить, насколько далеко по улице расположены геокодированные координаты.

Ответ 2

Пища для размышлений - я не знаю, что ваше приложение, но помните, что точность типичного устройства GPS составляет 10 метров (около 33 футов). Возможно ли, что вы пытаетесь сделать это более точным, чем необходимо?

Возможные решения

  • Можете ли вы просто добавить 100 футов и проецировать эту точку перпендикулярно дороге? Достаточно достаточно?

  • Возьмите пересечение. Пройдите первый сегмент. Если его длина < 100 футов, захватите сегмент scond и т.д., Пока вы не достигнете 100 футов от пересечения, измеренного вдоль дороги. Вам нужно будет добавить соответствующие проверки/выполнить некоторую математику, чтобы определить, где по сегменту падает фактическая отметка 100 '.

Я использовал второй метод в течение лета и увижу, могу ли я найти образец кода. Нет promises, хотя.

# 3 - Возьмите пересечение. Получите подшипник первого сегмента и используйте координатную геометрию, чтобы вычислить точку 100 футов вдоль улицы под заданным углом. Это предполагает, что на улице нет прогибов, иначе используйте # 2.