Python在底图上绘制形状文件
我正在使用python 3.6绘制一个包含美国大流域的形状文件。我遇到的问题是,这个形状文件有许多组件,例如.dbf文件、.prj文件。。。等等。我不确定是否必须单独读取所有文件,然后进行打印,或者是否有一个命令允许我一次读取所有文件,然后进行打印 以下是我目前的代码:Python在底图上绘制形状文件,python,matplotlib,shapefile,matplotlib-basemap,Python,Matplotlib,Shapefile,Matplotlib Basemap,我正在使用python 3.6绘制一个包含美国大流域的形状文件。我遇到的问题是,这个形状文件有许多组件,例如.dbf文件、.prj文件。。。等等。我不确定是否必须单独读取所有文件,然后进行打印,或者是否有一个命令允许我一次读取所有文件,然后进行打印 以下是我目前的代码: from mpl_toolkits.basemap import Basemap import matplotlib.pyplot as plt mydbf =('filename.dbf') myprj =('filena
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:在on readthedocs中找不到filename.dbf.shp
,它清楚地说明了readshapefile
函数
第一个参数shapefile名称必须不带shp扩展名。该库假定所有shp、sbf和shx文件都将以该给定名称存在
因此,你的电话应该是
map.readshapefile("filename",'Watersheds')
我明白,但那只对一个人有效。所有文件的名称都完全相同,因此在不添加.shp或.dbf的情况下,它只打印一个文件。是的,您有一个shapefile
filename.shp
及其辅助文件filename.sbf
和filename.shx
。如果您有第二个文件,那将是filename2.shp
及其辅助文件filename2.sbf
和filename2.shx
,您将像map.readshapefile(“filename2”,“流域2”)一样重复阅读。