Почтовые индексы Великобритании -> координаты: возможно чисто в php? - PullRequest
1 голос
/ 25 июня 2010

Скажем, есть база данных mysql с этими столбцами:

| house | postcode | lat | lon |

Почтовые индексы завершены, но значения lat и lon пусты.Я хочу написать / найти скрипт, который я могу запустить один раз, чтобы заполнить таблицу.

Возможно ли это исключительно в php (какие-либо советы?) Или мне нужно использовать api javascript и $ _POST для phpфайл

Ответы [ 3 ]

2 голосов
/ 25 июня 2010

без необходимости внешнего API

Данные почтового индекса в Великобритании теперь свободно доступны из Обзора артиллерии CodePoint в виде загружаемой серии файлов CSV (февраль 2009 г.); но, к сожалению, точка местоположения хранится с использованием ориентации на север / восток, а не широты и долготы.

Вам необходимо преобразовать север / восток в широту / долготу. В Интернете есть несколько статей об этом, например,

 http://www.deepbluesky.com/blog/-/converting-os-coodinates-into-longitude-latitude_7/
 http://mediakey.dk/~cc/convert-northing-and-easting-utm-to-longitude-and-latitude/

но вы должны знать, что север / восток ОС основан на эллипсоиде Airy 1830, а не на модели WGS84, используемой картами Google (и большинством систем GSM). Неспособность учесть эту разницу может вывести вас на расстояние между 70 и 120 м между Корнуоллом и Восточной Англией.

Используя PHP, лучшее решение для этого преобразования - PHPCoord от Jonathan Stott

0 голосов
/ 25 июня 2010

Это можно сделать исключительно в PHP, полагаясь на некоторый внешний API, который предоставляет вам данные широты и долготы.

Как правило, веб-API не заботятся о языке, который работает на их клиентах. С «JavaScript API» вы, вероятно, имеете в виду сервис, который возвращает данные в некотором дружественном к JavaScript формате, например, JSON. Однако JSON не обязательно должен обрабатываться программой JavaScript; PHP-программы могут разобрать его просто отлично.

0 голосов
/ 25 июня 2010

Существует API XML / JSON, к которому PHP может обращаться через HTTP-запросы, например file_get_contents или cURL.

http://code.google.com/apis/maps/documentation/geocoding/

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