SlideShare uma empresa Scribd logo
Uma aplicaçã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
   Exemplo de implementação
Objetivos

   Desenvolver em software desktop GIS
   Aplicar os conhecimentos adquiridos em programação
   Mesclar esses conhecimentos em um assunto atual
O que é o Geotools?

   Biblioteca Java
   Manipulação de dados para um SIG
   James Macgill
   Código livre
   Padrões internacionais (OGC)
Shapefiles

   Formato de armazenamento digital para dados
    georreferenciados
   ESRI em 1998
   Pontos, linhas, polígonos abertos e polígonos fechados
Shapefiles
PostGIS

   Suporte para processamento e armazenamento de dados
    geográficos ao banco PostgreSQL
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]
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
      Disponível a partir do Geotools 2.6


      JMapFrame mapFrame = new JMapFrame(MapContext map);
                mapFrame.setTitle(“Olá Mundo”);

            mapFrame.enableTool(JMapFrame.Tool.ZOOM,
           JMapFrame.Tool.PAN,JMapFrame.Tool.RESET);
                mapFrame.enableLayerTable(true);
                 mapFrame.enableStatusBar(true);
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);
                               ou
        map.addLayer(FeatureSource featureSource, null);
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
               FeatureSource featureSource = null;
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);
Exemplo de implementação
Importação de dados


   Importando de um banco de dados
Map params = new HashMap();

params.put("dbtype", "PostGIS");
params.put("host","localhost" );
params.put("port", new Integer(5432));
params.put("database", "mapas");
params.put("user", "root");
params.put("passwd", "12345678");

DataStore store = DataStoreFinder.getDataStore(params);
featureSource = store.getFeatureSource(“mundo”);

map.addLayer(featureSource, null);
Exemplo de implementação
Importação de dados


   Importando de um banco de dados
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'");
Exemplo de implementação
Estilos


   Consulta do CQL
    StyleBuilder sb = new StyleBuilder();
    Style style = sb.createStyle();

    PolygonSymbolizer symbolizer = sb.createPolygonSymbolizer(
            Color.LIGHT_GREY, Color.BLACK, 1);

    Rule rule = sb.createRule(new Symbolizer[]{symbolizer});

    Filter filtro = CQL.toFilter(("SIGLA Like 'SE'");
    rule.setFilter(filtro);

    FeatureTypeStyle fts = sb.createFeatureTypeStyle(null, rule);
    style.addFeatureTypeStyle(fts);
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
       Manter dados de uma determinada localidade
       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

Mais conteúdo relacionado

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

Como criar um mapa temático interativo com dados abertos e D3.js
Como criar um mapa temático interativo com dados abertos e D3.jsComo criar um mapa temático interativo com dados abertos e D3.js
Como criar um mapa temático interativo com dados abertos e D3.js
Helder da Rocha
 
Banco de dados geográfico - Aula de Encerramento
Banco de dados geográfico - Aula de EncerramentoBanco de dados geográfico - Aula de Encerramento
Banco de dados geográfico - Aula de Encerramento
Sérgio Souza Costa
 
Como conectar programas em linguagem java a bases de dados
Como conectar programas em linguagem java  a bases de dadosComo conectar programas em linguagem java  a bases de dados
Como conectar programas em linguagem java a bases de dados
Henrique Fernandes
 
Introdução ao OpenLayers
Introdução ao OpenLayersIntrodução ao OpenLayers
Introdução ao OpenLayers
Fernando Quadro
 
Tutorial de econometria espacial utilizando o stata
Tutorial de econometria espacial utilizando o stataTutorial de econometria espacial utilizando o stata
Tutorial de econometria espacial utilizando o stata
Ricardo Schuch
 
Tdc - Criando uma Minimal API para serviços de Geolocalização com SQL + C#
Tdc - Criando uma Minimal API para serviços de Geolocalização com SQL + C#Tdc - Criando uma Minimal API para serviços de Geolocalização com SQL + C#
Tdc - Criando uma Minimal API para serviços de Geolocalização com SQL + C#
Dextra Sistemas / Etec Itu
 
Geo on Rails - Um guia para manter o seu cabelo.
Geo on Rails - Um guia para manter o seu cabelo.Geo on Rails - Um guia para manter o seu cabelo.
Geo on Rails - Um guia para manter o seu cabelo.
Guilherme Vinicius Moreira
 
Utilização do PostGIS para aplicações de inteligência espacial no setor de Sa...
Utilização do PostGIS para aplicações de inteligência espacial no setor de Sa...Utilização do PostGIS para aplicações de inteligência espacial no setor de Sa...
Utilização do PostGIS para aplicações de inteligência espacial no setor de Sa...
Narcélio de Sá
 
VRaptor 3, JPA, Hibernate, Geotools e OpenLayers, ajudando Pedro Alvares Cabr...
VRaptor 3, JPA, Hibernate, Geotools e OpenLayers, ajudando Pedro Alvares Cabr...VRaptor 3, JPA, Hibernate, Geotools e OpenLayers, ajudando Pedro Alvares Cabr...
VRaptor 3, JPA, Hibernate, Geotools e OpenLayers, ajudando Pedro Alvares Cabr...
Carlos A. Junior Spohr Poletto
 
Android + firebase
Android + firebaseAndroid + firebase
Android + firebase
Ana Coimbra Gomes
 
Java e Cloud Computing
Java e Cloud ComputingJava e Cloud Computing
Java e Cloud Computing
Mario Jorge Pereira
 
Data mapping com Groovy - Part 2
Data mapping com Groovy - Part 2Data mapping com Groovy - Part 2
Data mapping com Groovy - Part 2
Jeison Barros
 
Workshop Elasticsearch - Android Dev Conference 2016
Workshop Elasticsearch - Android Dev Conference 2016Workshop Elasticsearch - Android Dev Conference 2016
Workshop Elasticsearch - Android Dev Conference 2016
Thiago Barradas
 
GIS em 3 horas
GIS em 3 horasGIS em 3 horas
GIS em 3 horas
Miguel Galves
 
Atividade prática - Introdução ao QGis, parte 1
Atividade prática - Introdução ao QGis, parte 1Atividade prática - Introdução ao QGis, parte 1
Atividade prática - Introdução ao QGis, parte 1
Vitor Vieira Vasconcelos
 
Mashups: Criando Valor na Web 2.0 (BandTec)
Mashups: Criando Valor na Web 2.0 (BandTec)Mashups: Criando Valor na Web 2.0 (BandTec)
Mashups: Criando Valor na Web 2.0 (BandTec)
Carlos Duarte do Nascimento
 
Backbone.js + Rails - Front-end e back-end conectados
Backbone.js + Rails - Front-end e back-end conectadosBackbone.js + Rails - Front-end e back-end conectados
Backbone.js + Rails - Front-end e back-end conectados
Henrique Gogó
 
Apostila projeto geo 2005
Apostila projeto geo 2005Apostila projeto geo 2005
Apostila projeto geo 2005
Hudson Góis
 
jQuery básico (parte 3)
jQuery básico (parte 3)jQuery básico (parte 3)
jQuery básico (parte 3)
Luís Cobucci
 
Uma Metodologia Para Apoio Ao Projeto de Banco de Dados Geográficos Utilizand...
Uma Metodologia Para Apoio Ao Projeto de Banco de Dados Geográficos Utilizand...Uma Metodologia Para Apoio Ao Projeto de Banco de Dados Geográficos Utilizand...
Uma Metodologia Para Apoio Ao Projeto de Banco de Dados Geográficos Utilizand...
Carlos Eduardo Pantoja
 

Semelhante a Utilizando GeoTools para Manipulação de Dados Geográficos (20)

Como criar um mapa temático interativo com dados abertos e D3.js
Como criar um mapa temático interativo com dados abertos e D3.jsComo criar um mapa temático interativo com dados abertos e D3.js
Como criar um mapa temático interativo com dados abertos e D3.js
 
Banco de dados geográfico - Aula de Encerramento
Banco de dados geográfico - Aula de EncerramentoBanco de dados geográfico - Aula de Encerramento
Banco de dados geográfico - Aula de Encerramento
 
Como conectar programas em linguagem java a bases de dados
Como conectar programas em linguagem java  a bases de dadosComo conectar programas em linguagem java  a bases de dados
Como conectar programas em linguagem java a bases de dados
 
Introdução ao OpenLayers
Introdução ao OpenLayersIntrodução ao OpenLayers
Introdução ao OpenLayers
 
Tutorial de econometria espacial utilizando o stata
Tutorial de econometria espacial utilizando o stataTutorial de econometria espacial utilizando o stata
Tutorial de econometria espacial utilizando o stata
 
Tdc - Criando uma Minimal API para serviços de Geolocalização com SQL + C#
Tdc - Criando uma Minimal API para serviços de Geolocalização com SQL + C#Tdc - Criando uma Minimal API para serviços de Geolocalização com SQL + C#
Tdc - Criando uma Minimal API para serviços de Geolocalização com SQL + C#
 
Geo on Rails - Um guia para manter o seu cabelo.
Geo on Rails - Um guia para manter o seu cabelo.Geo on Rails - Um guia para manter o seu cabelo.
Geo on Rails - Um guia para manter o seu cabelo.
 
Utilização do PostGIS para aplicações de inteligência espacial no setor de Sa...
Utilização do PostGIS para aplicações de inteligência espacial no setor de Sa...Utilização do PostGIS para aplicações de inteligência espacial no setor de Sa...
Utilização do PostGIS para aplicações de inteligência espacial no setor de Sa...
 
VRaptor 3, JPA, Hibernate, Geotools e OpenLayers, ajudando Pedro Alvares Cabr...
VRaptor 3, JPA, Hibernate, Geotools e OpenLayers, ajudando Pedro Alvares Cabr...VRaptor 3, JPA, Hibernate, Geotools e OpenLayers, ajudando Pedro Alvares Cabr...
VRaptor 3, JPA, Hibernate, Geotools e OpenLayers, ajudando Pedro Alvares Cabr...
 
Android + firebase
Android + firebaseAndroid + firebase
Android + firebase
 
Java e Cloud Computing
Java e Cloud ComputingJava e Cloud Computing
Java e Cloud Computing
 
Data mapping com Groovy - Part 2
Data mapping com Groovy - Part 2Data mapping com Groovy - Part 2
Data mapping com Groovy - Part 2
 
Workshop Elasticsearch - Android Dev Conference 2016
Workshop Elasticsearch - Android Dev Conference 2016Workshop Elasticsearch - Android Dev Conference 2016
Workshop Elasticsearch - Android Dev Conference 2016
 
GIS em 3 horas
GIS em 3 horasGIS em 3 horas
GIS em 3 horas
 
Atividade prática - Introdução ao QGis, parte 1
Atividade prática - Introdução ao QGis, parte 1Atividade prática - Introdução ao QGis, parte 1
Atividade prática - Introdução ao QGis, parte 1
 
Mashups: Criando Valor na Web 2.0 (BandTec)
Mashups: Criando Valor na Web 2.0 (BandTec)Mashups: Criando Valor na Web 2.0 (BandTec)
Mashups: Criando Valor na Web 2.0 (BandTec)
 
Backbone.js + Rails - Front-end e back-end conectados
Backbone.js + Rails - Front-end e back-end conectadosBackbone.js + Rails - Front-end e back-end conectados
Backbone.js + Rails - Front-end e back-end conectados
 
Apostila projeto geo 2005
Apostila projeto geo 2005Apostila projeto geo 2005
Apostila projeto geo 2005
 
jQuery básico (parte 3)
jQuery básico (parte 3)jQuery básico (parte 3)
jQuery básico (parte 3)
 
Uma Metodologia Para Apoio Ao Projeto de Banco de Dados Geográficos Utilizand...
Uma Metodologia Para Apoio Ao Projeto de Banco de Dados Geográficos Utilizand...Uma Metodologia Para Apoio Ao Projeto de Banco de Dados Geográficos Utilizand...
Uma Metodologia Para Apoio Ao Projeto de Banco de Dados Geográficos Utilizand...
 

Mais de pcollares

Interface web de apoio ao sistema de navegação da Marinha do Brasil
Interface web de apoio ao sistema de navegação da Marinha do BrasilInterface web de apoio ao sistema de navegação da Marinha do Brasil
Interface web de apoio ao sistema de navegação da Marinha do Brasil
pcollares
 
[Resumo de Artigo] Mutação Dirigida Adaptável para Algoritmos Genéticos com R...
[Resumo de Artigo] Mutação Dirigida Adaptável para Algoritmos Genéticos com R...[Resumo de Artigo] Mutação Dirigida Adaptável para Algoritmos Genéticos com R...
[Resumo de Artigo] Mutação Dirigida Adaptável para Algoritmos Genéticos com R...
pcollares
 
Cifras
CifrasCifras
Cifras
pcollares
 
Pascoa
PascoaPascoa
Pascoa
pcollares
 
Cantata de Páscoa - Se isso não for amor
Cantata de Páscoa - Se isso não for amorCantata de Páscoa - Se isso não for amor
Cantata de Páscoa - Se isso não for amor
pcollares
 
Utilizando GeoTools para Manipulação de Dados Geográficos
Utilizando GeoTools para Manipulação de Dados GeográficosUtilizando GeoTools para Manipulação de Dados Geográficos
Utilizando GeoTools para Manipulação de Dados Geográficos
pcollares
 

Mais de pcollares (6)

Interface web de apoio ao sistema de navegação da Marinha do Brasil
Interface web de apoio ao sistema de navegação da Marinha do BrasilInterface web de apoio ao sistema de navegação da Marinha do Brasil
Interface web de apoio ao sistema de navegação da Marinha do Brasil
 
[Resumo de Artigo] Mutação Dirigida Adaptável para Algoritmos Genéticos com R...
[Resumo de Artigo] Mutação Dirigida Adaptável para Algoritmos Genéticos com R...[Resumo de Artigo] Mutação Dirigida Adaptável para Algoritmos Genéticos com R...
[Resumo de Artigo] Mutação Dirigida Adaptável para Algoritmos Genéticos com R...
 
Cifras
CifrasCifras
Cifras
 
Pascoa
PascoaPascoa
Pascoa
 
Cantata de Páscoa - Se isso não for amor
Cantata de Páscoa - Se isso não for amorCantata de Páscoa - Se isso não for amor
Cantata de Páscoa - Se isso não for amor
 
Utilizando GeoTools para Manipulação de Dados Geográficos
Utilizando GeoTools para Manipulação de Dados GeográficosUtilizando GeoTools para Manipulação de Dados Geográficos
Utilizando GeoTools para Manipulação de Dados Geográficos
 

Último

Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptxTreinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
MarcosPaulo777883
 
Slides Lição 9, Betel, Ordenança para uma vida de santificação, 2Tr24.pptx
Slides Lição 9, Betel, Ordenança para uma vida de santificação, 2Tr24.pptxSlides Lição 9, Betel, Ordenança para uma vida de santificação, 2Tr24.pptx
Slides Lição 9, Betel, Ordenança para uma vida de santificação, 2Tr24.pptx
LuizHenriquedeAlmeid6
 
Atividade de reforço de matemática 2º ano
Atividade de reforço de matemática 2º anoAtividade de reforço de matemática 2º ano
Atividade de reforço de matemática 2º ano
fernandacosta37763
 
Sinais de pontuação
Sinais de pontuaçãoSinais de pontuação
Sinais de pontuação
Mary Alvarenga
 
Livro: Pedagogia do Oprimido - Paulo Freire
Livro: Pedagogia do Oprimido - Paulo FreireLivro: Pedagogia do Oprimido - Paulo Freire
Livro: Pedagogia do Oprimido - Paulo Freire
WelberMerlinCardoso
 
Potenciação e Radiciação de Números Racionais
Potenciação e Radiciação de Números RacionaisPotenciação e Radiciação de Números Racionais
Potenciação e Radiciação de Números Racionais
wagnermorais28
 
OS elementos de uma boa Redação para o ENEM.pdf
OS elementos de uma boa Redação para o ENEM.pdfOS elementos de uma boa Redação para o ENEM.pdf
OS elementos de uma boa Redação para o ENEM.pdf
AmiltonAparecido1
 
Atividade letra da música - Espalhe Amor, Anavitória.
Atividade letra da música - Espalhe  Amor, Anavitória.Atividade letra da música - Espalhe  Amor, Anavitória.
Atividade letra da música - Espalhe Amor, Anavitória.
Mary Alvarenga
 
Sistema de Bibliotecas UCS - Chronica do emperador Clarimundo, donde os reis ...
Sistema de Bibliotecas UCS - Chronica do emperador Clarimundo, donde os reis ...Sistema de Bibliotecas UCS - Chronica do emperador Clarimundo, donde os reis ...
Sistema de Bibliotecas UCS - Chronica do emperador Clarimundo, donde os reis ...
Biblioteca UCS
 
CADERNO DE CONCEITOS E ORIENTAÇÕES DO CENSO ESCOLAR 2024.pdf
CADERNO DE CONCEITOS E ORIENTAÇÕES DO CENSO ESCOLAR 2024.pdfCADERNO DE CONCEITOS E ORIENTAÇÕES DO CENSO ESCOLAR 2024.pdf
CADERNO DE CONCEITOS E ORIENTAÇÕES DO CENSO ESCOLAR 2024.pdf
NatySousa3
 
347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf
347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf
347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf
AntnioManuelAgdoma
 
educação inclusiva na atualidade como ela se estabelece atualmente
educação inclusiva na atualidade como ela se estabelece atualmenteeducação inclusiva na atualidade como ela se estabelece atualmente
educação inclusiva na atualidade como ela se estabelece atualmente
DeuzinhaAzevedo
 
O sentimento nacional brasiliero, segundo o historiador Jose Murlo de Carvalho
O sentimento nacional brasiliero, segundo o historiador Jose Murlo de CarvalhoO sentimento nacional brasiliero, segundo o historiador Jose Murlo de Carvalho
O sentimento nacional brasiliero, segundo o historiador Jose Murlo de Carvalho
analuisasesso
 
Slides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptx
Slides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptxSlides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptx
Slides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptx
LuizHenriquedeAlmeid6
 
Redação e Leitura_7º ano_58_Produção de cordel .pptx
Redação e Leitura_7º ano_58_Produção de cordel .pptxRedação e Leitura_7º ano_58_Produção de cordel .pptx
Redação e Leitura_7º ano_58_Produção de cordel .pptx
DECIOMAURINARAMOS
 
livro ciclo da agua educação infantil.pdf
livro ciclo da agua educação infantil.pdflivro ciclo da agua educação infantil.pdf
livro ciclo da agua educação infantil.pdf
cmeioctaciliabetesch
 
Pintura Romana .pptx
Pintura Romana                     .pptxPintura Romana                     .pptx
Pintura Romana .pptx
TomasSousa7
 
05-os-pre-socraticos sociologia-28-slides.pptx
05-os-pre-socraticos sociologia-28-slides.pptx05-os-pre-socraticos sociologia-28-slides.pptx
05-os-pre-socraticos sociologia-28-slides.pptx
ValdineyRodriguesBez1
 
A dinâmica da população mundial de acordo com as teorias populacionais.pptx
A dinâmica da população mundial de acordo com as teorias populacionais.pptxA dinâmica da população mundial de acordo com as teorias populacionais.pptx
A dinâmica da população mundial de acordo com as teorias populacionais.pptx
ReinaldoSouza57
 
Famílias Que Contribuíram Para O Crescimento Do Assaré
Famílias Que Contribuíram Para O Crescimento Do AssaréFamílias Que Contribuíram Para O Crescimento Do Assaré
Famílias Que Contribuíram Para O Crescimento Do Assaré
profesfrancleite
 

Último (20)

Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptxTreinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
Treinamento NR 38 - CORPO PRINCIPAL da NORMA.pptx
 
Slides Lição 9, Betel, Ordenança para uma vida de santificação, 2Tr24.pptx
Slides Lição 9, Betel, Ordenança para uma vida de santificação, 2Tr24.pptxSlides Lição 9, Betel, Ordenança para uma vida de santificação, 2Tr24.pptx
Slides Lição 9, Betel, Ordenança para uma vida de santificação, 2Tr24.pptx
 
Atividade de reforço de matemática 2º ano
Atividade de reforço de matemática 2º anoAtividade de reforço de matemática 2º ano
Atividade de reforço de matemática 2º ano
 
Sinais de pontuação
Sinais de pontuaçãoSinais de pontuação
Sinais de pontuação
 
Livro: Pedagogia do Oprimido - Paulo Freire
Livro: Pedagogia do Oprimido - Paulo FreireLivro: Pedagogia do Oprimido - Paulo Freire
Livro: Pedagogia do Oprimido - Paulo Freire
 
Potenciação e Radiciação de Números Racionais
Potenciação e Radiciação de Números RacionaisPotenciação e Radiciação de Números Racionais
Potenciação e Radiciação de Números Racionais
 
OS elementos de uma boa Redação para o ENEM.pdf
OS elementos de uma boa Redação para o ENEM.pdfOS elementos de uma boa Redação para o ENEM.pdf
OS elementos de uma boa Redação para o ENEM.pdf
 
Atividade letra da música - Espalhe Amor, Anavitória.
Atividade letra da música - Espalhe  Amor, Anavitória.Atividade letra da música - Espalhe  Amor, Anavitória.
Atividade letra da música - Espalhe Amor, Anavitória.
 
Sistema de Bibliotecas UCS - Chronica do emperador Clarimundo, donde os reis ...
Sistema de Bibliotecas UCS - Chronica do emperador Clarimundo, donde os reis ...Sistema de Bibliotecas UCS - Chronica do emperador Clarimundo, donde os reis ...
Sistema de Bibliotecas UCS - Chronica do emperador Clarimundo, donde os reis ...
 
CADERNO DE CONCEITOS E ORIENTAÇÕES DO CENSO ESCOLAR 2024.pdf
CADERNO DE CONCEITOS E ORIENTAÇÕES DO CENSO ESCOLAR 2024.pdfCADERNO DE CONCEITOS E ORIENTAÇÕES DO CENSO ESCOLAR 2024.pdf
CADERNO DE CONCEITOS E ORIENTAÇÕES DO CENSO ESCOLAR 2024.pdf
 
347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf
347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf
347018542-PAULINA-CHIZIANE-Balada-de-Amor-ao-Vento-pdf.pdf
 
educação inclusiva na atualidade como ela se estabelece atualmente
educação inclusiva na atualidade como ela se estabelece atualmenteeducação inclusiva na atualidade como ela se estabelece atualmente
educação inclusiva na atualidade como ela se estabelece atualmente
 
O sentimento nacional brasiliero, segundo o historiador Jose Murlo de Carvalho
O sentimento nacional brasiliero, segundo o historiador Jose Murlo de CarvalhoO sentimento nacional brasiliero, segundo o historiador Jose Murlo de Carvalho
O sentimento nacional brasiliero, segundo o historiador Jose Murlo de Carvalho
 
Slides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptx
Slides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptxSlides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptx
Slides Lição 10, Central Gospel, A Batalha Do Armagedom, 1Tr24.pptx
 
Redação e Leitura_7º ano_58_Produção de cordel .pptx
Redação e Leitura_7º ano_58_Produção de cordel .pptxRedação e Leitura_7º ano_58_Produção de cordel .pptx
Redação e Leitura_7º ano_58_Produção de cordel .pptx
 
livro ciclo da agua educação infantil.pdf
livro ciclo da agua educação infantil.pdflivro ciclo da agua educação infantil.pdf
livro ciclo da agua educação infantil.pdf
 
Pintura Romana .pptx
Pintura Romana                     .pptxPintura Romana                     .pptx
Pintura Romana .pptx
 
05-os-pre-socraticos sociologia-28-slides.pptx
05-os-pre-socraticos sociologia-28-slides.pptx05-os-pre-socraticos sociologia-28-slides.pptx
05-os-pre-socraticos sociologia-28-slides.pptx
 
A dinâmica da população mundial de acordo com as teorias populacionais.pptx
A dinâmica da população mundial de acordo com as teorias populacionais.pptxA dinâmica da população mundial de acordo com as teorias populacionais.pptx
A dinâmica da população mundial de acordo com as teorias populacionais.pptx
 
Famílias Que Contribuíram Para O Crescimento Do Assaré
Famílias Que Contribuíram Para O Crescimento Do AssaréFamílias Que Contribuíram Para O Crescimento Do Assaré
Famílias Que Contribuíram Para O Crescimento Do Assaré
 

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

  • 1. Uma aplicação utilizando Geotools para manipulação de dados geográficos Gustavo Matos de Mello Paulo Collares Moreira Neto
  • 2. Sumário  O que é o Geotools?  Shapefiles  PostGIS  JAI  Exemplo de implementação
  • 3. Objetivos  Desenvolver em software desktop GIS  Aplicar os conhecimentos adquiridos em programação  Mesclar esses conhecimentos em um assunto atual
  • 4. O que é o Geotools?  Biblioteca Java  Manipulação de dados para um SIG  James Macgill  Código livre  Padrões internacionais (OGC)
  • 5. Shapefiles  Formato de armazenamento digital para dados georreferenciados  ESRI em 1998  Pontos, linhas, polígonos abertos e polígonos fechados
  • 7. PostGIS  Suporte para processamento e armazenamento de dados geográficos ao banco PostgreSQL
  • 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]
  • 9. Geração de scripts SQL para carga de dados presentes nos Shapefiles
  • 10. JAI (Java Advanced Imaging)  Ferramenta para processamento de imagens
  • 12. Exemplo de implementação JMapFrame  JMapFrame  Janela Swing para exibir um mapa  Disponível a partir do Geotools 2.6 JMapFrame mapFrame = new JMapFrame(MapContext map); mapFrame.setTitle(“Olá Mundo”); mapFrame.enableTool(JMapFrame.Tool.ZOOM, JMapFrame.Tool.PAN,JMapFrame.Tool.RESET); mapFrame.enableLayerTable(true); mapFrame.enableStatusBar(true);
  • 13. 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); ou map.addLayer(FeatureSource featureSource, null);
  • 14. 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 FeatureSource featureSource = null;
  • 15. 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);
  • 16. Exemplo de implementação Importação de dados  Importando de um banco de dados Map params = new HashMap(); params.put("dbtype", "PostGIS"); params.put("host","localhost" ); params.put("port", new Integer(5432)); params.put("database", "mapas"); params.put("user", "root"); params.put("passwd", "12345678"); DataStore store = DataStoreFinder.getDataStore(params); featureSource = store.getFeatureSource(“mundo”); map.addLayer(featureSource, null);
  • 17. Exemplo de implementação Importação de dados  Importando de um banco de dados
  • 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'");
  • 19. Exemplo de implementação Estilos  Consulta do CQL StyleBuilder sb = new StyleBuilder(); Style style = sb.createStyle(); PolygonSymbolizer symbolizer = sb.createPolygonSymbolizer( Color.LIGHT_GREY, Color.BLACK, 1); Rule rule = sb.createRule(new Symbolizer[]{symbolizer}); Filter filtro = CQL.toFilter(("SIGLA Like 'SE'"); rule.setFilter(filtro); FeatureTypeStyle fts = sb.createFeatureTypeStyle(null, rule); style.addFeatureTypeStyle(fts);
  • 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  Manter dados de uma determinada localidade  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

Notas do Editor

  1. Interface responsável por armazenar informações sobre a exibição do mapa. O objeto instanciado por esta classe é baseado nas especificações do OGC. Um objeto FeatureSource , onde são guardados os dados geográficos propriamente ditos, seja de um shapefile, seja de um banco de dados.
  2. Interface responsável por armazenar informações sobre a exibição do mapa. O objeto instanciado por esta classe é baseado nas especificações do OGC. Um objeto FeatureSource , onde são guardados os dados geográficos propriamente ditos, seja de um shapefile, seja de um banco de dados.