Utilizando GeoTools para Manipulação de Dados Geográficos - Apresentação

Post on 07-Jul-2015

2.210 views 1 download

description

A partir da necessidade de controle de dados georreferenciados construir-se-á um aplicativo para atender as funcionalidades de um sistema SIG para Java desktop, ou seja, um aplicativo para leitura e manipulação de dados geográficos. Será possível o acesso a shapefiles ou a bancos de dados, pois o aplicativo oferece essas duas funcionalidades. O aplicativo desenvolvido disponibiliza um conjunto de ferramentas que auxilia na manipulação dos mapas. De acordo com os objetivos do atual projeto, conclui-se que o aplicativo será de grande utilidade na manipulação de dados geográficos.

Transcript of Utilizando GeoTools para Manipulação de Dados Geográficos - Apresentação

Utilizando GeoTools para Manipulação de Dados Geográficos

Gustavo Matos de Mello

Paulo Collares Moreira Neto

Sumário

O que é o Geotools?

Shapefiles

PostGIS

JAI

Implementação

Objetivos

Desenvolver um software desktop GIS

Aplicar os conhecimentos adquiridos em programação

Mesclar esses conhecimentos em um assunto atual

O que é o Geotools?

Biblioteca Java

James Macgill

Código livre

Padrões internacionais (OGC)

Shapefiles

Formato de armazenamento digital

ESRI em 1998

Padrões internacionais (OGC)

Pontos, linhas, polígonos abertos e polígonos fechados

Shapefiles

PostGIS

Extensão do banco de dados PostgreSQL

Processamento e armazenamento de dados geográficos

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]

Geração de scripts SQL para carga de dados presentes nos Shapefiles

JAI (Java Advanced Imaging)

Ferramenta para processamento de imagens

Exemplo de implementação

Exemplo de implementação JMapFrame

JMapFrame

Janela Swing para exibir um mapa e suas ferramentas

Disponível a partir do Geotools 2.6

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);

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);

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

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);

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);

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' ");

Exemplo de implementação Estilos

Conclusão

Aplicativo desenvolvido atinge os objetivos para o qual

foi projetado

Os conhecimentos adquiridos serão de grande valor

em nossa carreira profissional

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

Dúvidas?

Perguntas e observações