我正在尝试使用Basemap在python中显示城市地图,例如旧金山。我尝试过以下方法:
from mpl_toolkits.basemap import Basemap
import numpy as np
import matplotlib.pyplot as plt
# llcrnrlat,llcrnrlon,urcrnrlat,urcrnrlon
# are the lat/lon values of the lower left and upper right corners
# of the map.
# lat_ts is the latitude of true scale.
# resolution = 'c' means use crude resolution coastlines.
m = Basemap(projection='merc',llcrnrlat=37.79,urcrnrlat=37.81,\
llcrnrlon=-122.42,urcrnrlon=-122.4,lat_ts=20,resolution='c')
m.drawcoastlines()
m.fillcontinents(color='coral',lake_color='aqua')
# draw parallels and meridians.
m.drawparallels(np.arange(-90.,91.,30.))
m.drawmeridians(np.arange(-180.,181.,60.))
m.drawmapboundary(fill_color='aqua')
plt.title("Mercator Projection")
plt.show()
然而,这不起作用,只显示地图的蓝色。那么如何使用python获取旧金山地图?
答案 0 :(得分:3)
你的坐标一定是错的:它显示蓝色,因为你正在某处放大海洋。
此外,此代码仅绘制海岸线as explained in the documentation。要获取城市地图,您实际上需要使用其中一个可用的后端加载相应的数据。例如,您可以从API服务查询数据,例如ArcGIS等,with the corresponding method。