Table of Contents
Mini-Curso TerraLib/TerraView
- Parte 1 (4 hs): Conhecendo o TerraView 5.0
Nesse parte do curso será apresentada a versão 5.0 do TerraView, um SIG de propósito geral. Serão abordadas as principais diferenças, vantagens e limitações em relação as versões anteriores. O aluno poderá usar seus próprios dados durante o exercício.
- Parte 2 (12 hs): Introdução a programação em TerraLib 5.0
Nessa parte do curso será exercitada a construção de aplicativos usando a biblioteca TerraLib na linguagem C++.- Visão geral dos módulos (1 h)
- Exercitando o módulo data access (2 h)
- Exercitando o módulo vector processing (2 h)
- Exercitando o módulo image processing (2 h)
- Framework de aplicação e sistema de plug-ins (2 h)
- Reuso das interfaces gráficas Qt fornecidas pela biblioteca (1 h)
Máquina Virtual
Os participantes do curso que tiverem interesse em realizar atividades práticas poderão utilizar o seguinte ambiente de máquina virtual:
- Oracle VirtualBox
- Linux Ubuntu 14.04 LTS (Trusty)
- Usuário: terralib5
- Senha: terra500$lib
- PostgreSQL 9.4.5
- Usuário: postgres
- Senha: secreto
- PostGIS 2.1.8
- TerraLib 5.1.0-alpha:
/home/terralib5/mylibs/terralib5
- TerraView 5.1.0-alpha:
/home/terralib5/mylibs/terralib5
- Bibliotecas de terceiros:
/home/terralib5/mylibs
- Código fonte:
/home/terralib5/curso/terralib5/codebase
- Dados de teste:
/home/terralib5/curso/data
- Pacote dos fontes de bibliotecas de terceiro:
/home/terralib5/curso/third-party
Roteiro de Preparacão da Máquina Virtual
Todos os detalhes do roteiro abaixo podem ser consultados no Guia do Desenvolvedor.
1. Atualizar seu gerenciador de pacotes:
$ sudo apt-get update
2. Instalar o git:
$ sudo apt-get install git
3. Criar uma pasta para armazenar o repositório da TerraLib e cloná-lo:
$ cd && mkdir -p curso/terralib5/codebase && cd curso/terralib5/codebase $ GIT_SSL_NO_VERIFY=true git clone https://tester:terralibdpi@git.dpi.inpe.br/terralib5 .
Obs.: Você pode setar a configuração global para não utilizar certificados SSL da seguinte forma:
$ git config --global http.sslVerify false
4. Alterar para o branch release-5.1:
$ git checkout -b release-5.1 origin/release-5.1
5. Fazer o download o pacote de bibliotecas de terceiro:
$ cd && mkdir -p curso/third-party && cd curso/third-party $ wget http://terralib5:newterralib5@www.dpi.inpe.br/terralib5-devel/3rdparty/terralib-3rdparty-linux-ubuntu-14.04.tar.gz
6. Instalar as bibliotecas de terceiro:
$ TERRALIB_DEPENDENCIES_DIR="/home/terralib5/mylibs" ~/curso/terralib5/codebase/install/install-3rdparty-linux-ubuntu-14.04.sh
7. Criar diretório de build:
$ cd ~/curso/terralib5 && mkdir build-release && cd build-release
8. Executar CMake para gerar instrucões de build:
cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE:STRING="Release" -DCMAKE_INSTALL_PREFIX:PATH="/home/terralib5/mylibs/terralib5" -DCMAKE_PREFIX_PATH:PATH="/home/terralib5/mylibs;/home/terralib5/mylibs/pgsql;/home/terralib5/mylibs/gdal2;/usr;/usr/local;" -DTERRALIB_BUILD_UNITTEST_ENABLED:BOOL=OFF -DTERRALIB_DOXYGEN_ENABLED:BOOL=OFF -DGNUGETTEXT_INCLUDE_DIR:PATH='/usr/include' -DGNUGETTEXT_LIBRARY:FILEPATH='/usr/lib/x86_64-linux-gnu/libgettextpo.so' -DGNUICONV_LIBRARY:FILEPATH='/usr/lib/x86_64-linux-gnu/libc.so' ../codebase/build/cmake
9. Fazer o build e instalacão:
$ make -j 4 $ make install
Conectando-se ao Servidor PostgreSQL
$ sudo -u postgres psql
Criando um Atalho no Desktop do Ubuntu
1. Criar um aqruivo chamado TerraView.desktop e salvá-lo na pasta ~/Desktop
:
[Desktop Entry] Encoding=UTF-8 Type=Application Name=TerraView 5.1.0 Beta Comment=TerraView 5.1.0-Beta Exec=env LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib:/usr/local/lib:/home/terralib5/mylibs/terralib5/lib:/home/terralib5/mylibs/lib:/home/terralib5/mylibs/gdal2/lib:/home/terralib5/mylibs/pgsql/lib /home/terralib5/mylibs/terralib5/bin/terraview Icon=/home/terralib5/mylibs/terralib5/share/terralib/images/png/terralib-globe.png StartupNotify=false
2. Dar privilégio de execução para o atalho criado:
$ chmod 555 ~/Desktop/*.desktop
QtCreator
CMake Arguments:
-DCMAKE_PREFIX_PATH:PATH="/home/terralib5/mylibs;/home/terralib5/mylibs/pgsql;/home/terralib5/mylibs/gdal2;/usr;/usr/local" -DTERRALIB_BUILD_UNITTEST_ENABLED:BOOL=OFF -DTERRALIB_MOD_QT_PLUGINS_EDIT_ENABLED:BOOL=OFF -DTERRALIB_MOD_QT_PLUGINS_MNT_ENABLED:BOOL=OFF -DTERRALIB_MOD_BINDING_LUA_ENABLED:BOOL=OFF -DTERRALIB_MOD_BINDING_PYTHON_ENABLED:BOOL=OFF -DTERRALIB_DOXYGEN_ENABLED:BOOL=OFF -DGNUGETTEXT_INCLUDE_DIR:PATH='/usr/include' -DGNUGETTEXT_LIBRARY:FILEPATH='/usr/lib/x86_64-linux-gnu/libgettextpo.so' -DGNUICONV_LIBRARY:FILEPATH='/usr/lib/x86_64-linux-gnu/libc.so' -DCMAKE_INSTALL_PREFIX:PATH="/home/terralib5/myinstall/terralib5" -DCMAKE_BUILD_TYPE:STRING="Debug"
Guia do Desenvolvedor TerraLib
O mini-curso será baseado no seguinte documento: TerraLib 5 Developer's Guide.
Instruções
Preparamos um conjunto de scripts CMake para realização das atividades de programação.
Para cada etapa do curso iremos utilizar um dos conjuntos de scripts abaixo:
- Framework de Aplicação