Поддержки Google Maps API , геокодирующие , и Поваренная книга Python, имеют простое пример из доступа к нему из Python (хотя рецепт не использует API непосредственно, просто простые URL maps.google.com).
Geopy позволяет Вам выбрать от нескольких геокодеров (включая Google, Yahoo, Виртуальную Землю).
И Google и Microsoft имеют API, в которые очень легко сцепить. Существуют некоторые ограничения, но они довольно щедры. Вы могли бы также хотеть посмотреть http://geocoder.us/ . Я не знаю, что любое свободное геокодирует сервисы, которые хорошо работают (и я провел время, смотря!)
Вы могли смотреть на Город GeoLite . Это свободно (GPL), но они говорят, что это не является самым точным.
более чем 99,5% на уровне страны и 79% на городском уровне для США в 25-мильном радиусе
, Который все еще мог бы подойти Вам, в зависимости от Ваших потребностей.
Можно использовать веб-API как карты Google для нахождения координат. Тогда, если просто необходимо вычислить расстояния (в прямой линии), существует формула , которую можно применить для получения довольно точных результатов.
Геокодер USC WebGIS ( https://webgis.usc.edu) свободен. Это имеет API, который можно назвать из сценариев, или можно загрузить и обработать базы данных (mdb, csv, и т.д.). Уровни точности зависят от того, где Ваши адреса. Например, в центроидах пакета округа Лос-Анджелес доступны, в то время как в других частях страны только ТИГР/СТРОКИ. Карта покрытия источников справочных данных не доступна в это время, но находится в разработке. Базовые инструменты планируются, чтобы быть открыто полученными в будущем еще раз, разработка завершается также.
Я столкнулся http://www.geonames.org/ на днях. Можно на самом деле загрузить все данные для почтовых индексов, включая lat / долго и т.д. даже для использования commericial для сохранения необходимости соединиться с внешними источниками. Я думаю, что можно сделать то же для названий города (данные кода сообщения имеют уже, подпротирают имена, связанные с ним).
Некоторая математика при нахождении расстояния "По прямой" - непосредственно от точка-точка может быть найдена здесь и здесь (пример.NET) .
Вы можете лучше посмотреть в модуле Geopy, и этого достаточно, так как он содержит Google map, yahoo map geocoders, с помощью которых вы можете реализовать геокодирование.