如何用matplotlib绘制小比例尺地形图?

2024-04-29 20:35:01 发布

您现在位置:Python中文网/ 问答频道 /正文

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

首先,我想使用matplotlib工具箱中的底图来绘制地形底图,因为我使用matplotlib绘制卫星图像。我在basemap模块中找到了我想要的东西:

绘制一张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吗?请帮帮我。。。在


Tags: 图像import信息matplotlib绘制图片plt经纬度
1条回答
网友
1楼 · 发布于 2024-04-29 20:35:01

尝试这样的方法,但是改变你的区域的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()

相关问题 更多 >