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.
2. Sumário
O que é o Geotools?
Shapefiles
PostGIS
JAI
Implementação
3. Objetivos
Desenvolver um software desktop GIS
Aplicar os conhecimentos adquiridos em programação
Mesclar esses conhecimentos em um assunto atual
4. O que é o Geotools?
Biblioteca Java
James Macgill
Código livre
Padrões internacionais (OGC)
5. Shapefiles
Formato de armazenamento digital
ESRI em 1998
Padrões internacionais (OGC)
Pontos, linhas, polígonos abertos e polígonos fechados
7. PostGIS
Extensão do banco de dados PostgreSQL
Processamento e armazenamento de dados geográficos
8. Geração de scripts SQL para carga
de dados presentes nos Shapefiles
C:PostgresPlus8.3binshp2pgsql -s [SRID] [caminho do
shapefile] [nome da tabela a ser criada] > [nome do arquivo SQL]
13. Exemplo de implementação
JMapFrame
mapFrame.enableTool(JMapFrame.Tool.ZOOM,
JMapFrame mapFrame = new JMapFrame();
mapFrame.enableLayerTable(true);
mapFrame.enableStatusBar(true);
JMapFrame.Tool.PAN,JMapFrame.Tool.RESET);
mapFrame.setTitle(“Olá Mundo”);
14. Exemplo de implementação
MapContex
MapContex
Interface responsável por armazenar informações sobre a
exibição de um mapa
Baseado nas especificações do OGC (Open Geospatial Consortium)
MapContext map = new DefaultMapContext();
map.addLayer(FeatureSource featureSource, Style style);
15. 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
16. Exemplo de implementação
Importação de dados
Importando de um shapefile
File url= new File(“C:shapefilesbr_ufBR_UF.shp”);
FileDataStore store=FileDataStoreFinder.getDataStore(url);
featureSource = store.getFeatureSource();
map.addLayer(featureSource, null);
17. Exemplo de implementação
Importação de dados
Importando de um banco de dados
Map params = new HashMap();
...
DataStore store = DataStoreFinder.getDataStore(params);
featureSource = store.getFeatureSource(“mundo”);
map.addLayer(featureSource, null);
18. Exemplo de implementação
Estilos
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
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' ");
20. Conclusão
Aplicativo desenvolvido atinge os objetivos para o qual
foi projetado
Os conhecimentos adquiridos serão de grande valor
em nossa carreira profissional
21. 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