J'utilise python 3.6 pour tracer un fichier de formes contenant de grands bassins versants aux États-Unis Le problème que je rencontre est que ce fichier de formes a de nombreux composants, comme un fichier .dbf, un .prj fichier ... et autres. Je ne suis pas sûr si je dois lire tous les fichiers individuellement et ensuite tracer ou s'il y a une commande qui me permettra de les lire tous à la fois et de tracer ensuite.Python Tracer un fichier de formes sur une carte de base
Voici mon code à ce jour:
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()
Le message d'erreur que je reçois quand je lance ce code est: OSError: cannot locate filename.dbf.shp
Je comprends cela, mais qui ne fonctionne que pour un. Tous les fichiers sont nommés exactement le même, donc sans ajouter le fichier .shp ou .dbf, il ne fait que tracer un fichier. – CPG
Oui, vous avez un shapefile 'filename.shp' avec ses fichiers auxiliaires' filename.sbf' et 'filename.shx'. Si vous en avez un second, ce serait 'filename2.shp' avec ses fichiers auxiliaires' filename2.sbf' et 'filename2.shx' et vous répéteriez la lecture comme' map.readshapefile ("filename2", 'Watersheds2') '. – ImportanceOfBeingErnest