Maison  >  Article  >  développement back-end  >  Comment obtenir des informations de géolocalisation en Python ?

Comment obtenir des informations de géolocalisation en Python ?

王林
王林avant
2023-09-21 09:53:021369parcourir

Comment obtenir des informations de géolocalisation en Python ?

Il existe de nombreuses bibliothèques Python disponibles qui fournissent des services de géolocalisation, notamment le module geopy, qui permet aux programmeurs de géocoder et d'inverser le géocodage d'adresses et de lieux. Le calcul de la distance entre deux points devient plus facile avec le package geopy, qui permet également le calcul de la distance entre deux points.

Il existe plusieurs bibliothèques pour travailler avec des données géographiques en Python, notamment GeoDjango, GeoPandas et PyProj. Ces bibliothèques permettent aux programmeurs de travailler plus facilement avec des données géographiques telles que des points, des lignes et des polygones, leur permettant ainsi de concevoir des applications nécessitant des cartes et une analyse spatiale.

Vous pouvez utiliser la bibliothèque geopy en Python pour obtenir une localisation géographique. Les étapes suivantes vous guident pour obtenir la géolocalisation en Python -

Algorithme

  • Dans votre invite de commande ou votre terminal, entrez pip install geopy pour installer la bibliothèque Geopy.

  • Importez les modules de la bibliothèque Geopy requis. La classe Nominatim est utilisée pour le géocodage et la classe Point est utilisée pour représenter des points géographiques.

from geopy.geocoders import Nominatim
from geopy.point import Point
  • Créez un objet de classe Nominatim qui vous permettra d'effectuer du géocodage. Pour spécifier votre programme, vous pouvez transmettre une chaîne d'agent utilisateur.

  • Pour géocoder une adresse ou un lieu, utilisez la méthode de géocodage de la classe Nominatim. L'emplacement que vous souhaitez géocoder est fourni par cette méthode sous forme de chaîne.

Grammaire

geolocator = Nominatim(user_agent="my_app")
location = geolocator.geocode("1600 Amphitheatre Parkway, Mountain View, CA")
  • Un objet Location contenant des informations détaillées sur un emplacement géocodé est le résultat de la fonction de géocodage. Les propriétés de latitude et de longitude de l'objet Point permettent d'accéder aux coordonnées de latitude et de longitude de l'emplacement.

Grammaire

point = Point(location.latitude, location.longitude)

Méthode 1 : obtenir des informations de localisation par nom

La traduction chinoise de

Exemple – 1

est :

Exemple – 1

Utilisation Vous pouvez extraire les coordonnées ou la latitude et la longitude d'un lieu donné en utilisant géopy. Afin d'utiliser des coordonnées pour représenter un emplacement, vous pouvez l'utiliser.

# importing geopy library
from geopy.geocoders import Nominatim

# calling the Nominatim tool
loc = Nominatim(user_agent="Get Prayagraj")

# entering the location name
getLoc = loc.geocode("Civil Lines Prayagraj")

# printing address
print(getLoc.address)

# printing latitude and longitude
print("Latitude = ", getLoc.latitude, "\n")
print("Longitude = ", getLoc.longitude)

Sortie

Civil Lines Prayagraj , Uttar Pradesh , 211001 , India
Latitude =25.454479
Longitude = 81.8338255

Méthode 2 : utilisez la latitude et la longitude pour identifier l'emplacement

Cette méthode est exactement la même que celle ci-dessus ; la seule différence est que nous allons désormais utiliser la méthode reverse(), qui reçoit les coordonnées (latitude et longitude) en paramètres, au lieu de la fonction géocodage. Cette méthode renvoie l'adresse après avoir reçu les coordonnées.

Exemple – 2

# importing modules
from geopy.geocoders import Nominatim

# calling the nominatim tool
geoLoc = Nominatim(user_agent="GetPrayagraj")

# passing the coordinates
locname = geoLoc.reverse("26.7674446, 81.109758")

# printing the address/location name
print(locname.address)

Sortie

Vinayak City Centre , Tashkant Marg , Civil Lines , Prayagraj , Uttar Pradesh , 211001 , India

Conclusion

L'API Google Maps est l'un des moyens les plus populaires et les plus conviviaux d'obtenir des données de géolocalisation en Python, mais il existe d'autres options. Nous pouvons obtenir rapidement les coordonnées de longitude et de latitude de n'importe quelle adresse en installant la bibliothèque googlemaps et en fournissant une clé API valide. L'API OpenStreetMap et la bibliothèque GeoPy sont d'autres options possibles.

Sécurité et flexibilité. En suivant quelques étapes simples, les développeurs peuvent définir des décorateurs personnalisés et les appliquer à une vue pour modifier son comportement ou appliquer un contrôle d'accès.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer