Uso de linguagem de script para realizar operações...
Transcript of Uso de linguagem de script para realizar operações...
![Page 1: Uso de linguagem de script para realizar operações …wiki.dpi.inpe.br/lib/exe/fetch.php?media=ser300:apresent...Fonte: Google Earth Rio Paraíba do Sul no Município de Volta Redonda](https://reader030.fdocumentos.com/reader030/viewer/2022040916/5e8eab7aa7e74c45207232b7/html5/thumbnails/1.jpg)
Uso de linguagem de script para realizar operações de álgebra de mapas da TerraLib5
Luan Gaspar Pinto de Melo
![Page 2: Uso de linguagem de script para realizar operações …wiki.dpi.inpe.br/lib/exe/fetch.php?media=ser300:apresent...Fonte: Google Earth Rio Paraíba do Sul no Município de Volta Redonda](https://reader030.fdocumentos.com/reader030/viewer/2022040916/5e8eab7aa7e74c45207232b7/html5/thumbnails/2.jpg)
Objetivo
Estudar como álgebras de mapas podem se apresentar para o usuário final e discutir quais as implicações das diferentes maneiras existentes.
![Page 3: Uso de linguagem de script para realizar operações …wiki.dpi.inpe.br/lib/exe/fetch.php?media=ser300:apresent...Fonte: Google Earth Rio Paraíba do Sul no Município de Volta Redonda](https://reader030.fdocumentos.com/reader030/viewer/2022040916/5e8eab7aa7e74c45207232b7/html5/thumbnails/3.jpg)
Porque álgebra de mapas?
* Operações fundamentais
* Gerar novas informações
* Exemplo implementado Buffer
![Page 4: Uso de linguagem de script para realizar operações …wiki.dpi.inpe.br/lib/exe/fetch.php?media=ser300:apresent...Fonte: Google Earth Rio Paraíba do Sul no Município de Volta Redonda](https://reader030.fdocumentos.com/reader030/viewer/2022040916/5e8eab7aa7e74c45207232b7/html5/thumbnails/4.jpg)
Exemplo de aplicação de Buffer
Referência: http://www.senado.gov.br/noticias/Jornal/emdiscussao/codigo-florestal/areas-de-preservacao-permanente.aspx
Lei nº12.651/12
![Page 5: Uso de linguagem de script para realizar operações …wiki.dpi.inpe.br/lib/exe/fetch.php?media=ser300:apresent...Fonte: Google Earth Rio Paraíba do Sul no Município de Volta Redonda](https://reader030.fdocumentos.com/reader030/viewer/2022040916/5e8eab7aa7e74c45207232b7/html5/thumbnails/5.jpg)
SIGs (Sistema de Informações Geográficas)
![Page 6: Uso de linguagem de script para realizar operações …wiki.dpi.inpe.br/lib/exe/fetch.php?media=ser300:apresent...Fonte: Google Earth Rio Paraíba do Sul no Município de Volta Redonda](https://reader030.fdocumentos.com/reader030/viewer/2022040916/5e8eab7aa7e74c45207232b7/html5/thumbnails/6.jpg)
Exemplo para aplicação
Fonte: Google Earth
Rio Paraíba do Sul no Município de Volta Redonda - RJ
![Page 7: Uso de linguagem de script para realizar operações …wiki.dpi.inpe.br/lib/exe/fetch.php?media=ser300:apresent...Fonte: Google Earth Rio Paraíba do Sul no Município de Volta Redonda](https://reader030.fdocumentos.com/reader030/viewer/2022040916/5e8eab7aa7e74c45207232b7/html5/thumbnails/7.jpg)
Exemplificação
Shapefile do rio
Margem do rio com buffer de 30 metros
Mapa de APPs
Fluxograma para obter mapa de APPs
![Page 8: Uso de linguagem de script para realizar operações …wiki.dpi.inpe.br/lib/exe/fetch.php?media=ser300:apresent...Fonte: Google Earth Rio Paraíba do Sul no Município de Volta Redonda](https://reader030.fdocumentos.com/reader030/viewer/2022040916/5e8eab7aa7e74c45207232b7/html5/thumbnails/8.jpg)
Shapefile exibido no Spring
Fonte do shapefile: http://www.portalvr.com/geoprocessamento/mod/mapas-georeferenciados/shapefile/
![Page 9: Uso de linguagem de script para realizar operações …wiki.dpi.inpe.br/lib/exe/fetch.php?media=ser300:apresent...Fonte: Google Earth Rio Paraíba do Sul no Município de Volta Redonda](https://reader030.fdocumentos.com/reader030/viewer/2022040916/5e8eab7aa7e74c45207232b7/html5/thumbnails/9.jpg)
Buffer gerado a partir do Spring
![Page 10: Uso de linguagem de script para realizar operações …wiki.dpi.inpe.br/lib/exe/fetch.php?media=ser300:apresent...Fonte: Google Earth Rio Paraíba do Sul no Município de Volta Redonda](https://reader030.fdocumentos.com/reader030/viewer/2022040916/5e8eab7aa7e74c45207232b7/html5/thumbnails/10.jpg)
Buffer gerado a partir do TerraView
![Page 11: Uso de linguagem de script para realizar operações …wiki.dpi.inpe.br/lib/exe/fetch.php?media=ser300:apresent...Fonte: Google Earth Rio Paraíba do Sul no Município de Volta Redonda](https://reader030.fdocumentos.com/reader030/viewer/2022040916/5e8eab7aa7e74c45207232b7/html5/thumbnails/11.jpg)
O que acontece quando o O que acontece quando o usuário clica em um botão usuário clica em um botão para gerar um buffer?para gerar um buffer?
![Page 12: Uso de linguagem de script para realizar operações …wiki.dpi.inpe.br/lib/exe/fetch.php?media=ser300:apresent...Fonte: Google Earth Rio Paraíba do Sul no Município de Volta Redonda](https://reader030.fdocumentos.com/reader030/viewer/2022040916/5e8eab7aa7e74c45207232b7/html5/thumbnails/12.jpg)
Proposta
* Propor uma API Python que obtenha acesso à álgebra de mapas utilizando as funcionalidades fornecidas pela TerraLib5.
![Page 13: Uso de linguagem de script para realizar operações …wiki.dpi.inpe.br/lib/exe/fetch.php?media=ser300:apresent...Fonte: Google Earth Rio Paraíba do Sul no Município de Volta Redonda](https://reader030.fdocumentos.com/reader030/viewer/2022040916/5e8eab7aa7e74c45207232b7/html5/thumbnails/13.jpg)
Vantagem
* Maior flexibilidade e eficiência na implementação de
metodologias que combinam diferentes dados para
obtenção de um resultado específico. Por exemplo,
realizar várias operações de álgebra de mapas com um
único script.
![Page 14: Uso de linguagem de script para realizar operações …wiki.dpi.inpe.br/lib/exe/fetch.php?media=ser300:apresent...Fonte: Google Earth Rio Paraíba do Sul no Município de Volta Redonda](https://reader030.fdocumentos.com/reader030/viewer/2022040916/5e8eab7aa7e74c45207232b7/html5/thumbnails/14.jpg)
Desafios
* Como configurar e aprender sobre a TerraLib?
- Instalar todas as dependências (bibliotecas de terceiros)
- Baixar a TerraLib completa
- Compilar a TerraLib
- Configurar a IDE para fazer o link com a biblioteca TerraLib
- Adicionar os módulos que serão utilizados na aplicação
- Configurar as variáveis de ambiente
- Desenvolver o código para realizar a operação desejada
![Page 15: Uso de linguagem de script para realizar operações …wiki.dpi.inpe.br/lib/exe/fetch.php?media=ser300:apresent...Fonte: Google Earth Rio Paraíba do Sul no Município de Volta Redonda](https://reader030.fdocumentos.com/reader030/viewer/2022040916/5e8eab7aa7e74c45207232b7/html5/thumbnails/15.jpg)
Fluxograma do código para realizar a operação Buffer
Incluir bibliotecas
Inicializar TerraLib
HabilitarMódulo OGR
Informar localizaçãoe o tipo do
arquivo de entradaCriar dataSource
de entradaDeterminar o tamanho
do buffer
Definir em que partedo objeto deseja
criar o buffer
Determinar quantidadede níveis
Criar dataSourcede saída
Configurar parâmetros do Buffer
Executar a operaçãoBufferMapa de APPs
![Page 16: Uso de linguagem de script para realizar operações …wiki.dpi.inpe.br/lib/exe/fetch.php?media=ser300:apresent...Fonte: Google Earth Rio Paraíba do Sul no Município de Volta Redonda](https://reader030.fdocumentos.com/reader030/viewer/2022040916/5e8eab7aa7e74c45207232b7/html5/thumbnails/16.jpg)
Buffer obtido através do programa em C++
![Page 17: Uso de linguagem de script para realizar operações …wiki.dpi.inpe.br/lib/exe/fetch.php?media=ser300:apresent...Fonte: Google Earth Rio Paraíba do Sul no Município de Volta Redonda](https://reader030.fdocumentos.com/reader030/viewer/2022040916/5e8eab7aa7e74c45207232b7/html5/thumbnails/17.jpg)
O que fazer para utilizar a linguagem de script Python?
* Analisar parâmetros de entrada
* Adaptar o código em C++
* Gerar o Bind
Exemplo de como seria um script em Python para executar a operação Buffer
Import buffer
BufferOGRToOGR(arquivo, posicaoBuffer, regraLimite, niveis, arquivoSaida)
arquivo=“caminho do arquivo de entrada”posicaoBuffer= externo, interno ou internoExternoregraLimite= “dissolver” ou “nao dissolver”niveis = 1arquivoSaida= “nome do arquivo de saída”
![Page 18: Uso de linguagem de script para realizar operações …wiki.dpi.inpe.br/lib/exe/fetch.php?media=ser300:apresent...Fonte: Google Earth Rio Paraíba do Sul no Município de Volta Redonda](https://reader030.fdocumentos.com/reader030/viewer/2022040916/5e8eab7aa7e74c45207232b7/html5/thumbnails/18.jpg)
Resultados
* Entendi o C++
* Entendi a TerraLib
* Consigo programar na TerraLib
* Domínio da aplicação
![Page 19: Uso de linguagem de script para realizar operações …wiki.dpi.inpe.br/lib/exe/fetch.php?media=ser300:apresent...Fonte: Google Earth Rio Paraíba do Sul no Município de Volta Redonda](https://reader030.fdocumentos.com/reader030/viewer/2022040916/5e8eab7aa7e74c45207232b7/html5/thumbnails/19.jpg)
Próximos passos
* Criar Módulo em C++ para Python
* Compilar o Módulo
* Instalar o módulo no Python
* Utilizar o módulo criado em um script Python