Instalar Grass e QGis no Ubuntu 9.10 (com ECW e MrSID)

Prefácio
Este guia é uma versão adaptada para a versão 9.10 (Karmic Koala) da distribuição Ubuntu do sistema Operativo Linux de um guia anterior para a versão 8.04 (Hardy Heron): Instalar Grass e Qgis em Ubuntu 8.04 (com ECW e MrSID). São actualizados alguns comandos e corrigidos pequenos pormenores.

Para a versão 9.10 do Ubuntu o software Sig Quantum Gis (QGis) continua ausente dos repositórios oficiais e portanto não pode ser instalado com o Package Manager a não ser que se usem repositórios terceiros.


 * Para o procedimento de instalação de Qgis e Grass através repositórios poderá ser consultado o guia existente para versão 8.04 do Ubuntu: Instalar_Grass_e_Qgis_em_Ubuntu_8.04_através_repositorios.

Uma das características do QGis/Grass - quando presentes nos repositórios oficiais ou de 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 ER Mapper 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 usá-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.

Preparação
A instalação do conjunto de programas GDAL, GRASS e QGis é feita usando uma interface de linha de comandos (usualmente chamada de shell). No Ubuntu esta interface pode ser chamada pelos menus "Applications" -> "Accessories" -> "Terminal".

Este guia assume que todos os ficheiros de instalação são colocados num directório temporário - temp - na raiz da área do utilizador. Caso esse directório não exista poderá criá-lo da seguinte forma:

mkdir ~/temp

Para começar entre nesse directório:

cd ~/temp

Instalação das ferramentas necessárias à compilação do software
Para começar será necesário instalar alguns pacotes que permitiraão obter e compilar o código fonte das aplicações pretendidas: build-essential, g++ e também o software subversion.

Na shell o comando será:

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

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

Descompactamos o arquivo dentro do directório ~/temp 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 dentro do directório ~/temp. 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 o programa subversion:

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

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

cp ~/temp/Geo_DSDK-7.0.0.2167/include/*.* ~/temp/gdal/frmts/mrsid/

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

cd gdal

Configuramos os ficheiros para 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 do GRASS
Preparamos a instalação do GRASS (e sucessivamente do QGis) com a instalação de um número considerável de livrarias e programas necessários para a compilação/instalação das duas applicações SIG Desktop.

A forma mais simples de instalar estes programas é executar um comando único através da shell, 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-dev python-sip4 python2.5-dev sip4 libglew1.5-dev libxmu6 libqt4-dev libgsl0-dev swig pyqt4-dev-tools cmake-curses-gui

Agora podemos descarregar o código fonte de Grass do site http://grass.itc.it/, actualmente o pacote mais recente é grass-6.4.0RC5.tar.gz.

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

cd grass-6.4.0RC5

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

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. Para tal chamar um editor de texto como o gedit em modo administrador:

sudo gedit /etc/ld.so.conf.d/grass.conf

O ficheiro em questão deverá conter uma referência ao percurso onde se encontram as livrarias de Grass, no nosso caso deve-se incluir o seguinte caminho:

/usr/local/grass-6.4.0RC5/lib/

Gravar o ficheiro e abandonar o gedit.

A seguir descarregamos o código das livrarias do site http://download.osgeo.org/gdal/, actualmente o pacote 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.0RC5

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 está 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 do QGis
Antes de se começar a instalação do QGis há que garantir que todos os pacotes dos quais depende são previamente instalados. Para tal há primeiro que actualizar a lista de repositórios; dar o seguinte comando:

sudo gedit /etc/apt/sources.list

No final deste ficheiro acrestar as seguintes linhas:

deb http://ppa.launchpad.net/ubuntugis/ubuntugis-unstable/ubuntu karmic main deb-src http://ppa.launchpad.net/ubuntugis/ubuntugis-unstable/ubuntu karmic main

Gravar e fechar a janela do gedit. A seguir corre-se o apt-get para actualizar a lista (que também necessita de permissões de administrador):

sudo apt-get update

E para terminar este passo, ha que forçar a verificaçao de dependências:

sudo apt-get build-dep qgis

Finalmente podemos avançar com QGis, primeiro há que descarregar com o subversion a última versão do código fonte:

svn co https://svn.osgeo.org/qgis/trunk/qgis qgis_unstable

Quando o subversion terminar de descarregar o código entramos na pasta que acabámos de criar com o comando:

cd qgis_unstable

Agora é necessário configurar os ficheiros para compilação, com o comando:

ccmake.

E entramos na interface de texto do ccmake. Aqui carregamos na tecla "c" para configurar e logo a seguir irá aparecer uma janela com as dependências necessárias; deve estar tudo correcto, menos o parâmetro

GRASS_PREFIX

que tem de se configurar à mão, de forma a que aponte para o directório de instalação do Grass, nomeadamente:

GRASS_PREFIX                    /usr/local/grass-6.4.0RC5

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 ccmake levar-nos-á de volta para a shell.

Agora falta só dar os comandos:

make

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

sudo make install

Correr o QGis
Para correr o QGis basta dar o comando na shell:

qgis &

O caracter "&" indica ao sistema que o processo do QGis deve correr em fundo (background), libertando assim a shell para outros comandos.

Por fim é possível adicionar um ícone aos menus do Gnome, clicando com o botão direito do rato sobre o menu "Applications" e seleccionando "Edit Menus". Aparece assim uma nova janela onde poderá ser adicionado um novo item. Um novo item para o QGis deverá ser preenchido com "qgis" no campo "Command". O ícone do QGis encontra-se no seguinte caminho:

/usr/local/share/qgis/doc/images/qgis_new_80pct.png

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