Dimensione: 2293
Commento:
|
Dimensione: 3900
Commento:
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 1: | Linea 1: |
## page was renamed from Mapnik ## page was renamed from TommasoDiBucchianico/Prove2 ## page was renamed from TommasoDiBucchianico/prove1 |
|
Linea 8: | Linea 11: |
Mapnik è un toolkit (insieme di strumenti) per la realizzazione di mappe a partire da dati vettoriali e raster. E' scritto in C++ e ha Python bindings che supportano uno sviluppo semplice e veloce delle mappe. Mapnik può essere usato sia per lo sviluppo di applicazioni web, accoppiato con altri softwar tipo Open Layer, sia per un uso desktop. | 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. '''Mapnik''' è il renderer ufficiale del progetto di cartografia libera [http://www.openstreetmap.org/ Openstreetmap]. |
Linea 10: | Linea 14: |
= Installazione da Repository (solo per Ubuntu 8.04)= | = Preparativi = |
Linea 12: | Linea 16: |
Per Ubuntu 8.04 è presente nei repository Universe il pacchetto python-mapnik che contiene Mapnik 0.4 e può essere comodamente installato tramire apt-get. | Abilitare i [:Repository/Componenti:componenti] '''universe''' e '''multiverse''' dei [:Repository:repository] ufficiali. |
Linea 14: | Linea 18: |
{{{ sudo apt-get install python-mapnik }}} Se si volesse installare l'ultima versione (Mapnik 0.5) bisognerà [:AmministrazioneSistema/InstallareProgrammi/DaSorgenti:compilare i sorgenti] (vedi sotto). |
= Installazione = |
Linea 19: | Linea 20: |
= Installazione tramite sorgenti = | [:AmministrazioneSistema/InstallareProgrammi:Installare] il pacchetto ''python-mapnik''. |
Linea 21: | Linea 22: |
Innanzitutto vanno installate le dipendenze richieste tramite [:AmministrazioneSistema/Aptitude:Aptitude]: | = Esempio di utilizzo = |
Linea 23: | Linea 24: |
boost dipendenze: {{{ sudo aptitude install binutils cpp-3.3 g++-3.3 gcc-3.3 gcc-3.3-base libboost-dev libboost-filesystem-dev libboost-filesystem1.34.1 libboost-iostreams-dev libboost-iostreams1.34.1 libboost-program-options-dev libboost-program-options1.34.1 libboost-python-dev libboost-python1.34.1 libboost-regex-dev libboost-regex1.34.1 libboost-serialization-dev libboost-serialization1.34.1 libboost-thread-dev libboost-thread1.34.1 libicu-dev libicu38 libstdc++5 libstdc++5-3.3-dev python2.5-dev }}} Altre dipendenze {{{ sudo aptitude install libfreetype6 libfreetype6-dev libjpeg62 libjpeg62-dev libltdl3 libltdl3-dev libpng12-0 libpng12-dev libtiff4 libtiff4-dev libtiffxx0c2 python-imaging python-imaging-dbg proj }}} Cairo dipendenze {{{ sudo aptitude install libcairo2 libcairo2-dev python-cairo python-cairo-dev libcairomm-1.0-1 libcairomm-1.0-dev libglib2.0-0 libpixman-1-0 libpixman-1-dev libpthread-stubs0 libpthread-stubs0-dev ttf-dejavu ttf-dejavu-core ttf-dejavu-extra }}} |
Di seguito viene mostrato un esempio di utilizzo di '''Mapnik'''. |
Linea 36: | Linea 26: |
0. 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'''. | |
Linea 37: | Linea 28: |
0. Passo 1 0. Passo 2 0. Passo 3 |
0. Aprire un [:Ufficio/EditorDiTesto:editor di testo] e incollare al suo interno il seguente testo: {{{ #!python #!/usr/bin/env python |
Linea 41: | Linea 32: |
== Titolo 2 == | from mapnik import * |
Linea 43: | Linea 34: |
= Mapnik = | # Definizione delle dimensioni della mappa # e il sistema di riferimento geografico (latlon WGS84) m = Map(500,300,"+proj=latlong +datum=WGS84") |
Linea 45: | Linea 38: |
Testo... | # Colore dello sfondo m.background = Color('steelblue') |
Linea 47: | Linea 41: |
0. Passo 1 0. Passo 2 0. Passo 3 |
# Creazione di uno stile s = Style() |
Linea 51: | Linea 44: |
== Titolo 2 == | # Definizione dello stile. Uno stile puo' comprendere una o piu' regole (Rule). # Una regola puo' comprendere un filtro, la definizione di scala minima e massima, # uno o piu' Symbolizers (PolygonSymbolizer e LineSymbolizer) r=Rule() |
Linea 53: | Linea 49: |
Testo... | # Colore di riempimento dei poligoni r.symbols.append(PolygonSymbolizer(Color('#f2eff9'))) # Colore e spessore delle linee di contorno r.symbols.append(LineSymbolizer(Color('rgb(50%,50%,50%)'),0.1)) s.rules.append(r) # Aggiunta dello stile alla mappa e definizione di un nome # da usare nella definizione del livello m.append_style('My Style',s) # Vengono definiti i nomi di uno o piu' livelli (Layer) lyr = Layer('world') # Percorso allo shapefile. # Lo shapefile deve essere indicato senza estensione! lyr.datasource = Shapefile(file='/percorso/ai/dati/world_borders') # Aggiunta dello stile al livello lyr.styles.append('My Style') # Aggiunta del livello della mappa m.layers.append(lyr) # Definizione dell'estensione geografica. Le due coppie di coordinate # corrispondono ai due angoli basso-sinistro e alto-destro della mappa bbox = Envelope(Coord(6, 34), Coord(22, 48)) # Ingrandimento all'estensione geografica definita prima m.zoom_to_box(bbox) # Conversione della mappa m nel file italia.png con formato .png render_to_file(m,'italia.png', 'png') exit() }}} 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 rendere un'altra zona geografica. Non dimenticare di modificare il percorso al file ESRI. 0. 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. |
Linea 57: | Linea 93: |
* Risorsa 1 * Risorsa 2 ## da questo punto in poi non modificare! |
* [http://mapnik.org/documentation/ Documentazione ufficiale] * [http://trac.mapnik.org/wiki/ExampleCode Esempi di codice] * [:UbuntuGis:Guida all'installazione di altri strumenti GIS] * [http://mike.teczno.com/notes/mapnik.html Map Design: consigli utili] |
Linea 62: | Linea 98: |
CategoryNuoviDocumenti | CategoryProgrammazione |
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. Mapnik è il renderer ufficiale del progetto di cartografia libera [http://www.openstreetmap.org/ Openstreetmap].
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. Uno stile puo' comprendere una o piu' regole (Rule). 16 # Una regola puo' comprendere un filtro, la definizione di scala minima e massima, 17 # uno o piu' 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 piu' livelli (Layer) 32 lyr = Layer('world') 33 34 # Percorso allo shapefile. 35 # Lo shapefile deve essere indicato senza estensione! 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 della mappa m nel file italia.png con formato .png 52 render_to_file(m,'italia.png', 'png') 53 exit()
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 rendere un'altra zona geografica. Non dimenticare 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://mapnik.org/documentation/ Documentazione ufficiale]
[http://trac.mapnik.org/wiki/ExampleCode Esempi di codice]
[:UbuntuGis:Guida all'installazione di altri strumenti GIS]
[http://mike.teczno.com/notes/mapnik.html Map Design: consigli utili]