我正在使用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
答案 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