Python在底图上绘制shapefile

时间:2017-06-06 17:13:35

标签: python matplotlib shapefile matplotlib-basemap

我正在使用python 3.6绘制一个包含美国大流域的shapefile。我遇到的问题是这个shapefile有很多组件,例如.dbf文件,.prj文件......等等。我不确定我是否必须单独读取所有文件然后绘制或者是否有一个命令允许我一次读取它们然后绘制。

到目前为止,这是我的代码:

from mpl_toolkits.basemap import Basemap

import matplotlib.pyplot as plt

mydbf =('filename.dbf')
myprj =('filename.prj')
myqpj =('filename.qpj')
myshp =('filename.shp')
myshx =('filename.shx')


map= Basemap(projection='cyl',
            lon_0=180,
            lat_0=0,
            resolution='l')
map.drawmapboundary(fill_color='aqua')
map.fillcontinents(color='#ddaa66',lake_color='aqua')
map.drawcoastlines()

map.readshapefile(mydbf,myprj,myqpj,myshp,myshx,'Watersheds')
plt.show()

运行此代码时收到的错误消息是: OSError: cannot locate filename.dbf.shp

1 个答案:

答案 0 :(得分:2)

在readthedocs的basemap tutorial上,它清楚地说明了adb -s emulator-5556 shell am instrument -e class com.example.test.locationListTest -w com.example.test/android.test.InstrumentationTestRun | grep "Failures" if [ $? -eq 0 ]; then echo "## TEST FAILED ##" exit 1 fi 函数

  

第一个参数shapefile名称必须没有shp扩展名。该库假定所有shp,sbf和shx文件都将以此给定名称存在

因此,您的电话应该是

readshapefile