Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "Programmazione/Mapnik"
Differenze tra le versioni 3 e 61 (in 58 versioni)
Versione 3 del 24/09/2008 09.43.07
Dimensione: 2649
Commento:
Versione 61 del 23/11/2008 10.13.18
Dimensione: 3823
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 1: Linea 1:
## page was renamed from TommasoDiBucchianico/Prove2
## page was renamed from TommasoDiBucchianico/prove1
Linea 8: Linea 10:
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.
Linea 10: Linea 12:
= Installazione da Repository (Ubuntu 8.04) = = Preparativi =
Linea 12: Linea 14:
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 16:
{{{
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 18:
= Installazione tramite sorgenti (Ubuntu 8.04) = [:AmministrazioneSistema/InstallareProgrammi:Installare] il pacchetto ''python-mapnik''.
Linea 21: Linea 20:
Innanzitutto vanno aggiornati i pacchetti già installati
{{{
aptitude update
aptitude upgrade
}}}
= Esempio di utilizzo =
Linea 27: Linea 22:
Installazione delle dipendenze richieste tramite [:AmministrazioneSistema/Aptitude:Aptitude]: Di seguito viene mostrato un esempio di utilizzo di '''Mapnik'''.
Linea 29: Linea 24:
boost dipendenze:
{{{
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
}}}
 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 34: Linea 26:
Altre dipendenze richieste
{{{
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 Renderer dipendenze (opzionale)
{{{
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
}}}
Installazione di altri strumenti GIS (opzionale. Vedi anche [:UbuntuGis:UbuntuGis]
{{{
sudo aptitude install libgdal-dev python2.5-gdal postgresql-8.3-postgis postgresql-8.3 postgresql-server-dev-8.3 postgresql-contrib-8.3
}}}
 0. Aprire un [:Ufficio/EditorDiTesto:editor di testo] e incollare al suo interno il seguente testo: {{{
#!python
#!/usr/bin/env python
Linea 47: Linea 30:
 0. Passo 1
 0. Passo 2
 0. Passo 3
from mapnik import *
Linea 51: Linea 32:
== Titolo 2 == # Definizione delle dimensioni della mappa
# e il sistema di riferimento geografico (latlon WGS84)
m = Map(500,300,"+proj=latlong +datum=WGS84")
Linea 53: Linea 36:
= Mapnik = # Colore dello sfondo
m.background = Color('steelblue')
Linea 55: Linea 39:
Testo... # Creazione di uno stile
s = Style()
Linea 57: Linea 42:
 0. Passo 1
 0. Passo 2
 0. Passo 3
# Definizione dello stile, possono esserci una o più regole.
# Una regola può comprendere un filtro, la definizione di scale minima e massima,
# uno o più Symbolizers (PolygonSymbolizer e LineSymbolizer)
r=Rule()
Linea 61: Linea 47:
== Titolo 2 == # Colore di riempimento dei poligoni
r.symbols.append(PolygonSymbolizer(Color('#f2eff9')))
Linea 63: Linea 50:
Testo... # 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 più livelli
lyr = Layer('world')

# Percorso allo shapefile.
# Lo shapefile deve essere indicato senza esenzione!
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 la mappa m nel file italia.png con formato .png
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:

 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 67: Linea 90:
 * Risorsa 1
 * Risorsa 2

## da questo punto in poi non modificare!
 * [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]

BR Indice()

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.

  1. 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.

  2. 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:

  3. 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


CategoryNuoviDocumenti