Utilizando GeoTools para Manipulação de Dados Geográficos - Apresentação
description
Transcript of Utilizando GeoTools para Manipulação de Dados Geográficos - Apresentação
![Page 1: Utilizando GeoTools para Manipulação de Dados Geográficos - Apresentação](https://reader033.fdocument.pub/reader033/viewer/2022042816/559b9a041a28abb3798b474a/html5/thumbnails/1.jpg)
Utilizando GeoTools para Manipulação de Dados Geográficos
Gustavo Matos de Mello
Paulo Collares Moreira Neto
![Page 2: Utilizando GeoTools para Manipulação de Dados Geográficos - Apresentação](https://reader033.fdocument.pub/reader033/viewer/2022042816/559b9a041a28abb3798b474a/html5/thumbnails/2.jpg)
Sumário
O que é o Geotools?
Shapefiles
PostGIS
JAI
Implementação
![Page 3: Utilizando GeoTools para Manipulação de Dados Geográficos - Apresentação](https://reader033.fdocument.pub/reader033/viewer/2022042816/559b9a041a28abb3798b474a/html5/thumbnails/3.jpg)
Objetivos
Desenvolver um software desktop GIS
Aplicar os conhecimentos adquiridos em programação
Mesclar esses conhecimentos em um assunto atual
![Page 4: Utilizando GeoTools para Manipulação de Dados Geográficos - Apresentação](https://reader033.fdocument.pub/reader033/viewer/2022042816/559b9a041a28abb3798b474a/html5/thumbnails/4.jpg)
O que é o Geotools?
Biblioteca Java
James Macgill
Código livre
Padrões internacionais (OGC)
![Page 5: Utilizando GeoTools para Manipulação de Dados Geográficos - Apresentação](https://reader033.fdocument.pub/reader033/viewer/2022042816/559b9a041a28abb3798b474a/html5/thumbnails/5.jpg)
Shapefiles
Formato de armazenamento digital
ESRI em 1998
Padrões internacionais (OGC)
Pontos, linhas, polígonos abertos e polígonos fechados
![Page 6: Utilizando GeoTools para Manipulação de Dados Geográficos - Apresentação](https://reader033.fdocument.pub/reader033/viewer/2022042816/559b9a041a28abb3798b474a/html5/thumbnails/6.jpg)
Shapefiles
![Page 7: Utilizando GeoTools para Manipulação de Dados Geográficos - Apresentação](https://reader033.fdocument.pub/reader033/viewer/2022042816/559b9a041a28abb3798b474a/html5/thumbnails/7.jpg)
PostGIS
Extensão do banco de dados PostgreSQL
Processamento e armazenamento de dados geográficos
![Page 8: Utilizando GeoTools para Manipulação de Dados Geográficos - Apresentação](https://reader033.fdocument.pub/reader033/viewer/2022042816/559b9a041a28abb3798b474a/html5/thumbnails/8.jpg)
Geração de scripts SQL para carga de dados presentes nos Shapefiles
C:\PostgresPlus\8.3\bin\shp2pgsql -s [SRID] [caminho do
shapefile] [nome da tabela a ser criada] > [nome do arquivo SQL]
![Page 9: Utilizando GeoTools para Manipulação de Dados Geográficos - Apresentação](https://reader033.fdocument.pub/reader033/viewer/2022042816/559b9a041a28abb3798b474a/html5/thumbnails/9.jpg)
Geração de scripts SQL para carga de dados presentes nos Shapefiles
![Page 10: Utilizando GeoTools para Manipulação de Dados Geográficos - Apresentação](https://reader033.fdocument.pub/reader033/viewer/2022042816/559b9a041a28abb3798b474a/html5/thumbnails/10.jpg)
JAI (Java Advanced Imaging)
Ferramenta para processamento de imagens
![Page 11: Utilizando GeoTools para Manipulação de Dados Geográficos - Apresentação](https://reader033.fdocument.pub/reader033/viewer/2022042816/559b9a041a28abb3798b474a/html5/thumbnails/11.jpg)
Exemplo de implementação
![Page 12: Utilizando GeoTools para Manipulação de Dados Geográficos - Apresentação](https://reader033.fdocument.pub/reader033/viewer/2022042816/559b9a041a28abb3798b474a/html5/thumbnails/12.jpg)
Exemplo de implementação JMapFrame
JMapFrame
Janela Swing para exibir um mapa e suas ferramentas
Disponível a partir do Geotools 2.6
![Page 13: Utilizando GeoTools para Manipulação de Dados Geográficos - Apresentação](https://reader033.fdocument.pub/reader033/viewer/2022042816/559b9a041a28abb3798b474a/html5/thumbnails/13.jpg)
Exemplo de implementação JMapFrame
JMapFrame mapFrame = new JMapFrame();
mapFrame.setTitle(“Olá Mundo”);
mapFrame.enableTool(JMapFrame.Tool.ZOOM,
JMapFrame.Tool.PAN,JMapFrame.Tool.RESET);
mapFrame.enableLayerTable(true);
mapFrame.enableStatusBar(true);
![Page 14: Utilizando GeoTools para Manipulação de Dados Geográficos - Apresentação](https://reader033.fdocument.pub/reader033/viewer/2022042816/559b9a041a28abb3798b474a/html5/thumbnails/14.jpg)
MapContex
Interface responsável por armazenar informações sobre a
exibição de um mapa
Baseado nas especificações do OGC (Open Geospatial Consortium)
Exemplo de implementação MapContex
MapContext map = new DefaultMapContext();
map.addLayer(FeatureSource featureSource, Style style);
![Page 15: Utilizando GeoTools para Manipulação de Dados Geográficos - Apresentação](https://reader033.fdocument.pub/reader033/viewer/2022042816/559b9a041a28abb3798b474a/html5/thumbnails/15.jpg)
Exemplo de implementação FeatureSource
FeatureSource
Referencia um shapefile ou uma tabela do banco de dados
Fontes distintas são manipuladas de forma idêntica
![Page 16: Utilizando GeoTools para Manipulação de Dados Geográficos - Apresentação](https://reader033.fdocument.pub/reader033/viewer/2022042816/559b9a041a28abb3798b474a/html5/thumbnails/16.jpg)
Importando de um shapefile
Exemplo de implementação Importação de dados
File url= new File(“C:\shapefiles\br_uf\BR_UF.shp”);
FileDataStore store=FileDataStoreFinder.getDataStore(url);
featureSource = store.getFeatureSource();
map.addLayer(featureSource, null);
![Page 17: Utilizando GeoTools para Manipulação de Dados Geográficos - Apresentação](https://reader033.fdocument.pub/reader033/viewer/2022042816/559b9a041a28abb3798b474a/html5/thumbnails/17.jpg)
Importando de um banco de dados
Exemplo de implementação Importação de dados
Map params = new HashMap();
...
DataStore store = DataStoreFinder.getDataStore(params);
featureSource = store.getFeatureSource(“mundo”);
map.addLayer(featureSource, null);
![Page 18: Utilizando GeoTools para Manipulação de Dados Geográficos - Apresentação](https://reader033.fdocument.pub/reader033/viewer/2022042816/559b9a041a28abb3798b474a/html5/thumbnails/18.jpg)
Styles
Indicam como um dado geográfico deve ser mostrado
Cores para as linhas, fundos e textos do mapa...
Consultas do CQL
Filtra os dados para alterar os estilos
Consultas simples
Exemplo de implementação Estilos
CQL.toFilter(" SIGLA Like 'SE' ");
CQL.toFilter(" SIGLA Like 'NE' ");
CQL.toFilter(" SIGLA Like 'CO' ");
CQL.toFilter(" SIGLA Like 'NO' ");
CQL.toFilter(" SIGLA Like 'SU' ");
![Page 19: Utilizando GeoTools para Manipulação de Dados Geográficos - Apresentação](https://reader033.fdocument.pub/reader033/viewer/2022042816/559b9a041a28abb3798b474a/html5/thumbnails/19.jpg)
Exemplo de implementação Estilos
![Page 20: Utilizando GeoTools para Manipulação de Dados Geográficos - Apresentação](https://reader033.fdocument.pub/reader033/viewer/2022042816/559b9a041a28abb3798b474a/html5/thumbnails/20.jpg)
Conclusão
Aplicativo desenvolvido atinge os objetivos para o qual
foi projetado
Os conhecimentos adquiridos serão de grande valor
em nossa carreira profissional
![Page 21: Utilizando GeoTools para Manipulação de Dados Geográficos - Apresentação](https://reader033.fdocument.pub/reader033/viewer/2022042816/559b9a041a28abb3798b474a/html5/thumbnails/21.jpg)
Projetos futuros
Implantação de funcionalidades mais sofisticadas na
área de geoprocessamento
Cadastramento de informações relacionadas ao mapa
Adicionar camadas manualmente
Pontos, linhas, áreas, textos e imagens
Cruzamentos de dados para estatísticas futuras
Mapas on-line, como o Google Maps
Versão para Web
![Page 22: Utilizando GeoTools para Manipulação de Dados Geográficos - Apresentação](https://reader033.fdocument.pub/reader033/viewer/2022042816/559b9a041a28abb3798b474a/html5/thumbnails/22.jpg)
Dúvidas?
Perguntas e observações