2017-08-08 2 views
0

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?

Répondre

1

Il peut être plus facile d'utiliser le module cartopy.io.img_tiles, qui tirera automatiquement les mosaïques OSM pour une utilisation avec cartopy. L'utilisation des mosaïques pré-rendues annulerait la difficulté de manipuler et de styliser des fichiers de formes/XML individuels.

Voir le cartopy docs sur l'utilisation de ces dalles au sein de cartopy.

+0

Merci d'essayer. –