====== 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++. * [[:wiki:documentation:devguide#downloading_the_source_code_and_building_instructions|Ambiente de compilação e building, incluindo acesso ao código fonte]] (1 h) * [[:wiki:documentation:devguide:dependencies|Dependências e bibliotecas de terceiros]] (1 h) * [[:wiki:documentation:devguide#modules|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 [[wiki:documentation:devguide#downloading_the_source_code_and_building_instructions|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: [[:wiki:documentation:devguide|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: * [[:wiki:documentation:mini_curso:srs|SRS]] * [[:wiki:documentation:mini_curso:geom|Geometry]] * [[:wiki:documentation:mini_curso:dataaccess|Data Access]] * Framework de Aplicação