Par exemple si nous avons ces ensembles de coordonnées
"latitude": 48.858844300000001,
"longitude": 2.2943506,
Comment connaître la ville / le pays?
geolocation
geocoding
geospatial
geo
ming yeow
la source
la source
Réponses:
L' API gratuite Google Geocoding fournit ce service via une API HTTP REST. Remarque, l' utilisation de l'API est limitée , mais vous pouvez payer pour un accès illimité.
Essayez ce lien pour voir un exemple de la sortie (c'est en json, la sortie est également disponible en XML)
https://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&sensor=true
la source
Une autre option:
Avantages:
Désavantages:
la source
Vous avez besoin
geopy
puis:
pour obtenir plus d'informations:
la source
Une alternative Open Source est Nominatim d'Open Street Map. Tout ce que vous avez à faire est de définir les variables dans une URL et elle renvoie la ville / le pays de cet emplacement. Veuillez consulter le lien suivant pour la documentation officielle: Nominatim
la source
Je cherchais une fonctionnalité similaire et j'ai vu les données " http://download.geonames.org/export/dump/ " partagées sur la réponse précédente (merci pour le partage, c'est une excellente source), et implémenté un service basé sur les données cities1000.txt.
Vous pouvez le voir fonctionner à
http://scatter-otl.rhcloud.com/location?lat=36&long=-78.9(lien cassé) Modifiez simplement la latitude et la longitude de vos emplacements.Il est déployé sur OpenShift (RedHat Platform). Le premier appel après une longue période d'inactivité peut prendre un certain temps, mais les performances sont généralement satisfaisantes. N'hésitez pas à utiliser ce service comme vous le souhaitez ...
Vous pouvez également trouver la source du projet à l' adresse https://github.com/turgos/Location .
la source
J'ai utilisé Geocoder , une bonne bibliothèque Python qui prend en charge plusieurs fournisseurs, dont Google, Geonames et OpenStreetMaps, pour n'en citer que quelques-uns . J'ai essayé d'utiliser la bibliothèque GeoPy, et il y a souvent des délais d'attente. Développer votre propre code pour GeoNames n'est pas la meilleure utilisation de votre temps et vous risquez de finir par obtenir un code instable. Geocoder est très simple à utiliser d'après mon expérience et dispose d'une documentation suffisamment bonne . Vous trouverez ci-dessous un exemple de code pour rechercher une ville par latitude et longitude, ou pour rechercher une latitude / longitude par nom de ville.
la source
geocoder
, j'aimerais essayer moi aussi!J'ai passé environ 30 minutes à essayer de trouver un exemple de code expliquant comment faire cela en Javascript. Je n'ai pas trouvé de réponse claire et rapide à la question que vous avez posée. Alors ... j'ai fait le mien. Espérons que les gens puissent l'utiliser sans avoir à fouiller dans l'API ou à regarder du code qu'ils n'ont aucune idée de comment lire. Ha si rien d'autre je peux référencer ce post pour mes propres trucs .. Belle question et merci pour le forum de discussion!
Ceci utilise l'API Google.
.
la source
Je sais que cette question est vraiment ancienne, mais j'ai travaillé sur le même problème et j'ai trouvé un package extrêmement efficace et pratique
reverse_geocoder
, construit par Ajay Thampi. Le code est disponible ici . Il est basé sur une implémentation parallélisée d'arbres KD qui est extrêmement efficace pour de grandes quantités de points (il m'a fallu quelques secondes pour obtenir 100 000 points.Il est basé sur cette base de données, déjà mise en évidence par @turgos.
Si votre tâche est de trouver rapidement le pays et la ville d'une liste de coordonnées, c'est un excellent outil.
la source
Cela dépend vraiment des restrictions technologiques dont vous disposez.
Une façon est d'avoir une base de données spatiale avec le contour des pays et des villes qui vous intéressent. Par plan, je veux dire que les pays et les villes sont stockés sous forme de polygone de type spatial. Votre ensemble de coordonnées peut être converti en point de type spatial et interrogé sur les polygones pour obtenir le nom du pays / de la ville où se trouve le point.
Voici quelques-unes des bases de données qui prennent en charge le type spatial: SQL Server 2008 , MySQL , postGIS - une extension de postgreSQL et d' Oracle .
Si vous souhaitez utiliser un service au lieu d'avoir votre propre base de données pour cela, vous pouvez utiliser GeoPlanet de Yahoo . Pour l'approche de service, vous voudrez peut-être consulter cette réponse sur gis.stackexchange.com , qui couvre la disponibilité des services pour résoudre votre problème.
la source
Vous pouvez utiliser l'API Google Geocoding
Ci-dessous est la fonction php qui renvoie l'adresse, la ville, l'état et le pays
la source
Loc2country est un outil basé sur Golang qui renvoie le code de pays ISO alpha-3 pour des coordonnées de localisation données (lat / lon). Il répond en quelques microsecondes. Il utilise un geohash pour la carte du pays.
Les données geohash sont générées à l'aide d'un géoraptor .
Nous utilisons geohash au niveau 6 pour cet outil, c'est-à-dire des boîtes de 1,2 km x 600 m.
la source
Minimisez le nombre de bibliothèques.
Obtenez une clé pour utiliser l'API sur leur site Web et obtenez simplement le résultat dans une requête http:
curl -i -H "clé: VOTRE_KEY" -X GET https://api.latlong.dev/lookup?lat=38.7447913&long=-9.1625173
la source
Veuillez vérifier la réponse ci-dessous. Ça marche pour moi
la source
Si vous utilisez l'API Google Places, voici comment obtenir le pays et la ville à partir de l'objet de lieu à l'aide de Javascript:
la source