Как выполняется геокодирование с адреса? - PullRequest
2 голосов
/ 10 марта 2012

Мне было интересно, как Google геокоды и адрес? Это работает как поиск DNS, где у них есть большая таблица адресов, которая является хешем для геокода, или есть какая-то забавная геометрия, которая входит в это? Если это большая хеш-таблица, как они собирали все эти данные?

Ответы [ 2 ]

5 голосов
/ 10 марта 2012

Busbina, я работаю на SmartyStreets , где мы проверяем и геокодируем адреса улиц - поэтому я расскажу вам все, что знаю, и свяжу вас с другими источниками для вашего собственного исследования.

Чтобы ответить на ваш вопрос: это и то и другое.

Есть поставщики массивных баз данных (например, таких как TIGER Data ), которые содержат реляционную, геополитическую информацию, включая координаты, улицы,границы и имена.Для данных из США, вероятно, можно получить как минимум точность уровня ZIP с помощью таких таблиц, просто выполнив поиск.Однако для большей точности добавьте код +4, и вы можете сузить его до городского квартала или этажа высокого здания.

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

(primary number - starting primary number) / (ending primary number) =
        (x - starting boundary coordinate) / (ending boundary coordinate)

Где x - близкое предположение к фактическомурасположение на улице - но только предположение.Точные данные на уровне здания могут быть очень дорогими, и я думаю, что они доступны только для некоторых городских районов.

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

Обратите внимание, что Google и подобные картографические сервисы выполняют только аппроксимацию адресов, но не проверку адресов, и поэтому могут ошибаться (даже если алгоритм геокодирования очень точен), потому что основной номер может быть неправильным или даже не существовать.Поэтому, когда это имеет для вас значение (или вы не показываете карту Google и должны соблюдать Условия обслуживания), что-то вроде LiveAddress в качестве отправной точки сертифицируется USPS и не вернется.плохие адреса.

Итак, есть некоторые вещи, которые следует учитывать.

Дополнительная информация:

** Я добавлю примечание, так как у меня часто возникал этот вопрос: точность на крыше или на уровне здания - очень дорогая информация.Я знаю очень мало поставщиков, которые предлагают это, и они сами добывали и собирали эти данные.Например, у Google есть проект Street View, из которого они получили точные координаты для приблизительных адресов, и они могут обеспечить такую ​​точность.Но большинство геокодеров используют одни и те же данные из официальных источников, они просто по-разному интерполируют.Если вам нужны очень точные координаты, такие как уровень здания, вы можете рассчитывать на их высокую оплату или собирать данные самостоятельно.(Да, Google бесплатен до определенного момента - если вы не собираетесь использовать эту информацию для более, чем просто показ карты, в основном.)

0 голосов
/ 28 марта 2012

Еще одна очень похожая служба - GeoNames, которая является базой данных имен местоположений, управляемой правительством США. Эта услуга лучше подходит для таких достопримечательностей, как аэропорт или ориентир. Это просто база данных имен, местоположений и некоторых метаданных.

http://www.geonames.org/

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