Por ejemplo, si tenemos este conjunto de coordenadas
"latitude": 48.858844300000001,
"longitude": 2.2943506,
¿Cómo podemos averiguar la ciudad / país?
geolocation
geocoding
geospatial
geo
ming yeow
fuente
fuente
Respuestas:
La API gratuita de Google Geocoding proporciona este servicio a través de una API HTTP REST. Tenga en cuenta que la API es de uso y tasa limitada , pero puede pagar por acceso ilimitado.
Pruebe este enlace para ver un ejemplo de la salida (esto está en json, la salida también está disponible en XML)
https://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&sensor=true
fuente
Otra opción:
Ventajas:
Desventajas
fuente
Necesitas
geopy
y entonces:
para obtener más información:
fuente
Una alternativa de código abierto es Nominatim de Open Street Map. Todo lo que tiene que hacer es configurar las variables en una URL y devolverá la ciudad / país de esa ubicación. Consulte el siguiente enlace para obtener documentación oficial: Nominatim
fuente
Estaba buscando una funcionalidad similar y vi los datos " http://download.geonames.org/export/dump/ " compartidos en una respuesta anterior (gracias por compartir, es una excelente fuente), e implementé un servicio basado en los datos de cities1000.txt.
Puedes verlo corriendo en
http://scatter-otl.rhcloud.com/location?lat=36&long=-78.9(enlace roto) Simplemente cambie la latitud y longitud de sus ubicaciones.Se implementa en OpenShift (plataforma RedHat). La primera llamada después de un largo período de inactividad puede llevar algún tiempo, pero generalmente el rendimiento es satisfactorio. Siéntase libre de usar este servicio como desee ...
Además, puede encontrar la fuente del proyecto en https://github.com/turgos/Location .
fuente
He usado Geocoder , una buena biblioteca de Python que admite múltiples proveedores, incluidos Google, Geonames y OpenStreetMaps, por mencionar solo algunos . Intenté usar la biblioteca GeoPy, y a menudo se agota el tiempo de espera. Desarrollar su propio código para GeoNames no es el mejor uso de su tiempo y puede terminar obteniendo código inestable. Geocoder es muy simple de usar en mi experiencia, y tiene suficiente documentación . A continuación se muestra un código de ejemplo para buscar ciudad por latitud y longitud, o encontrar latitud / longitud por nombre de ciudad.
fuente
geocoder
eso, ¡también me gustaría probarlo!Pasé unos 30 minutos tratando de encontrar un ejemplo de código de cómo hacer esto en Javascript. No pude encontrar una respuesta rápida y clara a la pregunta que publicó. Entonces ... hice el mío. Esperemos que las personas puedan usar esto sin tener que buscar en la API o mirar el código que no tienen idea de cómo leer. Ja, si nada más, puedo hacer referencia a esta publicación para mis propias cosas. ¡Buena pregunta y gracias por el foro de discusión!
Esto está utilizando la API de Google.
.
fuente
Sé que esta pregunta es muy antigua, pero he estado trabajando en el mismo problema y encontré un paquete extremadamente eficiente y conveniente
reverse_geocoder
, creado por Ajay Thampi. El código está disponible aquí. . Se basa en una implementación paralela de árboles KD que es extremadamente eficiente para grandes cantidades de puntos (me tomó unos segundos obtener 100,000 puntos.Se basa en esta base de datos, ya resaltada por @turgos.
Si su tarea es encontrar rápidamente el país y la ciudad de una lista de coordenadas, esta es una gran herramienta.
fuente
Realmente depende de las restricciones tecnológicas que tenga.
Una forma es tener una base de datos espacial con el esquema de los países y ciudades que le interesan. Por esquema quiero decir que los países y ciudades se almacenan como el polígono de tipo espacial. Su conjunto de coordenadas se puede convertir al punto de tipo espacial y consultar con los polígonos para obtener el nombre del país / ciudad donde se encuentra el punto.
Estas son algunas de las bases de datos que admiten el tipo espacial: SQL Server 2008 , MySQL , postGIS , una extensión de postgreSQL y Oracle .
Si desea utilizar un servicio en lugar de tener su propia base de datos para esto, puede utilizar el GeoPlanet de Yahoo . Para el enfoque de servicio, puede consultar esta respuesta en gis.stackexchange.com , que cubre la disponibilidad de servicios para resolver su problema.
fuente
Puedes usar la API de geocodificación de Google
A continuación se muestra la función php que devuelve Dirección, Ciudad, Estado y País.
fuente
Loc2country es una herramienta basada en Golang que devuelve el código de país ISO alfa-3 para determinadas coordenadas de ubicación (lat / lon). Responde en microsegundos. Utiliza un geohash al mapa del país.
Los datos de geohash se generan utilizando georaptor .
Utilizamos geohash en el nivel 6 para esta herramienta, es decir, cajas de tamaño 1.2km x 600m.
fuente
Minimiza la cantidad de bibliotecas.
Obtenga una clave para usar la API en su sitio web y solo obtenga el resultado en una solicitud http:
curl -i -H "key: YOUR_KEY" -X GET https://api.latlong.dev/lookup?lat=38.7447913&long=-9.1625173
fuente
Por favor, consulte la respuesta a continuación. Esto funciona para mi
fuente
Si está utilizando la API de Google Places, así es como puede obtener el país y la ciudad desde el objeto de lugar usando Javascript:
fuente