Получить координаты точки на дороге - PullRequest
10 голосов
/ 05 января 2010

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

Я хочу геокодировать это в пару лат / лонг. Однако я не вижу способа получить API Карт Google, Virtual Earth и т. Д. Для этого. Они с радостью геокодируют пересечение, но не расстояние. Я не могу просто прибавить 100 футов, потому что дорога не обязательно идет прямо или точно в кардинальном направлении.

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

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

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

Ответы [ 2 ]

3 голосов
/ 05 января 2010

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

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

  1. Вы можете просто добавить 100 футов и спроецировать эту точку перпендикулярно дороге? Достаточно близко?

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

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

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

2 голосов
/ 10 января 2010

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

...