У меня есть куча «местоположений» – некоторые из них точны (gaborone, botswana), некоторые – геокоды (40,75, -73,997), а некоторые абсолютно бесполезны (#siliconcape). Мне нужно найти способ запустить список и определить город и страну каждой строки и геокода и вернуть нули для недопустимых местоположений.
Существует ли какая-то библиотека / service / api / method, которая может использоваться для определения того, является ли данная строка действительным географическим положением? При учете опечаток, ошибок при заказе и т. Д.?
Вероятно, самым простым методом было бы использовать что-то вроде Google Geocoding API . Он возьмет строку и попытается разобрать ее на место. Вы можете получить результат как XML, JSON, CSV.
Вот пример CSV-вывода:
input : gaborone, botswana output: 200,4,-24.6541100,25.9087390 input : #siliconcape output: 602,0,0,0 input : 40.75,-73.997 output: 200,8,"324 W 30th St, New York, NY 10001, USA"
Я думаю, что нашел решение – просто поделись им здесь, если кому-то это понадобится:
Используйте геокодирование API Карт Google – отправьте его адреса и получите координаты. Подробности для этого через PHP: http://www.phpriot.com/articles/google-maps-geocoding/