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 1 e 68 (in 67 versioni)
Versione 1 del 18/09/2008 20.42.07
Dimensione: 396
Commento:
Versione 68 del 16/03/2024 16.35.20
Dimensione: 3937
Autore: tommaso-db
Commento: Corretti / rimossi vecchi link
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 3: Linea 6:
[[BR]]
[[Indice()]]
<<BR>>
<<Indice>>
Linea 8: Linea 11:
Testo... 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:
= Titolo 1 = = Preparativi =
Linea 12: Linea 16:
Testo... Abilitare i [[Repository/Componenti|componenti]] '''universe''' e '''multiverse''' dei [[Repository|repository]] ufficiali.
Linea 14: Linea 18:
 0. Passo 1
 0. Passo 2
 0. Passo 3
= Installazione =
Linea 18: Linea 20:
== Titolo 2 == [[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto ''python-mapnik''.
Linea 20: Linea 22:
= Mapnik = = Esempio di utilizzo =
Linea 22: Linea 24:
Testo... Di seguito viene mostrato un esempio di utilizzo di '''Mapnik'''.
Linea 24: Linea 26:
 0. Passo 1
 0. Passo 2
 0. Passo 3
 0. Scaricare da [[https://public.opendatasoft.com/api/explore/v2.1/catalog/datasets/world-administrative-boundaries/exports/shp|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 28: Linea 28:
== Titolo 2 ==  0. Aprire un [[Ufficio/EditorDiTesto|editor di testo]] e incollare al suo interno il seguente testo: {{{
#!python
#!/usr/bin/env python
Linea 30: Linea 32:
Testo... from mapnik import *

# Definizione delle dimensioni della mappa
# e il sistema di riferimento geografico (latlon WGS84)
m = Map(500,300,"+proj=latlong +datum=WGS84")

# Colore dello sfondo
m.background = Color('steelblue')

# Creazione di uno stile
s = Style()

# 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()

# 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 34: Linea 93:
 * Risorsa 1
 * Risorsa 2

## da questo punto in poi non modificare!
 * [[http://mapnik.org/documentation/|Documentazione ufficiale]]
 * [[UbuntuGis|Guida all'installazione di altri strumenti GIS]]
 * [[http://mike.teczno.com/notes/mapnik.html|Map Design: consigli utili]]
Linea 39: Linea 97:
CategoryNuoviDocumenti CategoryProgrammazione CategoryDaRevisionare


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

Preparativi

Abilitare i componenti universe e multiverse dei repository ufficiali.

Installazione

Installare il pacchetto python-mapnik.

Esempio di utilizzo

Di seguito viene mostrato un esempio di utilizzo di Mapnik.

  1. Scaricare da questo indirizzo un dataset vettoriale in formato ESRI Shapefile e decomprimerlo all'interno della propria Home.

  2. Aprire un 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.

  3. Una volta salvato il file è necessario impostare i 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


CategoryProgrammazione CategoryDaRevisionare