1
我使用python 3.6在美國繪製了一個包含大分水嶺的shapefile。我遇到的問題是這個shapefile有許多組件,例如.dbf文件,.prj文件...和其他人。我不知道是否必須單獨讀取所有文件,然後繪圖,或者是否有一個命令可以讓我一次讀完所有文件,然後繪圖。Python在底圖上繪製shapefile
這是到目前爲止我的代碼:
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
我明白,但將只對一個工作。所有文件的命名完全相同,因此不添加.shp或.dbf文件只繪製一個文件。 – CPG
是的,你有一個shapefile'filename.shp'及其輔助文件'filename.sbf'和'filename.shx'。如果你有第二個,那就是'filename2.shp',它的輔助文件是'filename2.sbf'和'filename2.shx',你會重複像'map.readshapefile(「filename2」,'Watersheds2')這樣的讀法。 '。 – ImportanceOfBeingErnest