Определите, является ли строка допустимым географическим местоположением - PullRequest
4 голосов
/ 02 февраля 2010

У меня есть куча «локаций» - некоторые точные (габороне, ботсвана), некоторые геокоды (40.75, -73.997), а некоторые совершенно бесполезны (#siliconcape). Мне нужно найти способ пробежаться по списку и определить город и страну для каждой строки и геокода и вернуть нулевые значения для недопустимых местоположений.

Существует ли какая-либо библиотека / служба / API / метод, который можно использовать для определения, представляет ли данная строка действительное географическое местоположение? При учете опечаток, ошибок при оформлении заказа и т. Д.

Ответы [ 2 ]

9 голосов
/ 02 февраля 2010

Вероятно, самый простой способ - использовать что-то вроде 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"
0 голосов
/ 02 февраля 2010

Я думаю, что нашел решение - просто поделитесь им здесь на тот случай, если кому-то еще это понадобится:

Используйте геокодирование API Карт Google - введите адреса и получите координаты.Детали для этого через PHP: http://www.phpriot.com/articles/google-maps-geocoding/

...