Basemap可能很适合这个任务。如果可以获取地理形状文件,添加邮政编码边界和主要/次要道路(以及许多其他数据)就没有问题。这是一个示例输出:
![enter image description here](https://istack.dev59.com/YKfIl.webp)
如果您想在美国绘制地图,则此网站提供免费的形状文件:
http://www.landsat.com/free-gis-data.html
我使用了德克萨斯州的邮政编码和道路数据(以及一堆纬度/经度坐标)生成了上面的地图。
您可以像这样加载形状文件:
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)