python - gmaps - Bibliotecas de geocodificación
python google maps geocode (9)
El Geocoder WebGIS de USC ( https://webgis.usc.edu ) es gratuito. Tiene API a las que puede llamar desde scripts o puede cargar y procesar bases de datos (mdb, csv, etc.). Los niveles de precisión dependen de dónde están sus direcciones. Por ejemplo, en el condado de Los Ángeles, los centroides están disponibles, mientras que en otras partes del país solo están TIGER / Lines. Un mapa de cobertura de fuentes de datos de referencia no está disponible en este momento, pero está en desarrollo. Las herramientas subyacentes están planificadas para ser de código abierto en el futuro una vez que se complete el desarrollo también.
Estoy usando Python y necesito asignar ubicaciones como "Bloomington, IN" a las coordenadas GPS para poder medir distancias entre ellas. ¿Qué bibliotecas / API de codificación geográfica recomiendas? Las soluciones en otros idiomas también son bienvenidas.
El servicio web de Google es muy fácil de usar. Simplemente coloque la consulta en la URL. Para que sea aún más fácil / lazier, publicaré desvergonzadamente pygeocoder , un contenedor de Python para Google Geocoding. Entonces puedes hacer algo como
print Geocoder.geocode("Montreal, Canada")[0].coordinates
para obtener una tupla con coordenadas. También puedes hacer cosas como
Geocoder.geocode("sushi, San Francisco").count
o
Geocoder.geocode("sushi, San Francisco")[0].postal_code
La API de Google Maps admite la geocodificación , y el Python Cookbook tiene un example simple de acceso desde Python (aunque la receta no utiliza la API directamente, solo simples URL de maps.google.com).
Me encontré con http://www.geonames.org/ el otro día. En realidad, puede descargar todos los datos de los códigos postales, incluidos lat / long, etc. incluso para uso comercial para ahorrar tener que conectarse a fuentes externas. Creo que puede hacer lo mismo para los nombres de las ciudades (los datos del código postal ya tienen nombres de subrub asociados).
Algunas matemáticas sobre cómo encontrar la distancia "As The Crow Flies" - directa de un punto a otro se pueden encontrar aquí y aquí (ejemplo .NET) .
Podrías echar un vistazo a GeoLite City . Es gratis (GPL), pero dicen que no es el más preciso.
Más del 99.5% a nivel de país y 79% a nivel de ciudad para los EE. UU. Dentro de un radio de 25 millas
Eso aún puede ser adecuado para usted, según sus necesidades.
Puede usar una API web como google maps para encontrar las coordenadas. Luego, si solo necesita calcular distancias (en línea recta), existe una fórmula que puede aplicar para obtener resultados bastante precisos.
Puede ver mejor en el módulo Geopy. Y vale la pena usarlo ya que contiene mapas de Google, geocodificadores de mapas yahoo con los que puede implementar geocodificaciones.
Tanto Google como Microsoft tienen API que son muy fáciles de conectar. Hay algunas limitaciones, pero son bastante generosas. También es posible que desee ver http://geocoder.us/ . No conozco ningún servicio gratuito de geocodificación que sea bueno (¡y he dedicado tiempo a buscar!)
Geopy te permite elegir entre varios geocodificadores (incluidos Google, Yahoo, Virtual Earth).