Introduzione
Questa guida vuole essere una traduzione abbastanza fedele della [http://trac.mapnik.org/wiki/UbuntuInstallation/ guida all'istallazione di Mapnik su Ubuntu 8.04] presente nel sito ufficiale di Mapnik, arricchita con alcuni punti personali.
Mapnik è un toolkit (insieme di strumenti) 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 (Ubuntu 8.04)
Per Ubuntu 8.04 è presente nei [http://wiki.ubuntu-it.org/Repository?highlight=%28repository%29 repository] Universe il pacchetto python-mapnik che contiene Mapnik 0.4 e può essere comodamente installato tramire apt-get.
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 tramite sorgenti (Ubuntu 8.04)
Installazione dipendenze
- Innanzitutto vanno aggiornati i pacchetti già installati
aptitude update aptitude upgrade
Installazione delle dipendenze boost richieste tramite [:AmministrazioneSistema/Aptitude:Aptitude]:
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 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
- Opzionale: Cairo Renderer 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
Opzionale: Installazione di altri strumenti GIS (Vedi in proposito anche la guida [: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
Compilazione e installazione
- Se non si sono installate Postgis, Gdal e non si ha intenzione di usare Mapnik come server WMS è suffiente dare i seguenti comandi
mkdir ~/src cd ~/src svn co svn://svn.mapnik.org/trunk mapnik cd mapnik python scons/scons.py sudo python scons/scons.py install
- Se invece si sono istallati Postgis, Gdal e si ha intenzione di usare il supporto WMS è necessario specificare il percorso alle librerie necessarie.
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
Se si dovesse ricevere in fase di compilazione un messaggio di errore relativo alla libreria m, è necessario disinstallare il pacchetto libcairomm-1.0-dev. |
- Infine dare i seguente comando
sudo ldconfig
Testare se l'installazione è andata a buon fine
Aprire una console di python oppure dare nel terminale il comando
python
adesso all'interno di python dare il comando
import mapnik
Se non si riceve nessun output l'installazione dovrebbe essere andata bene e si può passare al [http://trac.mapnik.org/wiki/GettingStarted tutorial]
Opzionale: Compilazione del Viewer
Mapnik comprende un Viewer (visualizzatore) per la visualizzazione di mapfile di tipo xml. Il Viewer permette:
- la visualizzazione on-the-fly dei tiles
- di leggere nel terminale i correnti livelli di zoom e envelope
- possibilità di zoomare tramite query
- di leggere eventuali errori di configurazione della mappa
- di esportare in diversi formati tra cui tif
Compilazione e installazione
Il Viewer è incluso nell'installazione di Mapnik ma dev'essere compilato a parte. Per la compilazione sono necessari Qt4 (compreso il pacchtto dev) e qmake.
- Entrare della cartella che contiene il Viewer (questo comando è valido solo per l'installazione tramite sorgenti illustrata sopra. Se si è installato dai repository il viewer è in un'altra posizione)
cd ~/src/mapnik/dem/viewer
- E' necessario adattare alcuni file al proprio sistema
Aprire il file viewer.pro con un qualsiasi [:Ufficio/EditorDiTesto:editor di testo] e modificarlo 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
- Modificare anche la riga unix.LIBS come segue
Aprire il file main.cpp con un qualsiasi [:Ufficio/EditorDiTesto:editor di testo] modificarlo specificando il percorso ai font a ai plugin di Mapnik come segue
datasource_cache::instance()->register_datasources("/usr/local/lib/mapnik/input"); 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");
- Compilare e installare il Viewer
/usr/bin/qmake-qt4 -makefile make
Lanciare il Viewer
- Restando nella stessa directory dare il seguente comando
./viewer
- Per visualizzare un mapfile lanciare il viewer aggiungendo il percorso dello stesso
./viewer /percorso/mapfile.xml
Ulteriori risorse
[http://trac.mapnik.org/ wiki di Mapnik]
[http://mike.teczno.com/notes/mapnik.html consigli stilistici]
[http://trac.mapnik.org/wiki/UbuntuInstallation/ documento originale]
[:UbuntuGis: guida all'installazione di altri strumenti GIS]