J'ai besoin d'une bibliothèque (de préférence écrite en Python) qui est capable de prendre une série d'adresses IP (ou de coordonnées géographiques) et de les parcourir sur une carte du monde. p>
J'ai déjà trouvé Celui-ci , mais il génère des données comme une. Fichier SVG et il est simplement incapable de faire face aux grands ensembles de données. p>
Veuillez noter que j'ai besoin de quelque chose qui peut être téléchargé et exécuté localement, donc pas de téléchargement de données sur les services Web tiers. P>
merci! p>
5 Réponses :
L'API Google Maps peut prendre en charge tout ce qui précède si vous souhaitez configurer un environnement Web local pour les tests. Il y a une enveloppe autour de l'API pour Python appelé PYMAPS . P>
La documentation de l'API a un exemple sur la manière d'utiliser le géocodeur de Google pour tracer des points sur une carte donnée une adresse d'entrée particulière: p>
De ce que je comprends, Pympas est juste une enveloppe pour faciliter l'utilisation de Google Maps. Cependant, je veux exécuter cela complètement hors ligne, sans envoyer de données à l'extérieur (à Google, par exemple).
Peut-être Basemap dans Matplotlib pour le traçage. p>
Il peut faire toutes sortes de projections (ne vous dérange pas des couleurs défaillantes laides ). Et vous avez un bon contrôle sur quoi / comment vous complotez. Vous pouvez même utiliser imagerie de marbre bleu nasa . Et bien sûr, vous pouvez tracer des marqueurs, des lignes, etc. sur la carte Utilisation de la commande Traque . p>
Je n'ai pas mis d'énormes jeux de données à travers cela, mais que c'est une partie de Matplotlib que je soupçonne que cela fera bien. P>
Si je me souviens bien, malgré la partie de la bibliothèque, elle n'exprime pas par défaut avec Matplotlib. P>
Vous voudrez peut-être consulter Mapsplotlib code>
.
Seulement python 2.7! P>
import pandas as pd from mapsplotlib import mapsplot as mplt df = pd.read_csv("data.csv") mplt.register_api_key('your_google_api_key_here') mplt.density_plot(df['latitude'], df['longitude'])
J'ai récemment utilisé gmplot code>
.
l'installer simplement avec p> il est extrêmement em> facile à utiliser. Tout ce que vous avez à faire est de brancher les valeurs de longitude et de latitude et Voici un exemple minimal. Laissez gmplot code> mettra une carte dans le formulaire HTML. P>
lat_values code> et
lon_values code> Soyez des listes de la latitude et des valeurs de longitude. P>
from gmplot import gmplot
import numpy as np
center_lat = np.mean(lat_values)
center_lon = np.mean(lon_values)
zoom = 15
gmap = gmplot.GoogleMapPlotter(center_lat, center_lon, zoom)
gmap.scatter(lat_values, lon_values)
gmap.draw('my_map.html')
Comme d'autres personnes ont mentionné, vous pouvez aller chercher les emplacements et écrire du code pour les mettre sur une carte, mais il existe également un moyen plus facile de le faire.
Vous pouvez utiliser gratuitement Carte IPS outil, qui créera une carte interactive des adresses IP. Voici un exemple pour AWS IP Ranges . P>
Vous pouvez soit copier / coller l'IPS ou utiliser l'outil via CURL. Il traitera jusqu'à 500k IPS. P> Disclaimer strong>: Je travaille à IPInfo. P> P>
IPInfo.io est exactement ce que je cherchais. Merci d'avoir partagé!!