3. Creazione immagini e tiles utilizzando lo stile principale di OpenStreetMap¶
Requisiti¶
- Mapnik (versione 2)
- Subversion (svn)
- database osm importato come descritto nel primo contenuto
Primi passi¶
Dopo aver creato il database italia_osm seguendo la precedente guida, dovrete entrare nella solita cartella $HOME/osm scaricare dal sistama di versionamento di OpenStreetMap, l’ultima versione dello stile del portale principale del progetto, tramite il comando
svn co svn.openstreetmap.org/applications/rendering/mapnik openstreetmap_main
A questo punto entrare nella cartella openstreetmap_main prima di incominciare a testare lo stile dovrete per prima cosa scaricare i dati utili non presenti all’interno del database di OpenStreetMap, lanciate lo script dedicato a ciò, tramite:
./get-coastlines.sh
Il suo compito è quello di scaricare quattro file contenenti ESRI Shapefiles (processed_p.tar.bz2, shoreline_300.tar.bz2, 10m-populated-places.zip, 110m-admin-0-boundary-lines.zip) e decomprimerli dentro la cartella world_boundaries.
Renderizzare un’immagine statica¶
A questo punto siete pronti per lanciare tre comandi che vi permetteranno di ottenere la mappa desiderata. Per prima cosa andiamo a compilare il file xml contente lo stile da utilizzare con Mapnik.
All’interno della cartella avrete un file osm.xml che contiene lo “scheletro” del vostro foglio di stile e che dovrete compilare utilizzando generate_xml.py. Questo comando legge da alcuni file, contenuti nella cartella inc, le regole per lo stile dei vari elementi che vengono suddivisi in singole pagine per facilitarne la lettura e la modifica; inoltre utilizza dei template per permettere l’inserimento di alcuni dati “personali”
Ecco il comando da lanciare:
python generate_xml.py --dbname italia_osm --user $USER --password "vostrapassword" --host localhost osm.xml vostro_stile.xml
Avvertimento
Lanciando il comando con la vostra password questa verrà salvata nella history, per maggiore sicurazza potete pensare di elimintare la linea contentente la password dal file $HOME/.history
Adesso dovrete aggiornare il file per essere conforme con Mapnik2
upgrade_map_xml.py vostro_stile.xml vostro_stile2.xml
L’ultimo passaggio da fare prima di stampare attraverso Mapnik è quello di modificare leggermente il file generate_image.py impostando il nome del file di configurazione, il nome di file di output (di default è image.png, si può lasciare anche quello) e la regione che si vuole stampare (tramite le quattro coordinate estreme espresse in latitudine e longitudine decimali).
Bisogna modificare le seguenti impostazioni del file generate_image.py
#il vostro mapfile
mapfile = "vostro_stile.xml"
#per il confine italiano
bounds = (6.602728, 35.489256, 18.517970, 47.085215)
#le dimensioni del file
imgx =
imgy =
A questo punto potete lanciare il comando
python generate_image.py
Ed ecco l’immagine risultante