|
Dimensione: 10293
Commento:
|
Dimensione: 12776
Commento: aggiunto un link in altre risorse
|
| Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
| Linea 9: | Linea 9: |
| '''Mapnik''' è un toolkit per la realizzazione di mappe a partire da dati vettoriali e raster ed è un'ottima alternativa ai più famosi [http://mapserver.gis.umn.edu/ Mapserver] e [http://geoserver.org/display/GEOS/Welcome Geoserver]. E' scritto in C++, permette un render molto veloce e utilizza Python bindings che supportano uno sviluppo semplice e veloce delle mappe. Grazie all'ottima [http://mapnik.org/documentation/ documentazione] e ai numerosi [http://trac.mapnik.org/wiki/ExampleCode esempi di codice] l'uso di Mapnik non è precluso a chi non ha conoscenze di programmazione. Mapnik viene usato normalmente per lo sviluppo di applicazioni web ma è adatto anche per la creazione di mappe a livello desktop. | '''Mapnik''' è un toolkit per la realizzazione di mappe a partire da dati vettoriali e raster ed è un'ottima alternativa ai più famosi [http://mapserver.gis.umn.edu/ Mapserver] e [http://geoserver.org/display/GEOS/Welcome Geoserver]. E' scritto in C++, permette un render molto veloce e utilizza Python bindings che supportano uno sviluppo semplice e veloce delle mappe. Grazie all'ottima [http://mapnik.org/documentation/ documentazione] e ai numerosi [http://trac.mapnik.org/wiki/ExampleCode esempi di codice] l'uso di Mapnik non è precluso a chi non ha conoscenze di programmazione. Mapnik viene usato normalmente per lo sviluppo di applicazioni web ma è adatto anche per la creazione di mappe a livello desktop. |
| Linea 23: | Linea 23: |
| 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 libfreetype6 libfreetype6-dev libjpeg62 libjpeg62-dev libltdl3 libltdl3-dev libpng12-0 libpng12-dev libtiff4 libtiff4-dev libtiffxx0c2 python-imaging python-imaging-dbg proj | 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 libfreetype6 libfreetype6-dev libjpeg62 libjpeg62-dev libltdl3 libltdl3-dev libpng12-0 libpng12-dev libtiff4 libtiff4-dev libtiffxx0c2 python-imaging python-imaging-dbg proj libxml2-dev xml2 g++ |
| Linea 29: | Linea 29: |
| ||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%>[[Immagine(Icone/Piccole/note.png,,center)]] ||<style="padding:0.5em; border:none;">''Nel caso si riceva un errore relativo alla libreria m in fase di compilazione, è necessario disinstallare il pacchetto'' '''libcairomm-1.0-dev'''. || | |
| Linea 68: | Linea 68: |
| Se non dovesse essere restituito nessun output l'installazione è andata bene e si può passare al capitolo successivo. = Primi passi con Mapnik = Vedremo ora come ottenere una mappa con Mapnik. Innanzitutto bisogna scaricare un semplice dataset vettoriale in formato [http://it.wikipedia.org/wiki/Shapefile ESRI Shapefile] e salvarlo in un punto qualsiasi nel filesystem. Adesso scriviamo un semplice script in python che punti a questo file ne definisca lo stile e l'estensione geografica. Per fare questo salvare il seguente script nella propria home in un file chiamato `mappa.py`. L'estensione geografica dello script rende l'area realtiva al mediterraneo. Modificare le coordinate se si desidera rendere un'altra zona geografica * Non dimenticare di modificare il percorso allo shapefile! {{{ |
Se non dovesse essere restituito nessun output di errore l'installazione è andata bene e si può passare al capitolo successivo. = Esempio con Mapnik = Di seguito viene mostrato un primo esempio di utilizzo di '''Mapnik'''. 0. Scaricare a [http://mappinghacks.com/data/world_borders.zip questo indirizzo] un dataset vettoriale in formato [http://it.wikipedia.org/wiki/Shapefile ESRI Shapefile], decomprimerlo e salvarlo all'interno della propria '''Home'''. 0. Scrivere uno script in python che punti a questo file ne definisca lo stile e l'estensione geografica. Per fare questo salvare il seguente script all'interno della propria '''Home''' in un file chiamato `mappa.py`. L'estensione geografica dello script rende l'area relativa al mediterraneo. Modificare le coordinate se si desidera rendere un'altra zona geografica, non dimenticando di modificare il percorso allo shapefile: {{{ |
| Linea 82: | Linea 80: |
| #qui definiamo la mappa da rendere con le sue dimensioni e il sistema di riferimento geografico (latlon WGS84) | #qui definiamo la mappa da rendere con le sue dimensioni # e il sistema di riferimento geografico (latlon WGS84) |
| Linea 91: | Linea 90: |
| # Adesso deve venir definito lo stile. Questo puo' avere una o piu' rule (regole). Una rule puo' comprendere un filtro, la definizione di scale minima e # massima, uno o piu' Symbolizers (PolygonSymbolizer e LineSymbolizer) |
# Adesso deve venir definito lo stile. Questo puo' # avere una o piu' rule (regole). Una rule puo' comprendere # un filtro, la definizione di scale minima e massima, # uno o piu' Symbolizers (PolygonSymbolizer e LineSymbolizer) |
| Linea 102: | Linea 103: |
| # Aggiungiamo lo stile alla mappa e gli diamo un nome da usare nella definizione del layer (livello) | # Aggiungiamo lo stile alla mappa e gli diamo un nome # da usare nella definizione del layer (livello) |
| Linea 105: | Linea 107: |
| # Adesso vengono definiti uno o piu' layer (livelli). Innanzitutto definiamo il nome dello stesso | # Adesso vengono definiti uno o piu' layer (livelli). # Innanzitutto definiamo il nome dello stesso |
| Linea 108: | Linea 111: |
| # # # # # # # # # # # # # # # # # # | ################################################################ |
| Linea 111: | Linea 114: |
| # # # # # # # # # # # # # # # # # | ################################################################ |
| Linea 120: | Linea 123: |
| # Definiamo l'estensione geografica. Le due coppie di coordinate corrispondono ai due angoli basso-sinistro e alto-destro della # mappa |
# Definiamo l'estensione geografica. Le due coppie di coordinate # corrispondono ai due angoli basso-sinistro e alto-destro della mappa |
| Linea 132: | Linea 135: |
| Una volta salvato il file bisogna dargli permessi di esecuzione {{{ |
0. Una volta salvato il file bisogna dargli [:AmministrazioneSistema/PermessiFile:permessi] di esecuzione:{{{ |
| Linea 136: | Linea 138: |
| Adesso lo script può essere lanciano {{{ |
0. Avviare lo script lanciando il seguente comando all'interno di una finestra di terminale:{{{ |
| Linea 141: | Linea 142: |
| Il risultato dovrebbe essere il file `italia.png` che rappresenta la nostra mappa. |
0. Il risultato dovrebbe essere il file `italia.png` che rappresenta la mappa. |
| Linea 154: | Linea 154: |
| Il codice sorgente del '''Viewer''' è contenuto in una sotto cartella del sorgente di '''Mapnik''' e deve essere compilato a parte. Per la compilazione è necessario [:AmministrazioneSistema/InstallareProgrammi:installare] il pacchetto ''qt4-dev-tools''. | Il codice sorgente del '''Viewer''' è contenuto in una sotto cartella del sorgente di '''Mapnik''' e deve essere compilato a parte. Per la compilazione è necessario [:AmministrazioneSistema/InstallareProgrammi:installare] i pacchetti ''qt4-dev-tools'' e ''libqt4-dev''. |
| Linea 156: | Linea 156: |
| cd ~/src/mapnik/dem/viewer }}} 0. E' necessario adattare alcuni file al proprio sistema, quindi aprire il file `viewer.pro` con un [:Ufficio/EditorDiTesto:editor di testo] e modificarlo il percorso di '''INCLUDEPATH''' la riga '''unix.LIBS''' come segue:{{{ |
cd ~/src/mapnik/demo/viewer }}} 0. E' necessario adattare alcuni file al proprio sistema, quindi aprire il file `viewer.pro` con un [:Ufficio/EditorDiTesto:editor di testo] e modificare il percorso di '''INCLUDEPATH''' come segue:{{{ |
| Linea 162: | Linea 162: |
| INCLUDEPATH += | INCLUDEPATH += . }}} Modificare anche la riga '''unix.LIBS''' come segue {{{ |
| Linea 167: | Linea 170: |
| freetype_engine::register_font("/usr/local/lib/mapnik/fonts/DejaVuSans.ttf"); freetype_engine::register_font("/usr/local/lib/mapnik/fonts/DejaVuSans-Bold.ttf"); freetype_engine::register_font("/usr/local/lib/mapnik/fonts/DejaVuSansMono.ttf"); |
freetype_engine::register_font("/usr/local/lib/mapnik/fonts/DejaVuSans-Bold.ttf"); freetype_engine::register_font("/usr/local/lib/mapnik/fonts/DejaVuSans-BoldOblique.ttf"); freetype_engine::register_font("/usr/local/lib/mapnik/fonts/DejaVuSans-ExtraLight.ttf"); freetype_engine::register_font("/usr/local/lib/mapnik/fonts/DejaVuSans-Oblique.ttf"); freetype_engine::register_font("/usr/local/lib/mapnik/fonts/DejaVuSans.ttf"); freetype_engine::register_font("/usr/local/lib/mapnik/fonts/DejaVuSansCondensed-Bold.ttf"); freetype_engine::register_font("/usr/local/lib/mapnik/fonts/DejaVuSansCondensed-BoldOblique.ttf"); freetype_engine::register_font("/usr/local/lib/mapnik/fonts/DejaVuSansCondensed-Oblique.ttf"); freetype_engine::register_font("/usr/local/lib/mapnik/fonts/DejaVuSansCondensed.ttf"); freetype_engine::register_font("/usr/local/lib/mapnik/fonts/DejaVuSansMono-Bold.ttf"); freetype_engine::register_font("/usr/local/lib/mapnik/fonts/DejaVuSansMono-BoldOblique.ttf"); freetype_engine::register_font("/usr/local/lib/mapnik/fonts/DejaVuSansMono-Oblique.ttf"); freetype_engine::register_font("/usr/local/lib/mapnik/fonts/DejaVuSansMono.ttf"); freetype_engine::register_font("/usr/local/lib/mapnik/fonts/DejaVuSerif-Bold.ttf"); freetype_engine::register_font("/usr/local/lib/mapnik/fonts/DejaVuSerif-BoldOblique.ttf"); freetype_engine::register_font("/usr/local/lib/mapnik/fonts/DejaVuSerif-Oblique.ttf"); freetype_engine::register_font("/usr/local/lib/mapnik/fonts/DejaVuSerif.ttf"); freetype_engine::register_font("/usr/local/lib/mapnik/fonts/DejaVuSerifCondensed-Bold.ttf"); freetype_engine::register_font("/usr/local/lib/mapnik/fonts/DejaVuSerifCondensed-BoldOblique.ttf"); freetype_engine::register_font("/usr/local/lib/mapnik/fonts/DejaVuSerifCondensed-Oblique.ttf"); freetype_engine::register_font("/usr/local/lib/mapnik/fonts/DejaVuSerifCondensed.ttf"); |
| Linea 172: | Linea 194: |
| /usr/bin/qmake-qt4 -makefile | /usr/share/qt4/bin/qmake -makefile |
| Linea 191: | Linea 213: |
| * [http://trac.mapnik.org/wiki/InstallationTroubleshooting/ Possibili problemi e soluzioni durante la compilazione] |
Introduzione
Mapnik è un toolkit per la realizzazione di mappe a partire da dati vettoriali e raster ed è un'ottima alternativa ai più famosi [http://mapserver.gis.umn.edu/ Mapserver] e [http://geoserver.org/display/GEOS/Welcome Geoserver]. E' scritto in C++, permette un render molto veloce e utilizza Python bindings che supportano uno sviluppo semplice e veloce delle mappe. Grazie all'ottima [http://mapnik.org/documentation/ documentazione] e ai numerosi [http://trac.mapnik.org/wiki/ExampleCode esempi di codice] l'uso di Mapnik non è precluso a chi non ha conoscenze di programmazione. Mapnik viene usato normalmente per lo sviluppo di applicazioni web ma è adatto anche per la creazione di mappe a livello desktop.
Mapnik inoltre è il renderer "ufficiale" del progetto di cartografia libera [http://openstreetmap.org openstreetmap].
Installazione da Repository
Per installare Mapnik è necessario [:AmministrazioneSistema/InstallareProgrammi:installare] il pacchetto python-mapnik, reperibile dal [:Repository/Componenti:componente] universe dei [:Repository:repository ufficiali].
Per installare una versione più aggiornata non presente nei repository ufficiali si deve procedere tramite la [:AmministrazioneSistema/InstallareProgrammi/DaSorgenti:compilazione dei sorgenti].
Installazione tramite sorgenti
Installazione dipendenze
Installazione delle dipendenze boost richieste tramite:
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 libfreetype6 libfreetype6-dev libjpeg62 libjpeg62-dev libltdl3 libltdl3-dev libpng12-0 libpng12-dev libtiff4 libtiff4-dev libtiffxx0c2 python-imaging python-imaging-dbg proj libxml2-dev xml2 g++
Opzionale: Cairo Renderer:
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
Nel caso si riceva un errore relativo alla libreria m in fase di compilazione, è necessario disinstallare il pacchetto libcairomm-1.0-dev.
Opzionale: Installazione di altri strumenti [:UbuntuGis:GIS]:
sudo aptitude install libgdal-dev python2.5-gdal postgresql-8.3-postgis postgresql-8.3 postgresql-server-dev-8.3 postgresql-contrib-8.3
Compilazione e installazione
Innanzitutto creiamo una cartella apposita nella nostra home, ci entriamo dentro e scarichiamo i sorgenti di Mapnik tramite [:Programmazione/Subversion:Subversion]
mkdir ~/src cd ~/src svn co svn://svn.mapnik.org/trunk mapnik cd mapnik
Installazione senza supporto Postgis, gdal e WMS
Se non si sono installati [http://www.postgis.org/ Postgis], le [http://it.wikipedia.org/wiki/GDAL librerie gdal] e non si ha intenzione di usare Mapnik come server [http://it.wikipedia.org/wiki/Web_Map_Service WMS] è suffiente dare i seguenti comandi all'interno di una finestra di terminale:
python scons/scons.py sudo python scons/scons.py install
Installazione con supporto Postgis, gdal e WMS
Se invece si sono istallati [http://www.postgis.org/ Postgis], le [http://it.wikipedia.org/wiki/GDAL librerie gdal] e si ha intenzione di usare il supporto [http://it.wikipedia.org/wiki/Web_Map_Service WMS] è necessario specificare il percorso alle librerie necessarie, digitando i seguenti comandi all'interno di una finestra di terminale:
python scons/scons.py DEBUG=y PGSQL_INCLUDES=/usr/include/postgresql/ PGSQL_LIBS=/usr/lib/postgresql/8.3/lib GDAL_INCLUDES=/usr/local/include GDAL_LIBS=/usr/local/lib XMLPARSER=libxml2 sudo python scons/scons.py install DEBUG=y PGSQL_INCLUDES=/usr/include/postgresql/ PGSQL_LIBS=/usr/lib/postgresql/8.3/lib GDAL_INCLUDES=/usr/local/include GDAL_LIBS=/usr/local/lib XMLPARSER=libxml2
Digitare il seguente comando all'interno di una finestra di terminale:
sudo ldconfig
Test dell'installazione
Aprire una console di python digitando all'interno di una finestra di terminale il seguente comando:
python
Iniziare le operazioni di verifica tramite il seguente comando:
import mapnik
Se non dovesse essere restituito nessun output di errore l'installazione è andata bene e si può passare al capitolo successivo.
Esempio con Mapnik
Di seguito viene mostrato un primo esempio di utilizzo di Mapnik.
Scaricare a [http://mappinghacks.com/data/world_borders.zip questo indirizzo] un dataset vettoriale in formato [http://it.wikipedia.org/wiki/Shapefile ESRI Shapefile], decomprimerlo e salvarlo all'interno della propria Home.
Scrivere uno script in python che punti a questo file ne definisca lo stile e l'estensione geografica. Per fare questo salvare il seguente script all'interno della propria Home in un file chiamato mappa.py. L'estensione geografica dello script rende l'area relativa al mediterraneo. Modificare le coordinate se si desidera rendere un'altra zona geografica, non dimenticando di modificare il percorso allo shapefile:
from mapnik import * #qui definiamo la mappa da rendere con le sue dimensioni # e il sistema di riferimento geografico (latlon WGS84) m = Map(500,300,"+proj=latlong +datum=WGS84") #colore dello sfondo m.background = Color('steelblue') # Qui viene creato un stile s = Style() # Adesso deve venir definito lo stile. Questo puo' # avere una o piu' rule (regole). Una rule puo' comprendere # un filtro, la definizione di scale 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) # Aggiungiamo lo stile alla mappa e gli diamo un nome # da usare nella definizione del layer (livello) m.append_style('My Style',s) # Adesso vengono definiti uno o piu' layer (livelli). # Innanzitutto definiamo il nome dello stesso lyr = Layer('world') ################################################################ #Percorso allo shapefile. --> DA CAMBIARE! # Lo shapefile deve essere indicato SENZA ESTENSIONE (senza .shp) ################################################################ lyr.datasource = Shapefile(file='/percorso/ai/dati/world_borders') # aggiungiamo lo stile al layer lyr.styles.append('My Style') # aggiungiamo il layer alla mappa da rendere m.layers.append(lyr) # Definiamo l'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)) # zoomiamo all'estensione geografica definita prima m.zoom_to_box(bbox) # rendiamo la mappa m nel file italia.png con formato png render_to_file(m,'italia.png', 'png')Una volta salvato il file bisogna dargli [:AmministrazioneSistema/PermessiFile:permessi] di esecuzione:
chmod +x ~/mappa.py
Avviare lo script lanciando il seguente comando all'interno di una finestra di terminale:
./mappa.py
Il risultato dovrebbe essere il file italia.png che rappresenta la mappa.
Compilazione del Viewer
Mapnik comprende un visualizzatore per la vedere i mapfile di tipo .xml. Il Viewer permette le seguenti funzioni:
- Visualizzare on-the-fly dei tiles
- Leggere nel terminale i livelli di zoom e envelope
- Fare lo zoom tramite query
- Leggere eventuali errori di configurazione della mappa
Esportare in diversi formati tra cui .tif
Il Viewer è non è presente nel pacchetto installabile da repository. Se si ha intenzione di usarlo è necessario installare Mapnik da sorgenti |
Compilazione e installazione
Il codice sorgente del Viewer è contenuto in una sotto cartella del sorgente di Mapnik e deve essere compilato a parte. Per la compilazione è necessario [:AmministrazioneSistema/InstallareProgrammi:installare] i pacchetti qt4-dev-tools e libqt4-dev.
Entrare della cartella che contiene il Viewer:
cd ~/src/mapnik/demo/viewer
E' necessario adattare alcuni file al proprio sistema, quindi aprire il file viewer.pro con un [:Ufficio/EditorDiTesto:editor di testo] e modificare il percorso di INCLUDEPATH come segue:
INCLUDEPATH += /usr/local/include/mapnik INCLUDEPATH += /usr/include/boost-1_34_1 INCLUDEPATH += /usr/include/freetype2 INCLUDEPATH += .
Modificare anche la riga unix.LIBS come segue
unix:LIBS += -L/usr/local/lib -lmapnik
Aprire il file main.cpp con un [:Ufficio/EditorDiTesto:editor di testo] e modificarlo specificando il percorso ai font a ai plugin di Mapnik:
datasource_cache::instance()->register_datasources("/usr/local/lib/mapnik/input"); freetype_engine::register_font("/usr/local/lib/mapnik/fonts/DejaVuSans-Bold.ttf"); freetype_engine::register_font("/usr/local/lib/mapnik/fonts/DejaVuSans-BoldOblique.ttf"); freetype_engine::register_font("/usr/local/lib/mapnik/fonts/DejaVuSans-ExtraLight.ttf"); freetype_engine::register_font("/usr/local/lib/mapnik/fonts/DejaVuSans-Oblique.ttf"); freetype_engine::register_font("/usr/local/lib/mapnik/fonts/DejaVuSans.ttf"); freetype_engine::register_font("/usr/local/lib/mapnik/fonts/DejaVuSansCondensed-Bold.ttf"); freetype_engine::register_font("/usr/local/lib/mapnik/fonts/DejaVuSansCondensed-BoldOblique.ttf"); freetype_engine::register_font("/usr/local/lib/mapnik/fonts/DejaVuSansCondensed-Oblique.ttf"); freetype_engine::register_font("/usr/local/lib/mapnik/fonts/DejaVuSansCondensed.ttf"); freetype_engine::register_font("/usr/local/lib/mapnik/fonts/DejaVuSansMono-Bold.ttf"); freetype_engine::register_font("/usr/local/lib/mapnik/fonts/DejaVuSansMono-BoldOblique.ttf"); freetype_engine::register_font("/usr/local/lib/mapnik/fonts/DejaVuSansMono-Oblique.ttf"); freetype_engine::register_font("/usr/local/lib/mapnik/fonts/DejaVuSansMono.ttf"); freetype_engine::register_font("/usr/local/lib/mapnik/fonts/DejaVuSerif-Bold.ttf"); freetype_engine::register_font("/usr/local/lib/mapnik/fonts/DejaVuSerif-BoldOblique.ttf"); freetype_engine::register_font("/usr/local/lib/mapnik/fonts/DejaVuSerif-Oblique.ttf"); freetype_engine::register_font("/usr/local/lib/mapnik/fonts/DejaVuSerif.ttf"); freetype_engine::register_font("/usr/local/lib/mapnik/fonts/DejaVuSerifCondensed-Bold.ttf"); freetype_engine::register_font("/usr/local/lib/mapnik/fonts/DejaVuSerifCondensed-BoldOblique.ttf"); freetype_engine::register_font("/usr/local/lib/mapnik/fonts/DejaVuSerifCondensed-Oblique.ttf"); freetype_engine::register_font("/usr/local/lib/mapnik/fonts/DejaVuSerifCondensed.ttf");Compilare e installare il Viewer digitando all'interno di una finestra di terminale i seguenti comandi:
/usr/share/qt4/bin/qmake -makefile make
Lanciare il Viewer
Restando nella stessa cartella digitare il seguente comando sempre da una finestra di termiale:
./viewer
Per visualizzare un mapfile lanciare il viewer aggiungendo il percorso dello stesso
./viewer /percorso/mapfile.xml
Ulteriori risorse
[http://trac.mapnik.org/wiki/UbuntuInstallation/ Documento originale]
[http://trac.mapnik.org/ wiki di Mapnik]
[http://trac.mapnik.org/wiki/GettingStarted tutorial]
[http://mike.teczno.com/notes/mapnik.html consigli stilistici]
[:UbuntuGis: guida all'installazione di altri strumenti GIS]
[http://trac.mapnik.org/wiki/InstallationTroubleshooting/ Possibili problemi e soluzioni durante la compilazione]
