Instalar Grass 6.4 e QGis 1.0 em Ubuntu 8.10 (com ECW e MrSID)

Prefácio
Desde a versão 8.04 (Hardy Heron) da distribuição Ubuntu do sistema operativo Gnu/Linux, o software Sig Quantum Gis (QGis) saiu dos repositórios oficiais (o sig Grass continua presente em Ubuntu 8.10 na sua versão 6.2.2) e portanto não pode ser instalado com o package manager a não ser que se usem repositórios terceiros.


 * O procedimento de instalação de Qgis e Grass através repositórios é, de qualquer forma, muito simples e está descrito neste guia: Instalar_Grass_e_Qgis_em_Ubuntu_8.10_através_repositorios.

Uma das características do QGis/Grass - quando presentes nos repositórios oficiais ou terceiros- é a de não ter o suporte (através das livrarias GDAL, Geospatial Data Abstraction Library) para alguns formatos de uso comum, como -por exemplo- o formato ECW (Enhanced Compression Wavelet) e MrSID (MultiResolution Seamless Image Database); esta situação é devida às licenças não claras com as quais são distribuídas as livrarias ECW e MrSID, que de facto torna muito complicada uma possível inclusão livre em packages presentes nos repositórios de muitas distribuições Gnu/Linux.

As livrarias ECW e MrSID são de qualquer forma livremente descarregáveis dos sites da ERDAS e LizardTech (responsáveis pela respectivas patentes e licenças de uso) e se aceitarmos e compreendermos as respectivas licenças, então será possível usa-las para obter instalações de QGis e de Grass com suporte, acrescentado para estes formatos. Este processo implica a compilação e instalação manual dos vários componentes: livrarias ECW, MrSID, GDAL e obviamente de Grass e Qgis.

Instalação das ferramentas necessárias à compilação do software
Com o gestor de pacotes Synaptic ou através de uma shell instalamos os seguintes pacotes: build-essential, g++ e também o software subversion que nos irá servir em seguida.

Se usamos uma shell então o comando será

sudo apt-get install build-essential g++ subversion

Instalação das livrarias ECW
Encontramos o código fonte no site da ERDAS na secção Products (para o poder obter precisamos de efectuar um registo no mesmo site). Seguimos os links "products --> ECW JPEG2000 Codec SDK --> downloads" e a seguir descarregamos o "Image Compression SDK Source Code 3.3".

Descompactamos o arquivo e entramos na pasta que acabámos de criar com o comando

cd /libecwj2-3.3

Configuramos os ficheiros para a compilação:

./configure

Compilamos o código fonte:

make

E como utilizador com permissões de administração instalamos as livrarias:

sudo make install

Voltamos ao nível superior

cd ..

Preparação das livrarias MrSID
Encontramos o código fonte no site da Lizardtech na secção download (para o poder obter precisamos de efectuar um registo no mesmo site). Seguimos os links "download --> Developer SDKs" e a seguir aceitamos a "LizardTech Software License Agreement" ao carregar o botão "I agree" e finalmente descarregamos o "GeoExpress SDK for Linux (x86) - gcc 4.1 32-bit"

Descompactamos o arquivo. As livrarias MrSID não precisam de uma instalação directa mas os ficheiros contidos nesta pasta serão necessários nas fases seguintes.

Instalação das livrarias GDAL
Descarregamos o código fonte com subversion

svn checkout https://svn.osgeo.org/gdal/trunk/gdal gdal

e copiamos alguns ficheiros que estão na pasta do SDK MrSID para a pasta com o código fonte das livrarias GDAL

cp /home/username/Desktop/Geo_DSDK-7.0.0.2167/include/*.* /home/username/Desktop/gdal/frmts/mrsid/


 * este comando pressupõe que que as pastas do DSDK e das livrarias GDAL estejam no ambiente de trabalho do computador e que "username" seja substituído para o actual "username" da vossa conta em Ubuntu Gnu/linux.

Entramos na pasta que contém o código fonte

cd /gdal

Configuramos os ficheiros pela compilação, nesta primeira fase *sem* o suporte para Grass, com suporte para MrSID e sem o suporte em leitura para o formato JP2MrSID (em caso contrário iremos ter um erro em fase de compilação) através do MrSID SDK. Lembramos de especificar a posição das livrarias MrSID usando o percurso *relativo* e não absoluto:

./configure --without-grass --with-mrsid=../Geo_DSDK-7.0.0.2167 --without-jp2mrsid

No fim da configuração deveremos obter -entre outras- as seguintes informações

... GRASS support:            no ... ... ... ECW support:              yes MrSID support             yes ...

Compilamos o código fonte:

make

E como utilizador com permissões de administração instalamos as livrarias:

sudo make install

Sem sair da pasta onde acabámos de compilar GDAL damos o comando

sudo ldconfig

A seguir podemos verificar a correcta instalação de GDAL e o correcto suporte para ECW e MrSID atraves dos seguintes comandos

gdalinfo --formats | grep 'ECW'

ou

gdalinfo --formats | grep 'SID'

Voltamos ao nível superior

cd ..

Instalação de GRASS
Preparamos a instalação de GRASS (e sucessivamente de QGis) com a instalação de um número considerável de livrarias e programas necessários para a compilação/instalação dos dois software SIG Desktop.

A forma mais simples de instalar estes software é executar um comando único através da shell, e mais especificamente:

sudo apt-get install flex bison libreadline5-dev libncurses5-dev lesstif2-dev debhelper dpatch libtiff4-dev \ tcl8.4-dev tk8.4-dev fftw-dev xlibmesa-gl-dev libfreetype6-dev autoconf2.13 autotools-dev \ libgdal1-dev proj libjpeg62-dev libpng12-dev libpq-dev unixodbc-dev doxygen fakeroot cmake \ python-dev python-qt4-common python-qt4-dev python-sip4 python2.5-dev sip4 libglew1.5-dev libxmu6 \ libqt4-dev libgsl0-dev python-qt4 swig python-wxversion python-wxgtk2.8 libwxgtk2.8-0 libwxbase2.8-0 tcl8.4-dev \ tk8.4-dev tk8.4 libfftw3-dev libfftw3-3

Agora podemos descarregar o código fonte de Grass do site http://grass.itc.it/

Actualmente o package mais recente é grass-6.4.0RC3.tar.gz

Descompactamos o arquivo e entramos na pasta que acabámos de criar com o comando

cd /grass-6.4.0RC3

e configuramos os ficheiros pela compilação com o comando

./configure --with-tcltk-includes=/usr/include/tcl8.4 --with-proj-share=/usr/share/proj --with-gdal=/usr/local/bin/gdal-config --with-python=/usr/bin/python2.5-config

Compilamos o código fonte:

make

E como utilizador com permissões de administração instalamos as Grass:

sudo make install

Voltamos ao nível superior

cd ..

GRASS agora está instalado e o podemos usar com a nova interface em wxpython

grass64 -wxpython

Instalação das livrarias GDAL-GRASS
Como primeiro passo é necessario criar um ficheiro que podemos chamar "grass.conf" dentro da pasta /etc/ld.so.conf.d. O ficheiro em questão deverá conter uma referência ao percurso onde se encontram as livrarias de Grass, no nosso caso

/usr/local/grass-6.4.0RC3/lib/

Descarregamos o código das livrarias do site http://download.osgeo.org/gdal/

Actualmente o package mais recente é gdal-grass-1.4.3.tar.gz

Descompactamos o arquivo e entramos na pasta que acabámos de criar com o comando

cd /gdal-grass-1.4.3

e configuramos os ficheiros pela compilação com o comando

./configure --with-grass=/usr/local/grass-6.4.0RC3

Compilamos o código fonte:

make

E como utilizador com permissões de administração instalamos as Grass:

sudo make install

Sem sair da pasta onde acabámos de compilar Gdal-Grass damos o comando

sudo ldconfig

e confirmamos que tudo esteja a funcionar bem. Com o comando:

gdalinfo --formats | grep 'ECW'

deveríamos obter um resultado como

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

Voltamos ao nível superior

cd ..

Instalação de QGis
Descarregar o código fonte de Qgis do site http://www.qgis.org/download/sources.html

Actualmente o package estável mais recente é http://download.osgeo.org/qgis/src/qgis_1.0.0.tar.gz

Descompactamos o arquivo e entramos na pasta que acabámos de criar com o comando

cd /qgis_1.0.0

e configuramos os ficheiros pela compilação com o comando

ccmake.

carregamos na tecla "c" para configurar e logo a seguir irá aparecer uma janela com as dependências necessárias; deveria estar tudo correcto, menos o parâmetro

GRASS_PREFIX

que precisamos configurar à mão, de forma que aponte para a pasta de instalação e Grass, nomeadamente

GRASS_PREFIX                    /usr/local/grass-6.4.0RC3

Voltamos a carregar na tecla "c" para forçar a configuração e a seguir a tecla "g" para gerar os ficheiros de configuração. Se tudo correu bem o programa cmake levar-nos-á de volta para o prompt da shell.

Agora falta só dar os comandos

make

E a seguir -como utilizador com permissões de administração- instalamos as Qgis:

sudo make install

Conclusões
No fim deste procedimento iremos obter uma instalação de Grass e uma de Qgis com suporte para os formatos ECW e MrSID com suporte para Python e com o Grass Plugin.