【问题标题】:How to plot a small-scale topographic map with matplotlib?matplotlib如何绘制小比例尺地形图?
【发布时间】:2015-10-21 04:47:04
【问题描述】:

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

首先我想使用ma​​tplotlib工具包中的Basemap来绘制地形底图,因为我使用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 吗?请帮帮我...

【问题讨论】:

    标签: python image matplotlib plot


    【解决方案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()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-02-14
      • 2017-02-08
      • 1970-01-01
      • 2019-02-14
      • 1970-01-01
      • 1970-01-01
      • 2019-09-27
      相关资源
      最近更新 更多