2017-05-01 2 views
-1

J'ai des adresses que je veux convertir en latitudes et longitudes. Je n'ai pas de droits d'administrateur sur mon ordinateur, donc les scripts Python ne peuvent pas se connecter aux API de géocodage (c'est-à-dire Google, Nominatim, etc.). J'ai essayé les paquets de géocodage disponibles sur PyPi.Comment faire pour transférer des géocodes en Python sans connexion Internet à partir de scripts?

Connaissez-vous tous une alternative à la connexion directe à l'API? Est-il possible de faire du géocodage hors ligne? J'ai vu des paquets pour le géocodage inverse hors ligne, mais pas pour le géocodage direct. Logiquement, la seule option à laquelle je peux penser est de télécharger les données en masse et de les comparer localement. Je ne suis pas sûr de la faisabilité de cela.

Toutes les pensées sont appréciées!

+1

Vous pouvez envoyer des demandes HTTP sans droits d'administrateur. – SLaks

+0

Serait-il possible de poster un exemple simple d'une telle requête que je pourrais tester dans un script? Je n'ai pas réussi à le faire fonctionner pour ce projet ou d'autres. Je reçois des erreurs telles que "getaddrinfo failed". –

+0

Cela ressemble à un problème avec la configuration de votre système. – SLaks

Répondre

0

geopy pourrait être ce que vous voulez.

>>> from geopy.geocoders import Nominatim 
>>> geolocator = Nominatim() 
>>> location = geolocator.geocode('1327 Harding Place, Charlotte, North Caroline') 
>>> location.latitude, location.longitude 
(35.2082683450311, -80.8377261377877) 

Disponible à https://github.com/geopy/geopy ou http://www.lfd.uci.edu/~gohlke/pythonlibs/ si l'ordinateur portable fonctionne sous Windows.

EDIT: Je viens de voir votre dernier commentaire. Copiez le fichier .whl qui télécharge à partir de ce deuxième lien (en supposant que vous exécutez Windows) sur un CD ou un DVD et installez à partir de ce dernier.

+0

J'ai essayé 'geopy', ainsi que les autres paquets Python de géocodage. Ils nécessitent tous une connexion à l'API via une URL. C'est le cœur de mon problème - comment géocoder sans cette connexion. –

+0

Bien sûr! Manqué ça. –

+0

Merci pour le conseil d'installation! Je peux très bien installer les paquets en téléchargeant les fichiers .whl (je peux me connecter à Internet via mon navigateur, mais pas via les scripts, la ligne de commande, etc.). Malheureusement, les paquets nécessitent toujours cette connexion URL lors de l'exécution. –