如何使用matplotlib绘制小型地形图?

时间:2015-07-30 00:34:26

标签: python image matplotlib plot

我正在绘制一张图片,并希望为其添加一些地质信息。也就是说,我想合并我的图像(我所做的,matplotlib制作的图片,纬度和经度坐标)与地形

首先,我想使用 matplotlib工具包中的底图来绘制地形底图,因为我使用matplotlib绘制卫星图像。我在底图模块中发现了一些看起来像我想要的东西:

绘制 etopo 浮雕图片: [http://matplotlib.org/basemap/users/geography.html][2] (抱歉,我没有声誉可以将图片作为初学者发布。)

我想我只需要转移中心。所以我只是模仿给定示例中的脚本并对坐标进行了一些更改:

from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
# setup Lambert Conformal basemap.
# set resolution=None to skip processing of boundary datasets.
m = Basemap(projection='cyl',llcrnrlon=-118.5,llcrnrlat=33.15,urcrnrlon=-117.15,urcrnrlat=34.5,\
            resolution='f')
m.shadedrelief()
plt.show()

然后我得到了一幅丑陋,模糊的画面。

后来我通过在线搜索找到了原因。默认图像大小为5400x2700,这使得在小型地图中绘图和模糊的速度变慢。所以这似乎是一种不正确的方法。

无论如何使用matplotlib获得高分辨率的地形底图?我必须开始学习GMT吗?请帮帮我......

1 个答案:

答案 0 :(得分:1)

尝试类似这样的操作,但更改区域中的epsg。这些代码是 http://spatialreference.org/ref/epsg/

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

map = Basemap(llcrnrlon=-76.5,llcrnrlat=7., urcrnrlon=-75.9,urcrnrlat=7.5, resolution = 'h', epsg=3115)
map.arcgisimage(service='Specialty/DeLorme_World_Base_Map', xpixels = 1500, verbose= True)
#map.arcgisimage(service='NatGeo_World_Map', xpixels = 2000, verbose= False)
plt.show()
plt.close()