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 34 e 39 (in 5 versioni)
Versione 34 del 16/10/2008 16.22.57
Dimensione: 7461
Commento:
Versione 39 del 19/10/2008 14.33.47
Dimensione: 7059
Commento: Revisione della prima parte
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 9: Linea 9:
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''' è 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 16: Linea 12:
= Installazione da Repository (Ubuntu 8.04) = = Installazione da Repository =
Linea 18: Linea 14:
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. Per installare '''Mapnik''' è necessario [:AmministrazioneSistema/InstallareProgrammi:installare] il pacchetto ''python-mapnik'', reperibile dal [:Repository/Componenti:componente] '''universe''' dei [:Repository:repository ufficiali].
Linea 20: Linea 16:
{{{
sudo apt-g
et install python-mapnik
}}}
Se si volesse
installare l'ultima versione (Mapnik 0.5) bisognerà [:AmministrazioneSistema/InstallareProgrammi/DaSorgenti:compilare i sorgenti] (vedi sotto).
Per installare una versione più aggiornata non presente nei repository ufficiali si deve procedere tramite la [:AmministrazioneSistema/InstallareProgrammi/DaSorgenti:compilare dei sorgenti].
Linea 25: Linea 18:
= Installazione tramite sorgenti (Ubuntu 8.04) = = Installazione tramite sorgenti =
Linea 28: Linea 21:
 * Innanzitutto vanno aggiornati i pacchetti già installati
  {{{
aptitude update
aptitude upgrade

 * 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
Linea 34: Linea 26:
 * 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
 * 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
Linea 40: Linea 30:
 * 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])
  {{{
 * Opzionale: Installazione di altri strumenti [:UbuntuGis:GIS]:{{{
Linea 53: Linea 34:
Linea 55: Linea 35:
 * Se non si sono installate Postgis, Gdal e non si ha intenzione di usare Mapnik come server WMS è suffiente dare i seguenti comandi
  {{{
=== Installazione senza supporto WMS ===
Se non si sono installati i programmi '''Postgis''', '''Gdal''' e non si ha intenzione di usare '''Mapnik''' come server WMS è suffiente dare i seguenti comandi all'interno di una finestra di terminale:{{{
Linea 64: Linea 44:
 * Se invece si sono istallati Postgis, Gdal e si ha intenzione di usare il supporto WMS è necessario specificare il percorso alle librerie necessarie.
  {{{

=== Installazione con supporto WMS ===

Se invece si sono istallati '''Postgis''', '''Gdal''' e si ha intenzione di usare il supporto WMS è necessario specificare il percorso alle librerie necessarie, digitando i seguenti comandi all'interno di una finestra di terminale:{{{
Linea 69: Linea 51:
||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%>[[Immagine(Icone/Piccole/note.png,,center)]] ||<style="padding:0.5em; border:none;">''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
  {{{
Digitare il seguente comando all'interno di una finestra di terminale:{{{
Linea 77: Linea 55:

= Testare se l'installazione è andata a buon fine =
Aprire una console di python oppure dare nel terminale il comando  {{{
= Testare test dell'installazione =
 0. Aprire una console di python digitando all'interno di una finestra di terminale il seguente domando:{{{
Linea 83: Linea 59:
adesso all'interno di python dare il comando
{{{
 0. Iniziare le operazioni di verifica tramite il seguente comando:{{{
Linea 87: Linea 62:
Se non si riceve nessun output l'installazione dovrebbe essere andata bene e si può passare al [http://trac.mapnik.org/wiki/GettingStarted tutorial] Se non dovesse essere restituito nessun output l'installazione è andata bene e si può passare al [http://trac.mapnik.org/wiki/GettingStarted tutorial]
Linea 96: Linea 72:
||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%>[[Immagine(Icone/Piccole/note.png,,center)]] ||<style="padding:0.5em; border:none;">''Il '''Viewer''' è non è presente nel pacchetto installabile da repository. Se si ha intenzione di usare il viewer è necessario installare '''Mapnik''' da sorgenti''||

Linea 97: Linea 76:
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)
Il codice sorgente del Viewer è contenuto in una sotto cartella del sorgente di Mapnik e deve essere compilato a parte. Per la compilazione sono necessari Qt4 (compreso il pacchtto dev) e qmake.
 * Entrare della cartella che contiene il Viewer
Linea 137: Linea 116:
 * [[http://trac.mapnik.org/wiki/UbuntuInstallation/ Documento originale]
Linea 140: Linea 119:
 * [http://trac.mapnik.org/wiki/UbuntuInstallation/ documento originale]

BR Indice()

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:compilare 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 
  • 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
  • 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

Installazione senza supporto WMS

Se non si sono installati i programmi Postgis, Gdal e non si ha intenzione di usare Mapnik come server WMS è suffiente dare i seguenti comandi all'interno di una finestra di terminale:

mkdir ~/src
cd ~/src
svn co svn://svn.mapnik.org/trunk mapnik
cd mapnik
python scons/scons.py
sudo python scons/scons.py install

Installazione con supporto WMS

Se invece si sono istallati Postgis, Gdal e si ha intenzione di usare il supporto 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

Testare test dell'installazione

  1. Aprire una console di python digitando all'interno di una finestra di terminale il seguente domando:

    python
  2. Iniziare le operazioni di verifica tramite il seguente comando:

    import mapnik

Se non dovesse essere restituito nessun output l'installazione è 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

Immagine(Icone/Piccole/note.png,,center)

Il Viewer è non è presente nel pacchetto installabile da repository. Se si ha intenzione di usare il viewer è 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 sono necessari Qt4 (compreso il pacchtto dev) e qmake.

  • Entrare della cartella che contiene il Viewer

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
    • 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


CategoryHomepage