Nous développons un rapport standardisé pour nos activités. Le dernier graphique dont j'ai besoin est d'afficher la zone géographique des activités (il y a près de 100 emplacements).tracer des cartes en utilisant OSM ou d'autres shapefiles et matplotloib pour le rapport standardisé
La sortie de ces rapports est lettre PDF ou format A4
Le rapport est une figure de mplotlib, où:
fig = plt.figure(figsize=(8.5, 11))
rect0 = 0, .7,, 0.18, 0.3
rect1 = .3, .7, .18, .3
rect2 = .8, .29, .2, .7
rect3 = 0, 0, .8, .4
ax1 = fig.add_axes(rect0)
ax2 = fig.add_axes(rect1)
ax3 = fig.add_axes(rect2)
ax4 = fig.add_axes(rect3)
Le contenu et la disposition des axes 1-3 sont réglés et fonctionnent très bien. Cependant ax4 est l'endroit où le contenu de la carte serait affiché (idéalement).
J'espérais faire quelque chose comme ceci:
map1 = Basemap(llcrnrlon=6.819087, llcrnrlat=46.368452, urcrnrlon=6.963978,
urcrnrlat=46.482906, resolution = 'h', projection='tmerc',
lon_0=6.88, lat_0=46.42, ax=4)
map1.readshapefile('a valid shape file that works') #<----- this is the sticking point
map1.draw(insert locator coordinates)
plt.savefig(report to be inserted to document)
plt.show()
Cependant, je ne l'ai pas réussi à obtenir un fichier de forme qui fonctionne à partir des cartes routières ouvertes ou SIG.
Je n'ai pas non plus identifié le processus correct pour transformer les données de openstreetmaps.
Je n'ai pas non plus identifié le processus pour extraire cette information du document OSM/xml ou du document GeoJSON transformé.
Idéalement, je voudrais saisir les informations de bounding box à partir de openstreetmaps et générer la carte directement.
Quel est le processus pour obtenir un fichier de formes qui fonctionne avec l'appel .readshapefile()?
Ou comment obtenir la carte définie dans un axe Matplotlib?
Merci d'essayer. –