Introduzione
Questa guida contiene le istruzioni necessarie per l'installazione di Mapnik, uno strumento utile alla realizzazione di mappe a partire da dati vettoriali e raster.
Preparativi
Abilitare i [:Repository/Componenti:componenti] universe e multiverse dei [:Repository:repository] ufficiali.
Installazione
[:AmministrazioneSistema/InstallareProgrammi:Installare] il pacchetto python-mapnik.
Esempio di utilizzo
Di seguito viene mostrato un esempio di utilizzo di Mapnik.
Scaricare da [http://mappinghacks.com/data/world_borders.zip questo indirizzo] un dataset vettoriale in formato [http://it.wikipedia.org/wiki/Shapefile ESRI Shapefile] e [:AmministrazioneSistema/FormatiDiCompressione#metodografico:decomprimerlo] all'interno della propria Home.
Aprire un [:Ufficio/EditorDiTesto:editor di testo] e incollare al suo interno il seguente testo:
1 #!/usr/bin/env python 2 3 from mapnik import * 4 5 # Definizione delle dimensioni della mappa 6 # e il sistema di riferimento geografico (latlon WGS84) 7 m = Map(500,300,"+proj=latlong +datum=WGS84") 8 9 # Colore dello sfondo 10 m.background = Color('steelblue') 11 12 # Creazione di uno stile 13 s = Style() 14 15 # Definizione dello stile, possono esserci una o più regole. 16 # Una regola può comprendere un filtro, la definizione di scale minima e massima, 17 # uno o più Symbolizers (PolygonSymbolizer e LineSymbolizer) 18 r=Rule() 19 20 # Colore di riempimento dei poligoni 21 r.symbols.append(PolygonSymbolizer(Color('#f2eff9'))) 22 23 # Colore e spessore delle linee di contorno 24 r.symbols.append(LineSymbolizer(Color('rgb(50%,50%,50%)'),0.1)) 25 s.rules.append(r) 26 27 # Aggiunta dello stile alla mappa e definizione di un nome 28 # da usare nella definizione del livello 29 m.append_style('My Style',s) 30 31 # Vengono definiti i nomi di uno o più livelli 32 lyr = Layer('world') 33 34 # Percorso allo shapefile. 35 # Lo shapefile deve essere indicato senza esenzione! 36 lyr.datasource = Shapefile(file='/percorso/ai/dati/world_borders') 37 38 # Aggiunta dello stile al livello 39 lyr.styles.append('My Style') 40 41 # Aggiunta del livello della mappa 42 m.layers.append(lyr) 43 44 # Definizione dell'estensione geografica, le due coppie di coordinate 45 # corrispondono ai due angoli basso-sinistro e alto-destro della mappa 46 bbox = Envelope(Coord(6, 34), Coord(22, 48)) 47 48 # Ingrandimento all'estensione geografica definita prima 49 m.zoom_to_box(bbox) 50 51 # Conversione la mappa m nel file italia.png con formato .png 52 render_to_file(m,'italia.png', 'png')
Assegnare il nome mappa.py al file e salvarlo all'interno della propria Home. L'estensione geografica utilizzata dallo script si riferisce all'area mediterranea, è possibile modificare le coordinate se si desidera prendere in esame un'altra zona geografica, non dimenticando di modificare il percorso al file ESRI:
Una volta salvato il file è necessario impostare i [:AmministrazioneSistema/PermessiFile:permessi] d'esecuzione e avviare lo script, digitando all'interno di una finestra di terminale i seguenti comandi:
cd ~ chmod +x ~/mappa.py ./mappa.py
Il risultato dovrebbe essere il file ~/italia.png contenente la mappa.
Ulteriori risorse
[http://trac.mapnik.org/wiki/UbuntuInstallation/ Documento originale]
[http://mapnik.org/documentation/ Documentazione ufficiale]
[http://trac.mapnik.org/wiki/ExampleCode Esempi di codice]
[:UbuntuGis:Guida all'installazione di Ubuntu GIS]
[http://trac.mapnik.org/wiki/InstallationTroubleshooting/ Risoluzione dei problemi in fase di compilazione]