Come abilitare il supporto ai file ECW in GDAL e visualizzarli in GRASS e QGIS

Da Wikipedia, l'enciclopedia libera.

Torna a HOWTOs e procedure tipo

Per abilitare GDAL ad importare file ECW è sufficiente per prima compilare le librerie ECW ed in seguito compilare le gdal come descritto sotto.


N.B.: ricompilare è necessario per persistenti problemi di licenza in ECW.


Contents

Compilare le librerie ECW

Note per Ubuntu Edgy i386/AMD64


Innanzitutto vanno scaricati sorgenti delle librerie ECW JPEG 200 in formato zip dal sito di ermapper qui. Cliccare su Download NOW. Per poter proseguire con il download è necessaria una semplice registrazione. Dopo aver scompattato il file eseguire i seguenti comandi:

cd

alla directory libecwj2-3.3 (ad esempiocd /home/pierluigi/SOFTWARE_SORGENTI/libecwj2-3.3)

./configure

Per Ubuntu è più opportuno utilizzare la sintassi:

./configure --prefix=/usr

Altri applicativi installati dai pacchetti DEB (vedi QGIS) troveranno le librerie in /usr/lib, dove si aspettano che siano invece che in /usr/local/lib

make

Per installare un pacchetto che sia facilmente disinstallabile anche attraverso Synaptic si può usare il programma checkinstall che crea uno "pseudo" deb e lo installa . Per installare checkinstall digitare:

sudo apt-get update
sudo apt-get install checkinstall

A questo punto ci si posiziona nella directory libecwj2-3.3 e si digita:

sudo checkinstall

Il programma provvede a compilare le librerie, a creare il deb ed a installarlo:

su (password di root)
make install

Compilare le librerie GDAL con supporto ECW

Scaricare dal sito di gdal il file tar.gz della versione più recente. Scompattare il tar.gz entrare nella directory GDAL ed eseguire i seguenti comandi: (N.B. i comandi sono relativi alla mia macchina ma sono abbastanza generali da poter essere utilizzati sempre)

./configure --with-ecw=/usr/local --with-grass=/usr/local/grass-6.1.cvs  --with-pg=/usr/local/pgsql/bin/pg_config

Su Ubuntu Edgy AMD64 si riesce attualmente ad installare la versione 1.3.1, il cui sorgente è disponibile dal repository ufficiali di Ubuntu, si può scaricare (nella cartella in cui ci si trova con la shell) attraverso i seguenti comandi:

sudo apt-get update
sudo apt-get source gdal

Si ottiene una cartella con i sorgenti già patchati per Ubuntu, a questo punto si entra, con la shell, nella cartella gdal-1.3.1 e si configura con:

./configure --with-grass=/usr/lib/grass --with-ecw=/usr/ --with-pg=/usr/bin/pg_config --with-gdal-ver=1.3.1_ecw \
--prefix=/usr  --with-libgrass=/usr/lib/grass

Può essere necessario rendere eseguibile il file rules con:

chmod u+x ./debian/rules

Poi si creano i deb con: ???

Se necessario si installano le dipendenze mancanti, ache attraverso:

apt-get build-dep gdal
sudo dpkg-buildpackage -rfakeroot -uc -b -vecw

Ci si poziziona nella cartella superiore e si installano i deb:

sudo dpkg -i *.deb 

In Ubuntu i386, se si utilizzano i repository di Ubuntu GIS e si upgradato il sistema (Grass, Qgis, Mapserver, ecc): http://les-ejk.cz/ubuntu/

Si possono ricompilare le gdal 1.3.2, si scaricano i sorgenti e la patch dal repository feisty di Ubuntu http://packages.ubuntu.com/feisty/source/gdal

Si scompattano i sorgenti e si applica la patch con:

zcat gdal_1.3.2-2.diff.gz | patch -p0

a questo punto si configura:

./configure --with-grass=/usr/lib/grass --with-ecw=/usr/ --with-pg=/usr/bin/pg_config --with-gdal-ver=1.3.1_ecw \
--prefix=/usr  --with-libgrass=/usr/lib/grass

Può essere necessario rendere eseguibile il file rules con:

chmod u+x ./debian/rules

Poi si creano i deb con:

sudo dpkg-buildpackage -rfakeroot -uc -b -vecw

Se necessario si installano le dipendenze mancanti, anche attraverso:

'apt-get build-dep gdal

Ci si poziziona nella cartella superiore e si installano i deb:

sudo dpkg -i *.deb  
make
su (password di root)
make install

Ora per verificare che le GDAL supportino le ECW dare il comando:

gdalinfo --formats

Verrà mostrato un elenco di tipi supportati tra cui dovgrà risultare anche questa due righe:

ECW (rw): ERMapper Compressed Wavelets
JP2ECW (rw+): ERMapper JPEG2000

A questo punto è possibile importare i file ECW in GRASS con r.in.gdal direttamente.

Creare un plugin GDAL per il supporto ECW (DRAFT)

Su un sistema Debian Lenny con versione di gdal 1.5.2 è possibile in alternativa alla ricompilazione delle GDAL, compilare il solo supporto ECW/JP2ECW in modalità plugin. Attualmente il package relativo è disponibile solo nel repository subversion di DebianGis e richiede qualche operazione manuale, perché il packaging è ancora grezzo. Per prendere la versione di sviluppo del plugin:

cd /tmp && svn export svn://svn.debian.org/svn/pkg-grass/packages/gdal-ecw/trunk gdal-ecw 

Una volta compilato e installato il SDK ECW sotto /usr/local/libecw per esempio, si può produrre un deb source da installare per la compilazione:

cd /tmp/gdal-ecw
fakeroot debian/rules binary-indep
dpkg -i ../gdal-ecw-src_1.5.2-*_all.deb
cd /usr/src
tar xzvf gdal-ecw-*.tar.gz
cd gdal-ecw*
./configure --with-ecw=/usr/local/libecw --with-autoload=/usr/lib/gdal15plugins
make
make install

Al completamento, sara' presente una nuova shared lib gdal_ECW_JP2ECW.so sotto la directory dei plugins di GDAL 1.5.x Si noti che fino al branch 1.5 il plugini ECW NON fa parte delle funzionalita' ufficiali di GDAL e solo il patchset incluso nel debsrc è utilizzabile in tal senso. Nello stesso repository è stato reso disponibile parimenti un plugin per MrSid, realizzato in termini simili.

Torna a HOWTOs e procedure tipo

Personal tools