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.

