如何在matplotlib底图中绘制高分辨率的etopo背景?

Zip*_*ipo 5 matplotlib matplotlib-basemap

默认情况下,etopo背景pic的分辨率非常低.如何获得高分辨率背景?

小智 10

我刚刚进入类似的事情!起初我想也许我应该去GMT.但最后我发现了这个:

http://basemaptutorial.readthedocs.org/en/latest/backgrounds.html

我在Basemap中使用了arcgisimage().一旦你确定了相应的epsg感兴趣的地方,并设定了绘图的范围,你就可能得到一个很好的画面.(EPSG编号很重要.)这是我的代码.(POI:LA)

from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt

map = Basemap(llcrnrlon=-118.5,llcrnrlat=33.15,urcrnrlon=-117.15,urcrnrlat=34.5, epsg=4269)
#http://server.arcgisonline.com/arcgis/rest/services
#EPSG Number of America is 4269

map.arcgisimage(service='ESRI_Imagery_World_2D', xpixels = 2000, verbose= True)
plt.show()
Run Code Online (Sandbox Code Playgroud)

如果你想要etopo背景,你可以使用'ESRI_Imagery_World_2D',它看起来非常相似.从剧本中你可以看到该区域的宽度和宽度都不到一度.(在lat和lon中)

有很多服务可供选择!(我不是广告.(.·`ω'·))

我画了一些数字. 在此输入图像描述在此输入图像描述在此输入图像描述