Как получить адрес из почтового индекса

Возможный дубликат:
Великобритания Поиск адреса Royal Mail PAF с помощью альтернативных почтовых индексов?

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


person MJQ    schedule 01.10.2012    source источник
comment
Взгляните на систему Royalmail PAF   -  person BugFinder    schedule 01.10.2012
comment
Какие страны вам нужно поддержать?   -  person Rowland Shaw    schedule 01.10.2012
comment
Или посмотрите на Open CodePoint от Ordnance Survey.   -  person Mark Baker    schedule 01.10.2012
comment
Вам нужно будет вызвать стороннюю веб-службу для выполнения поиска. Если вы находитесь в Великобритании, Royal Mail PAF, вероятно, будет самым точным, но не самым дешевым.   -  person Alister Bulman    schedule 01.10.2012
comment
Кодовая точка @MarkBaker даст вам почтовый индекс -> положение, но не почтовый индекс -> почтовый адрес.   -  person Rowland Shaw    schedule 01.10.2012
comment
@Rowland - да, я забыл, что ваниль не делает этого дополнительного шага - я использовал свое собственное расширение для основных данных для обработки поиска адреса улицы   -  person Mark Baker    schedule 01.10.2012
comment
@MarkBaker Я думал, что я единственный псих, который попробовал это ... Вы писали в блоге о том, как вы преодолели некоторые проблемы с двусмысленностью?   -  person Rowland Shaw    schedule 01.10.2012
comment
@Rowland - требуется псих, чтобы распознать психа :) - я не веду блог, но, объединив почтовый индекс с широтой/долготой со справочником Open CodePoint, я получил довольно высокую точность (более 98%), совпадающую с ближайшая начальная/конечная/средняя точка (жаль, что географический справочник не является более подробным, как строка узлов, а не просто набор данных из 3 точек для дорог)   -  person Mark Baker    schedule 01.10.2012
comment
@Rowland - я предложил это в качестве доклада на PHPLondon 2012, но они не приняли его, но я могу попробовать выдвинуть его на других конференциях PHP.   -  person Mark Baker    schedule 01.10.2012


Ответы (1)


Мне удалось успешно использовать бесплатную базу данных Geolite, предлагаемую MaxMind. Он поставляется как CSV и SQLite, оба доступны для PHP.

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

И использование выходит далеко за рамки поиска адреса.

РЕДАКТИРОВАТЬ: чтобы получить фактический почтовый адрес, вам «возможно» потребуется отправить lat-long другой службе. GeoLite дает широту и длину почтового индекса, почтовый адрес имеет почтовый индекс, но почтовые индексы имеют много уличных адресов, так что это более сложный поиск.

Отказ от ответственности: я никоим образом не связан с MaxMind. Просто обнаружил, что это отличный ресурс.

person Andrew Grothe    schedule 01.10.2012
comment
В некоторых регионах улица может иметь много почтовых индексов, а почтовый индекс - только одну улицу. - person Rowland Shaw; 01.10.2012
comment
@RowlandShaw, правда. Длинные улицы как бы портят вещи, не так ли? :) В любом случае, получение окончательного адреса только по почтовому индексу не является точной наукой. - person Andrew Grothe; 01.10.2012