用于在城市地图上绘制点的好python工具包?

时间:2014-05-20 05:27:27

标签: python map ipython matplotlib-basemap

我正在尝试在城市地图上绘制一堆点,但我很难找到一个效果很好的套餐。看起来Matplotlib Basemap不包含跨越30英里半径的许多点的足够细节,例如我没有看到一种方法来小规模地添加高速公路和其他区别特征。

因此,我问你是否可以建议如何将这些类型的城市地图特征添加到底图,或者是否有另一个包适用于城市地图上30英里范围的散点图。谢谢你的帮助!

1 个答案:

答案 0 :(得分:5)

我认为底图会很好用。如果您可以获取地理shapefile,则添加邮政编码边界和主要/次要道路(以及许多其他数据)是没有问题的。以下是一个示例输出:enter image description here

如果您对在美国制作地点感兴趣,此网站提供免费的shapefile:http://www.landsat.com/free-gis-data.html

我使用德州邮政编码和道路数据(以及一堆纬度/长坐标)来生成上面的地图。

您可以像这样加载shapefile:

self.map = Basemap(projection='merc', lat_0=mlat, lon_0=mlon, resolution = 'l', area_thresh = 1.0, 
llcrnrlon=-num, llcrnrlat=num, 
urcrnrlon=-num, urcrnrlat=num) 

map.readshapefile('/home/person/zipfolder/rds/tl_2010_48_prisecroads', 'Streets',drawbounds = False)

for shape in self.map.Streets:
    xx, yy, = zip(*shape)
    self.map.plot(xx, yy, linewidth = 1.5, color='green', alpha=.75)   
##Same for zip codes