我试图用Python中的Basemap绘制纽约地区的详细海岸线。使用全分辨率数据集,曼哈顿看起来像长方形,而哈德逊在市中心一点也没有出现。
这是我正在使用的代码。有什么建议吗?
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
import numpy as np
m = Basemap(projection='merc',llcrnrlat=40.55,urcrnrlat=40.82,\
llcrnrlon=-74.1, urcrnrlon=-73.82, lat_ts=40.5,resolution='f')
m.drawcoastlines()
m.drawrivers()
m.fillcontinents(color='coral',lake_color='aqua')
m.drawmapboundary(fill_color='aqua')
plt.show()
编辑
在进一步的探索中,我的问题似乎与河流有关。我可以得到海洋海岸线的详细边界,但仍然没有哈德逊河和哈莱姆河。当前代码:
m = Basemap(projection='merc',llcrnrlat=40.55,urcrnrlat=40.82,\
llcrnrlon=-74.1, urcrnrlon=-73.82, lat_ts=40.5,resolution='f')
m.drawmapboundary(fill_color='#85A6D9')
m.drawcoastlines(color='#6D5F47', linewidth=.4)
m.drawrivers(color='#6D5F47', linewidth=.4)
m.fillcontinents(color='white',lake_color='#85A6D9')
plt.show()
basemap附带的数据分辨率很低(高分辨率数据占用了相当大的空间)。
您可以加载形状文件以与基本映射一起显示。我以前从this tutorial那里借过代码。本教程还链接到GADM,在这里您可以下载任何国家的高分辨率shapefile文件。
您应该尝试将区域阈值设置为0.1,例如:
相关问题 更多 >
编程相关推荐