Matplotlib basemap读取shapefile非常s

2024-07-08 05:52:44 发布

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

我试图从形状文件绘制一个简单的带有边界的“merc”贴图。形状文件ne_10m_admin_0_countries_lakes.shp的总大小只有8mb。从GFS数据得到的简单mslp曲面图耗时约28秒,我认为这太多了。经过调查,我发现这是一个形状文件的读取约10秒。下面显示了一个简单的代码来演示这个问题以下:在

import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap


south = 0
north = 5
west = 70
east = 85

m = Basemap(projection='merc', llcrnrlat=south, urcrnrlat=north,
        llcrnrlon=west, urcrnrlon=east, resolution='c')
m.readshapefile('data/gis-data/world_countries/'
    'ne_10m_admin_0_countries_lakes', 'ne_10m_admin_0_countries_lakes', linewidth=0.7)

plt.savefig('map.png')

为了说明我所面临的问题,我运行了上面的代码,有注释也有不注释shape文件的路径。这是脚本在读了shape之后所花的时间文件:-在

^{pr2}$

这是没有从形状上读取的结果文件:-在

$ time python test.py 
real    0m2.506s
user    0m2.360s
sys 0m0.324s

有没有办法快速读取形状文件?这个问题有什么解决办法吗?在


Tags: 文件代码importadminmatplotlibpltcountries形状

热门问题