2014-05-20 66 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