TerraLib and TerraView Wiki Page

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
wiki:documentation:mini_curso [2016/01/14 16:03]
gribeiro [Máquina Virtual]
wiki:documentation:mini_curso [2016/01/26 11:33]
gribeiro [Roteiro de Preparacão da Máquina Virtual]
Line 4: Line 4:
  
   * **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++.   * **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++.
-    * Ambiente de compilação e building, incluindo acesso ao código fonte (1 h) +    * [[:​wiki:​documentation:​devguide#​downloading_the_source_code_and_building_instructions|Ambiente de compilação e building, incluindo acesso ao código fonte]] (1 h) 
-    * Dependências e bibliotecas de terceiros (1 h) +    * [[:​wiki:​documentation:​devguide:​dependencies|Dependências e bibliotecas de terceiros]] (1 h) 
-    * Visão geral dos módulos (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 data access (2 h)
     * Exercitando o módulo vector processing (2 h)     * Exercitando o módulo vector processing (2 h)
Line 12: Line 12:
     * Framework de aplicação e sistema de plug-ins (2 h)      * Framework de aplicação e sistema de plug-ins (2 h) 
     * Reuso das interfaces gráficas Qt fornecidas pela biblioteca (1 h)     * Reuso das interfaces gráficas Qt fornecidas pela biblioteca (1 h)
- 
 ===== Máquina Virtual ===== ===== Máquina Virtual =====
  
Line 20: Line 19:
     * Usuário: terralib5     * Usuário: terralib5
     * Senha: terra500$lib     * Senha: terra500$lib
-  * PostgreSQL 9.4.0 +  * PostgreSQL 9.4.
-  * PostGIS 2.1.17+    * Usuário: postgres 
 +    * Senha: secreto 
 +  * PostGIS 2.1.8
   * TerraLib 5.1.0-alpha:​ ''/​home/​terralib5/​mylibs/​terralib5''​   * TerraLib 5.1.0-alpha:​ ''/​home/​terralib5/​mylibs/​terralib5''​
   * TerraView 5.1.0-alpha:​ ''/​home/​terralib5/​mylibs/​terralib5''​   * TerraView 5.1.0-alpha:​ ''/​home/​terralib5/​mylibs/​terralib5''​
Line 28: Line 29:
   * Dados de teste: ''/​home/​terralib5/​curso/​data''​   * Dados de teste: ''/​home/​terralib5/​curso/​data''​
   * Pacote dos fontes de bibliotecas de terceiro: ''/​home/​terralib5/​curso/​third-party''​   * 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:
 +<code bash>
 +$ sudo apt-get update
 +</​code>​
 +
 +**2.** Instalar o git:
 +<code bash>
 +$ sudo apt-get install git
 +</​code>​
 +
 +**3.** Criar uma pasta para armazenar o repositório da TerraLib e cloná-lo:
 +<code bash>
 +$ 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 .
 +</​code>​
 +
 +Obs.: Você pode setar a configuração global para não utilizar certificados SSL da seguinte forma:
 +<code bash>
 +$ git config --global http.sslVerify false
 +</​code>​
 +
 +**4.** Alterar para o branch release-5.1:​
 +<code bash> ​
 +$ git checkout -b release-5.1 origin/​release-5.1
 +</​code>​
 +
 +**5.** Fazer o download o pacote de bibliotecas de terceiro:
 +<code bash>
 +$ 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
 +</​code>​
 +
 +**6.** Instalar as bibliotecas de terceiro:
 +<code bash>
 +$ TERRALIB_DEPENDENCIES_DIR="/​home/​terralib5/​mylibs"​ ~/​curso/​terralib5/​codebase/​install/​install-3rdparty-linux-ubuntu-14.04.sh
 +</​code>​
 +
 +**7.** Criar diretório de build:
 +<code bash>
 +$ cd ~/​curso/​terralib5 && mkdir build-release && cd build-release
 +</​code>​
 +
 +**8.** Executar CMake para gerar instrucões de build:
 +<code bash>
 +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
 +</​code>​
 +
 +**9.** Fazer o build e instalacão:​
 +<code bash>
 +$ make -j 4
 +
 +$ make install
 +</​code>​
 +
 +==== Conectando-se ao Servidor PostgreSQL ====
 +<code bash>
 +$ sudo -u postgres psql
 +</​code>​
 +
 +==== Criando um Atalho no Desktop do Ubuntu ====
 +
 +**1.** Criar um aqruivo chamado TerraView.desktop e salvá-lo na pasta ''​~/​Desktop'':​
 +<code bash>
 +[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
 +</​code>​
 +
 +**2.** Dar privilégio de execução para o atalho criado:
 +<code bash>
 +$ chmod 555 ~/​Desktop/​*.desktop
 +</​code>​
 +
 +==== QtCreator ====
 +CMake Arguments:
 +<​code>​
 +-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"​
 +</​code>​
 +
 +===== 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
 +
 +