Python 在世界地图上绘制GeoIP数据

Python 在世界地图上绘制GeoIP数据,python,geolocation,maps,plot,Python,Geolocation,Maps,Plot,我需要一个库(最好是用Python编写的),它能够获取一系列IP地址(或地理坐标)并将它们绘制在世界地图上 我已经找到了,但它以.svg文件的形式输出数据,无法处理大型数据集 请注意,我需要的东西,可以下载并在本地运行,所以没有数据上传到第三方网络服务 谢谢 如果您愿意设置本地web环境进行测试,google maps API可以支持上述所有功能。Python的API有一个包装器,名为 API文档提供了一个示例,说明如何使用Google的geocoder在给定特定输入地址的地图上绘制点: 可能正

我需要一个库(最好是用Python编写的),它能够获取一系列IP地址(或地理坐标)并将它们绘制在世界地图上

我已经找到了,但它以.svg文件的形式输出数据,无法处理大型数据集

请注意,我需要的东西,可以下载并在本地运行,所以没有数据上传到第三方网络服务


谢谢

如果您愿意设置本地web环境进行测试,google maps API可以支持上述所有功能。Python的API有一个包装器,名为

API文档提供了一个示例,说明如何使用Google的geocoder在给定特定输入地址的地图上绘制点:

可能正在进行绘图

它可以做各种各样的(不要介意难看的默认颜色)。你能很好地控制你的计划。你甚至可以使用。当然,你可以在地图上画标记、线等

我还没有把大量的数据集放进去,但由于它是Matplotlib的一部分,我怀疑它会做得很好


如果我没记错的话,尽管它是库的一部分,但默认情况下它不随Matplotlib一起提供。

您可能想看看

装置 只有PYTHON 2.7

$ pip install mapsplotlib
$ pip install pandas
然后您需要有一个Google静态地图API密钥,请转到

用法 示例输出 我最近用过

只需使用

pip install gmplot
它非常容易使用。您所要做的就是插入经度和纬度值,
gmplot
将以html格式显示地图

这里有一个最小的例子。让
lat_值
lon_值
成为纬度和经度值的列表

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')

就这样!当然,您可以调整参数以增强视觉效果。请参阅。

正如其他人所提到的,您可以获取位置并编写一些代码将它们放在地图上,但还有一种更简单的方法

您可以使用IPInfo的免费工具,它将创建IP地址的交互式地图。这里有一个例子

您可以复制/粘贴IP,也可以通过cURL使用该工具。它将处理多达500K IP

$cat ipList|curl-XPOST--data binary@-“ipinfo.io/map?cli=1”

免责声明:我在IPInfo工作。

据我所知,pymaps只是一个包装器,可以让使用谷歌地图变得更简单。然而,我希望完全离线运行,而不向外部发送任何数据(例如,发送到Google)。谢谢分享!!
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')