Dans cet article, je vais vous présenter une bibliothèque Python appelée Geopy. C’est un package de géocodage
Qu’est-ce Que Le Géocodage ?
Geopy est un client Python pour de nombreux services Web courants pour le géocodage, ce qui facilite la localisation des coordonnées d’une adresse, d’une ville ou d’un pays pour les développeurs Python, et vice versa.
Il utilise des géocodeurs tiers et d’autres sources de données pour trouver les coordonnées d’adresses, de villes, de continents et de points de repère dans le monde entier.
Le géocodage est la méthode de traduction d’une définition de position (telle qu’une adresse physique ou un nom d’emplacement) en une paire de latitude et de longitude pour cet emplacement à la surface de la Terre.
Services De Géocodage Pour Les Applications D’entreprise
Il existe de nombreux services de géocodage disponibles sur le marché. J’ai essayé GeocodeAPI et ils fonctionnent très bien pour les applications d’entreprise. Ils ont plusieurs points de terminaison pour obtenir la lat-long à partir de l’adresse, du géocodage inversé et de l’adresse de saisie semi-automatique.
Ils fournissent 10 000 demandes gratuites par jour, ce qui est très bien si vous commencez tout juste à créer votre application. Vous pouvez obtenir plus de détails sur leurs fonctionnalités et leurs tarifs sur cette page.
Installation
Nous pouvons installer et utiliser Geopy dès la sortie de la boîte :
pip installer geopy
Et nous allons importer le package, ainsi que quelques autres packages importants :
de geopy.geocodeurs importer Nominatim importer des pandas au format pd
Créer Un Nouvel Agent Utilisateur
Nominatim est un outil pour rechercher des données OpenStreetMap par nom et adresse (géocodage).
OpenStreetMap est une carte du monde, qui a été créée en tant que logiciel open source par des internautes. Nous allons donc créer un nouvel objet api pour accéder au client nominatim :
app = Nominatim(user_agent="JournalDev")
Affichage De L’emplacement D’une Région
Alors maintenant, nous sommes prêts à obtenir les détails de l’emplacement de n’importe quel endroit dans le monde. Nous pouvons utiliser le client d’application que nous avons créé pour y accéder :
location = app.geocode("Kolkata, Inde") emplacement
ce qui nous donne la sortie comme:
Emplacement (Kolkata, Howrah, Bengale occidental, 711101, Inde, (22.5414185, 88.35769124388872, 0.0))
Nous pouvons à la place obtenir un dictionnaire, que nous pouvons ensuite utiliser comme dataframe !
Cependant, pour une raison quelconque lors de la conversion du dictionnaire en dataframe, cela donne lieu à de faux tuples, nous devons donc gérer cela :
location = app.geocode("Kolkata, Inde").raw pd.DataFrame(location).head
ce qui nous donne :
Coordonnées de l’emplacement de sortie géographique
Récupération Automatique D’une Liste D’adresses
Nous pourrions donc procéder une par une pour chaque adresse, mais dans les grandes institutions, vous auriez généralement besoin de milliers d’adresses récupérées à la fois.
Faisons une liste d’adresses :
liste_adresses = plus comme tu veux
Maintenant, nous allons exécuter une boucle. Souvent, l’API openstreetmap ne permet pas à un bot d’accéder à leurs données en continu car leurs serveurs se bloquent. Nous devons donc mettre des temporisateurs d’attente pour éviter les erreurs :
pour l'adresse dans address_list : essayer: le sommeil de temps loc = app.geocode(adresse).raw df = df.append ignore_index=True) sauf exception comme e : imprimer(e)
Maintenant, cela va ajouter les données à notre dataframe d’origine :
Listes de coordonnées d’emplacement de sortie géographique
Recherche Inversée D’une Coordonnée
Il permet également à l’utilisateur d’inverser la recherche d’une paire de coordonnées (en degrés décimaux) :
app.reverse((37.234332396,-115.80666344), language='salut').raw
nous donnera (dans la langue de notre choix) :
Géopy en hindi
Trouver La Distance
Nous pouvons trouver la distance entre deux endroits en km ou en miles, en utilisant :
de geopy.distance importer la géodésique Kolkata = (df ,df ) goregon = (df ,df ) print("En kms : ",geodesic(kolkata,goregaon).km) print("En miles : ",geodesic(kolkata,goregaon).miles)
ce qui nous donne :
En km : 1655.7023089773734
En milles : 1028.805717719377
Note De Fin
- Update Manager, It shows more information, it looks better, it feels faster, and...
- Driver Manager, The Driver Manager is now able to install drivers without a...
- Login Screen, Multi-monitor support was improved:
- Language Settings, A new "Language Settings" tool was introduced. It replaces...
- Menu Improvements, The menu applet received two mintMenu features: Right-click...
- Good hoodie with good standards of quality.
- Wash Cold, Dry Low.
- The final product is made of 100% cotton.
- This is a very comfortable hoodie to wear and also perfect as a gift to your...
- High printing quality as well.
- Amazon Kindle Edition
- German (Langue de Publication)
- Éditeur: MITP Verlags GmbH & Co. KG
- Complete Linux Academy Courses!
- Save videos for offline viewing!
- Use notecards to increase learning!
- English (Langue de Publication)
- Amazon Kindle Edition
- English (Langue de Publication)
- No Starch Press
- Hardcover Book
- English (Langue de Publication)
- Éditeur: No Starch Press
- English (Langue de Publication)
- Éditeur: Addison-Wesley Professional
- English (Langue de Publication)
- Éditeur: No Starch Press