2014-05-20 32 views
5

我试图绘制城市地图上一堆点和我无法找到一个包,将工作做好。它看起来像Matplotlib底图不包含足够的详细信息,例如30英里半径的许多点,例如我没有看到一种小规模添加公路和其他特色的方法。好蟒蛇工具箱的城市地图上绘制点?

因此,我问,如果你可以建议如何将这些类型的城市地图功能添加到底图或者如果有另一个包,会为30英里规模散点图在城市地图工作。谢谢你的帮助!

回答

4

底图将工作做好,我想。添加邮政编码边界和主/次干道(和许多其他的数据)是没有问题的,如果你能得到的地理形状文件。下面是一个例子输出:enter image description here

如果你有兴趣在美国绘制的地方,这个网站有免费shape文件:http://www.landsat.com/free-gis-data.html

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

你会加载shape文件是这样的:

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 
+0

有什么,更动态的作品?我正在成像很多不同的地区,所以无法预先加载我需要的所有地图。 – user3654387

+0

您可以使用Pymaps/Google地图。 https://code.google.com/p/pymaps/wiki/PymapsHowto – Ryan

+0

谢谢你这个建议。我会检查一下并报告我的进展情况。 – user3654387