MANIPULAÇÃO DE DADOS GEOGRÁFICOS POR INTERMÉDIO DE DOCUMENTOS KML NA PLATAFORMA JAVA

Tamanho: px
Começar a partir da página:

Download "MANIPULAÇÃO DE DADOS GEOGRÁFICOS POR INTERMÉDIO DE DOCUMENTOS KML NA PLATAFORMA JAVA"

Transcrição

1 FACULDADE DE TECNOLOGIA DE SÃO JOSÉ DOS CAMPOS ANDRÉ GOMES DE OLIVEIRA MANIPULAÇÃO DE DADOS GEOGRÁFICOS POR INTERMÉDIO DE DOCUMENTOS KML NA PLATAFORMA JAVA SÃO JOSÉ DOS CAMPOS 2011 ANDRÉ GOMES DE OLIVEIRA

2 2 MANIPULAÇÃO DE DADOS GEOGRÁFICOS POR INTERMÉDIO DE DOCUMENTOS KML NA PLATAFORMA JAVA TRABALHO DE GRADUAÇÃO APRESENTADO FACULDADE DE TECNOLOGIA DE SÃO JOSÉ DOS CAMPOS, COMO PARTE DOS REQUISITOS NECESSÁRIOS PARA A OBTENÇÃO DO TÍTULO DE TECNÓLOGO EM BANCO DE DADOS. Orientador: Reinaldo Gen Ichiro Arakaki Co-orientador: Ubirajara Moura de Freitas SÃO JOSÉ DOS CAMPOS 2011 ANDRÉ GOMES DE OLIVEIRA

3 3 MANIPULAÇÃO DE DADOS GEOGRÁFICOS POR INTERMÉDIO DE DOCUMENTOS KML NA PLATAFORMA JAVA TRABALHO DE GRADUAÇÃO APRESENTADO FACULDADE DE TECNOLOGIA DE SÃO JOSÉ DOS CAMPOS, COMO PARTE DOS REQUISITOS NECESSÁRIOS PARA A OBTENÇÃO DO TÍTULO DE TECNÓLOGO EM BANCO DE DADOS. DANIELA LEAL MUSA CARLOS AUGUSTO LOMBARDI GARCIA REINALDO GEN ICHIRO ARAKAKI UBIRAJARA MOURA DE FREITAS / / DATA DE APROVAÇÃO

4 4 AGRADECIMENTOS Agradeço a minha família e aos colegas de classe, pelo apoio e encorajamento durante os três anos de muitos desafios na faculdade. A equipe de estagiários da oficina de programação Funcate/Fatec pelo apoio e lições compartilhadas durante todo o tempo que passamos juntos. Aos companheiros da Funcate Felipe Valério de Siqueira, Cláudio Bogossian, José Thomazini e Claudete Borges pelo apoio nas pesquisas e desenvolvimento do trabalho. Agradeço também ao co-orientador Ubirajara Moura de Freitas pelo apoio na escolha do tema e no desenvolvimento do protótipo, ao orientador Reinaldo Gen Ichiro Arakaki pelas orientações em relação ao conteúdo e organização do trabalho e ao professor Giuliano Araujo Bertoti pelas dicas em relação à estruturação do documento. Por fim, agradeço a Deus por esses três anos de vida e pela vitória em meio a tantos desafios. Peço a Deus que abençoe a vida de todas as pessoas que passaram pela minha vida nestes três anos, a todos vocês o meu muito obrigado e até logo.

5 5 Ninguém comete erro maior do que não fazer nada porque só pode fazer pouco Eduardo Burke

6 6 RESUMO A área da tecnologia da informação evolui continuamente, neste contexto, surgem novas tecnologias que trazem novas possibilidades. O geoprocessamento não poderia ser diferente, como novos meios de disseminação de dados geográficos e aplicações que disponibilizam serviços cada vez mais inovadores surgindo constantemente, com isso, é necessário que os desenvolvedores possuam ferramentas para auxiliar no desenvolvimento e aplicação destas novas tecnologias. Este trabalho apresenta conceitos sobre a área do geoprocessamento e uma das novas tecnologias da área, a Keyhole Markup Language (KML), e seu propósito é a implementação de um protótipo, no ambiente Java, que viabilize a obtenção e manipulação dos dados geográficos contidos em documentos KML, com o intuito de facilitar a adoção desta tecnologia e agilizar o desenvolvimento de aplicações que a utilizem. Por fim, alguns documentos KML são manipulados, no ambiente Java, com o intuito de demonstrar as funcionalidades proporcionadas pelo protótipo desenvolvido. Palavras chave: KML. Geoprocessamento. Dados geográficos.

7 7 ABSTRACT The Information Technology Field is continuously evolving, in this context, new technologies emerge bringing new possibilities. The geoprocessing could not be different, with new means to share geographical data and applications that provide innovative services being created continuously, due to that fact, developers need to have tools that aid in the development and application of these new technologies. This study presents concepts about the geoprocessing and one of the new technologies of the field, the Keyhole Markup Language (KML), and it s purpose is the implementation of a prototype, in the Java environment, that provide ways of obtaining and manipulating geographical data contained within KML files, with the intent of aiding in the adoption of this technology and speeding up the process of development of applications that use it. Finally, some KML documents are manipulated, in the Java environment, in order to show the functions provided by the prototype that was developed. Keywords: KML. Geoprocessing. Geographical data.

8 8 LISTA DE FIGURAS Figura 1 - Principais componentes do GLUE Figura 2 - Demonstração de temas visíveis em um determinado nível de zoom Figura 3 - Demonstração de um tema não visível em um determinado nível de zoom...22 Figura 4 - Demonstração de alterações decorrentes da reordenação da ordem de visualização dos temas...22 Figura 5 - Seleção de um plano de informação Figura 6 - Mapa temático representando os dados do plano de informação selecionado Figura 7 - Tema representando os dados dos limites da Rússia Figura 8 - Vista formada pelos temas EUA, Canadá e México Figura 9 - Modelo lógico de um banco de dados Terralib...28 Figura 10 - Estrutura Terralib Figura 11 - Rodovias e áreas prioritárias de preservação ambiental Figura 12 - Junção do mapa do México com informações topológicas Figura 13 - Distância de um lote até a rodovia Figura 14 Visualização em 3D do Grand Canyon Figura 15 - Visualização em 3D da cidade de Nova Iorque Figura 16 - Exemplo de arquivo XML com um catálogo de CDs Figura 17 - Exemplo da utilização de um arquivo XML em uma aplicação web Figura 18 - Hierarquia dos elementos de um documento KML Figura 19 - Exemplo de placemark básico gerado no Google Earth Figura 20 - Exemplo de documento KML Figura 21 - Utilização do KML para criar animações parte um Figura 22 - Utilização do KML para gera animações parte dois Figura 23 - Aplicação que relaciona notícias da CNN a pontos do mapa Figura 24 - Aplicação que integra um blog ao Google Maps Figura 25 - Estilização dos pontos Figura 26 - Figura que representa uma aplicação capaz de gerar e exportar arquivos KML Figura 27 - Resultado da exportação do documento KML...50 Figura 28 - Mapeamento Java /KML Figura 29 - Diagrama de classes do módulo KMLHandler Figura 30 - Diagrama de Classes da InterfaceKML...55 Figura 31 - Casos de uso Figura 32 - Criar marcador Figura 33 - Importar KML Figura 34 - Exportar KML Figura 35 - Editar o KML da aplicação Figura 36 - Interfaces do KMLHandler Figura 37 - Métodos de leitura e escrita de arquivos KML Figura 38 - Trecho do método responsável pela recuperação de uma lista de marcadores Figura 39 - Trecho do método responsável pela recuperação de uma lista de imagens sobrepostas Figura 40 - Método responsável pela recuperação de uma lista de pontos....67

9 Figura 41 - Método responsável pela recuperação de uma lista de polígonos Figura 42 Método responsável por atualizar o KML ao receber um marcador Figura 43 - Método responsável por atualizar o KML ao receber uma lista de marcadores parte Figura 44 - Método responsável por atualizar o KML ao receber uma lista de marcadores parte Figura 45 - Método responsável por atualizar o KML ao receber um link de rede Figura 46 - Método responsável por atualizar o KML ao receber uma lista de links de rede Figura 47 - Método responsável por atualizar o KML ao receber um ponto Figura 48 - Método responsável por atualizar o KML ao receber uma lista de pontos parte Figura 49 - Método responsável por atualizar o KML ao receber uma lista de pontos parte Figura 50 - Método responsável por atualizar o KML ao receber uma linha Figura 51 - Método responsável por atualizar o KML ao receber uma lista de linhas Figura 52 - Código da criação de um marcador Figura 53 - Criação de marcador Figura 54 - Código da modificação de marcador Figura 55 - Marcador antes da modificação Figura 56 - Marcador depois da modificação Figura 57 - Código da modificação de diversos marcadores Figura 58 - Quatro marcadores antes da modificação Figura 59 - Quatro marcadores depois das modificações Figura 60 - Código da remoção de marcadores Figura 61 - Marcadores antes da remoção Figura 62 - Marcadores depois da remoção...84 Figura 63 - Código da modificação de pontos Figura 64 Pontos antes da modificação Figura 65 Pontos depois da modificação Figura 66 - Código da modificação de linhas Figura 67 - Linhas antes da modificação...87 Figura 68 - Linha depois da modificação Figura 69 - Código da modificação de polígonos Figura 70 - Polígono antes da modificação Figura 71 - Polígono depois da modificação

10 10 LISTA DE ABREVIATURAS E SIGLAS AJAX: Asynchronous Javascript and XML. API: Application Programming Interface. CD: Compact Disk. Fatec-SJC: Faculdade de Tecnologia de São José dos Campos. Funcate: Fundação de Ciência, Aplicações e Tecnologias Espaciais. GLUE: Geographical Lightweight Universal Engine. HTML: HyperText Markup Language. JAK: Java API for KML. KML: Keyhole Markup Language. MMA: Ministério do Meio Ambiente. OGC: Open Geospatial Consortium. ONU: Organização das Nações Unidas. SIG: Sistema de Informação Geográfica. SWIG: Simplified Wrapper and Interface Generator. UML: Unified Modeling Language. XML: extensible Markup Language.

11 11 SUMÁRIO 1 INTRODUÇÃO MOTIVAÇÃO OBJETIVOS OBJETIVO GERAL OBJETIVOS ESPECÍFICOS METODOLOGIA ORGANIZAÇÃO DO TRABALHO 15 2 INTRODUÇÃO A GEOPROCESSAMENTO INTRODUÇÃO SISTEMAS DE INFORMAÇÃO GEOGRÁFICA GEOGRAPHICAL LIGHTWEIGHT UNIVERSAL ENGINE (GLUE) OBJETOS DE VISUALIZAÇÃO BANCO DE DADOS GEOGRÁFICOS ANÁLISE ESPACIAL 30 3 INTRODUÇÃO A ARQUIVOS KML ARQUIVOS XML ARQUIVOS KML OBJETIVOS DOS ARQUIVOS KML APLICAÇÕES PRÁTICAS DOS ARQUIVOS KML KML NA PLATAFORMA JAVA 50 4 MODELAGEM DA SOLUÇÂO INTRODUÇÃO MÓDULO KMLHANDLER MÓDULO INTERFACEKML FUNCIONALIDADES A SEREM DESENVOLVIDAS 56 5 DESENVOLVIMENTO DA SOLUÇÃO PROPOSTA APLICAÇÃO DO PADRÃO OBSERVER NO KMLHANDLER IMPORTAR E EXPORTAR DADOS EM FORMATO KML RECUPERAÇÃO DE RECURSOS E GEOMETRIAS DE UM ARQUIVO KML MANIPULAÇÃO DE RECURSOS E GEOMETRIAS NO AMBIENTE JAVA 68 6 RESULTADOS OBTIDOS INTRODUÇÃO CRIAÇÃO E MANIPULAÇÃO DE RECURSOS CRIAÇÃO E MANIPULAÇÃO DE GEOMETRIAS 85 7 CONSIDERAÇÕES FINAIS CONTRIBUIÇÕES E CONCLUSÕES TRABALHOS FUTUROS 92 REFERÊNCIAS BIBLIOGRÁFICAS 94

12 12 1 INTRODUÇÃO 1.1 Motivação A representação de dados geográficos por meios computacionais vêm sido utilizada como ferramenta para a solução de diversos problemas que necessitam de um meio para correlacionar dados específicos com informações geográficas (topografia, limites territoriais, etc.). Pode-se exemplificar a utilização de bancos de dados geográficos com a seguinte situação: Determinada empresa do setor comercial possui um banco de dados com as informações relativas às vendas de cada um de seus produtos (quantidade vendida, comprador, etc.). Esta empresa deseja avaliar seus dados com o intuito de averiguar qual a relação ente os produtos vendidos e os compradores avaliando informações referentes à residência do comprador, seu poder aquisitivo, entre outras informações que auxiliarão na elaboração de planos de negócios futuros.(câmara, 2005) Percebe-se que, em um caso como este, a utilização de um banco de dados geográficos permitiria a ligação das informações geográficas disponíveis sobre a região analisada e os dados que a empresa possui, por sua vez, essa ligação permitiria a obtenção das informações que esta empresa deseja para elaborar suas estratégias de vendas. Portanto, devido a possibilidades como essa, a utilização de bancos de dados geográficos e de sistemas de informação geográfica (SIG), que são os programas que possibilitam a apresentação destes dados, tornou-se uma forma prática e útil para resoluções de problemas. Não obstante, o ambiente web propicia diversos recursos para trabalhar e apresentar informações geográficas, como por exemplo, a utilização de arquivos KML, que permitem a obtenção e escrita de dados geográficos em um formato amplamente disseminado.(boulos, 2005)

13 13 KML é uma linguagem baseada em XML e serve para expressar anotações geográficas e visualização de conteúdos existentes nessa linguagem como mapas em 2D e navegadores terrestre em 3D. O KML utiliza uma estrutura com elementos e atributos aninhados. (Tutorial KML, 2010) Com a utilização de arquivos KML, um SIG pode proporcionar novas funcionalidades aos usuários, por exemplo: Criar ícones e rótulos para especificar localidades em qualquer ponto da superfície do planeta; Definir estilos para apresentação das informações; Combinar HTML com o arquivo para incluir hiperlinks na apresentação; (SMITH, 2006) Em suma, a utilização de SIGs combinados com as mais novas tecnologias disponíveis permite a resolução de problemas mais complexos, bem como uma apresentação de dados geográficos de forma mais dinâmica e interativa. 1.2 Objetivos Objetivo Geral Manipulação de dados geográficos, contidos em documentos no formato KML, na plataforma Java.

14 Objetivos específicos Os objetivos específicos deste trabalho são: a) Pesquisar bibliotecas e Application Programming Interfaces (APIs) existentes, bem como funcionalidades disponíveis na biblioteca Terralib que poderão auxiliar no desenvolvimento do trabalho. b) Desenvolver um módulo, em linguagem Java, que viabilize a obtenção de dados geográficos por intermédio da leitura de arquivos KML, a manipulação de arquivos KML no ambiente Java e gerar arquivos KML a partir das informações disponíveis na aplicação; c) Incorporar o módulo desenvolvido ao portal geográfico desenvolvido na oficina de programação Funcate/Fatec-SJC. 1.3 Metodologia O desenvolvimento deste módulo foi dividido em etapas para facilitar o processo de desenvolvimento e sua aplicação prática. Inicialmente, foram pesquisadas as bibliotecas existentes na linguagem Java para a manipulação de arquivos KML com o intuito de verificar quais funcionalidades podem ser aproveitadas, de modo semelhante, a biblioteca Terralib foi analisada para verificar quais funções podem ser utilizadas na integração entre o módulo e o SIG desenvolvido na oficina de programação Funcate/Fatec-SJC. Em seguida, os recursos obtidos com as análises foram usados para desenvolver o módulo de leitura de arquivos KML, para a obtenção de dados geográficos, e de escrita, com o intuito de gerar arquivos KML a partir de dados geográficos.

15 15 Por fim, o módulo desenvolvido foi testado, para garantir que as funcionalidades desenvolvidas estejam funcionando corretamente, por intermédio de uma aplicação que trabalhe com documentos KML. 1.4 Organização do Trabalho Este Trabalho está organizado da seguinte forma: a) Capítulo 2: Introdução a geoprocessamento. Neste capítulo são apresentados os conceitos básicos sobre geoprocessamento necessários para compreender o tema deste trabalho, bem como algumas características distintas de bancos de dados geográficos. b) Capítulo 3: Introdução a arquivos KML. Neste capítulo a estrutura de um arquivo KML é apresentada, a sua relação com dados geográficos bem como exemplos da utilização destes arquivos para a leitura e escrita destes dados por intermédio de aplicações consolidadas na área. c) Capítulo 4: Modelagem da solução. Neste capítulo são apresentados os recursos a serem utilizados no desenvolvimento e a modelagem UML do módulo desenvolvido, incluindo: 1. Diagrama de casos de uso; 2. Diagrama de classes; 3. Diagramas de sequência; d) Capítulo 5: Desenvolvimento do módulo. Neste capítulo são abordados os métodos utilizados para desenvolver o módulo que permitirá o uso de arquivos KML para obtenção, manipulação e escrita de dados geográficos. e) Capítulo 6: Resultados obtidos: Neste capítulo é apresentado o resultado final do trabalho, por intermédio da demonstração dos dados obtidos a partir da leitura de

16 16 arquivos KML, as modificações efetuadas utilizando o módulo desenvolvido, bem como arquivos KML resultantes da escrita a partir de dados geográficos préexistentes. f) Capítulo 7: Considerações finais. Neste capítulo são apresentados os resultados e conclusões obtidos com o desenvolvimento deste trabalho bem como as propostas de trabalhos futuros.

17 17 2 INTRODUÇÃO A GEOPROCESSAMENTO Este capítulo apresenta uma introdução sobre os conceitos relacionados à área de geoprocessamento, apresentando o que é o geoprocessamento, quais são os principais conceitos da área e qual é a sua aplicação. Este capítulo esta dividido da seguinte forma: A seção 2.1 apresenta uma introdução ao assunto tratado neste capítulo, a seção 2.2 mostra o que são os Sistemas de Informação Geográfica, a seção 2.3 demonstra algumas funcionalidades de um SIG, a seção 2.4 apresenta os objetos relacionados a dados geográficos, a seção 2.5 mostra os conceitos relacionados a bancos de dados geográficos e a seção 2.6 mostra conceitos e aplicações da área de geoprocessamento para a análise de dados geográficos. 2.1 Introdução Geoprocessamento engloba tecnologias voltadas à obtenção e manipulação de dados geográficos com o intuito de atingir um objetivo específico. As atividades envolvendo o geoprocessamento são executadas por sistemas computacionais mais comumente chamados de Sistemas de Informação Geográfica (SIG). (DPI-INPE, 2010) A principal utilização do geoprocessamento é a resolução de problemas e a obtenção de informações que dependam da análise de informações geográficas. Basicamente, a obtenção e análise de dados espaciais é uma necessidade recorrente a cientistas (como geólogos e ecologistas), planejadores urbanos, engenheiros civis, ente outros profissionais para os quais os dados geográficos representam um fator chave no processo de tomada de decisão. (BURROUGH, 1998)

18 18 Não obstante, a informatização da análise espacial têm tornado a área do geoprocessamento em uma área que se desenvolve rapidamente, provendo cada vez uma variedade maior de tecnologias e ferramentas de apoio, como SIGs e ferramentas de análise espacial desenvolvidas para o ambiente web, novas fontes de dados geográficos que disponibilizam seus dados. Essas ferramentas dispensam o uso de aplicações locais, pois o cliente não precisa ter o software instalado em uma máquina local para visualizar e analisar os dados, dentre essas ferramentas destacam-se o uso de Applets Java, mapas interativos em flash, aplicações Asynchronous Javascript and XML (AJAX) e web 2.0 (SMITH, 2009); Há dois tipos principais de dados que são visualizados e manipulados em um SIG, são eles: (CÂMARA, 2005) Dados espaciais: Descrevem as características geográficas de uma área; Dados alfanuméricos: Descrevem os atributos destas características; 2.2 Sistemas de informação geográfica A análise de dados geográficos e a obtenção de informações de pesquisa tornaram-se mais necessárias para a tomada de decisões, com isso, os ambientes computadorizados tornaram-se uma ferramenta com a possibilidade de facilitar a análise dos dados, portanto, a criação de um tipo específico de programa com o intuito de viabilizar a análise espacial em um destes ambientes era algo necessário. Por meio de um programa específico os cientistas (como geólogos e biólogos) e profissionais de áreas como a construção civil, bombeiros ou até mesmo delegacias de polícia, podiam analisar os dados geográficos de forma mais rápida e intuitiva, estes programas tornarem-se conhecidos como sistemas de informação geográfica ou SIG. (BURROUGH, 1998) Um SIG é definido como um sistema computacional capaz de exibir e manipular dados geográficos armazenados em um determinado banco de dados geográficos. Um SIG é composto por várias camadas, dentre elas destacam-se a interface com o usuário (meio de o usuário interagir o sistema), uma camada que proporcione a visualização dos dados na tela, e

19 19 outras camadas responsáveis pela integração, armazenamento e processamento dos dados geográficos. (CÂMARA, 2002) Por meio dos SIGs os usuários são capazes de visualizar dados geográficos com o propósito de melhorar o processo de análise espacial. Outra vantagem proporcionada por estes programas é a disseminação e aproveitamento de dados geográficos pela internet. Como a internet é um meio de comunicação aberto, onde os custos para armazenamento de dados e sua disseminação têm diminuído, surgiram meios cada vez mais desenvolvidos de distribuir e adquirir dados geográficos, mesmo que não haja um consenso geral definitivo de qual a melhor forma de distribuir os dados na rede. (CÂMARA, 2005) Algumas funcionalidades básicas de um SIG estão relacionadas ao controle sobre como visualizar os dados geográficos e quais dados serão visualizados. O programa desenvolvido na oficina de programação Funcate/Fatec-SJC será usado para exemplificar essas funcionalidades. 2.3 Geographical Lightweight Universal Engine (GLUE) A oficina de programas Funcate/Fatec-SJC é uma parceria entre a Funcate e a Fatec-SJC realizada com o intuito de desenvolver um portal geográfico para o ambiente web utilizando apenas tecnologias gratuitas ou open-source, este sistema já possui as funcionalidades básicas de um SIG bem como algumas funcionalidades extras, como a união de informações provenientes de fontes diferentes, e seu nome é Geographical Lightweight Universal Engine (GLUE). Os principais componentes do GLUE podem ser visualizados na figura 1:

20 20 Figura 1 - Principais componentes do GLUE. Fonte: GLUE, Árvore: Este é o componente de controle, por intermédio dele o usuário pode selecionar quais informações ele quer visualizar, a ordem, entre outras funcionalidades de controle; Toolbar: É a barra de ferramentas pela qual o usuário decide como manipular a área de visualização, como por exemplo, efetuar o zoom, arrastar o mapa, redesenhar, entre outras; Canvas: É a área de visualização da aplicação, nela as informações selecionadas na árvore serão exibidas e podem ser manipuladas usando as ferramentas da Toolbar. Podem-se exemplificar as funcionalidades de um SIG nas imagens a seguir.

21 21 Figura 2 - Demonstração de temas visíveis em um determinado nível de zoom. Fonte: GLUE, A figura 2 demonstra a utilização do controle de visualização por escala. Pela análise da figura pode-se concluir que, na escala de visualização 1:163266, todos os temas da vista Brasil estão visíveis para o usuário. A figura 3 demonstra o que ocorre quando o usuário aumenta a escala de visualização, nesta figura pode-se perceber que, na escala de visualização 1: , o tema brasil_pontos ficaria ilegível, portanto, ele não é exibido para o usuário.

22 22 Figura 3 - Demonstração de um tema não visível em um determinado nível de zoom. Fonte: GLUE, No GLUE, para auxiliar o entendimento por parte do usuário, a legenda abaixo da árvore de visualização exibe quais ícones serão exibidos para cada estado do tema, na figura 3, percebese que o ícone do tema brasil_pontos corresponde ao item Não Visível da legenda o que indicia que, nesta escala de visualização, este tema não pode ser visualizado. Figura 4 - Demonstração de alterações decorrentes da reordenação da ordem de visualização dos temas Fonte: GLUE, 2010;

23 23 Na figura 4, embora a árvore deixe claro que os temas da vista Brasil estão visíveis, a ordem de visualização selecionada pelo usuário impossibilita a visualização dos temas rodovias_br e Brasil_pontos, pois no GLUE, os temas são desenhados na tela começando pelo último tema da vista e terminando no primeiro, com isso, embora os temas rodovias e pontos tenham sido desenhados, o tema brasil_limites foi desenhado por cima e impossibilitou a visualização dos outros temas. As funcionalidades dos SIGs possibilitam a análise espacial sobre dados espaciais atualizados, oriundos de processos de obtenção de dados como o sensoriamento remoto e análises cartográficas, de forma rápida e intuitiva, o que é crucial para atender as necessidades do mercado deste século. (BURROUGH, 1998) 2.4 Objetos de visualização A biblioteca Terralib é uma biblioteca de código aberto escrita na linguagem C++ que foi criada com o intuito de servir como base para a criações de SIGs. Ela possui uma coleção de funções para o tratamento de dados geográficos, estruturas de dados espaço-temporais, algoritmos de análise espacial e, com isso, encapsula as estruturas de controle e comunicação com o banco o que permite maior flexibilidade no desenvolvimento dos SIGs, pois os desenvolvedores não precisam se preocupar com a comunicação com o banco de dados. Esta biblioteca foi desenvolvida pelo Instituto Nacional de Pesquisas Espaciais (INPE) com o auxílio de seus colaboradores. (DPI-INPE, 2010) (CÂMARA, 2002). O GLUE usa como base a biblioteca Terralib, logo, utiliza os conceitos e objetos definidos por essa biblioteca para construir um ambiente para a análise e manipulação dos dados geográficos. As entidades utilizadas pelo sistema, cada qual com sua tabela representativa no banco de dados geográficos, são: Plano de informação (Layer): Um plano de informação possui os dados que contêm uma informação relevante sobre uma determinada região bem como a localização geográfica dessas informações, ou seja, ele define a informação e a qual ponto do mapa terrestre esta

24 24 informação está relacionada. Um plano de informação pode conter dados que são representados de diversas formas, como por exemplo: (CÂMARA, 2005) Dados vetoriais: Dados representados como vetores de pontos georeferenciados podendo formar imagens compostas por diversas linhas e/ou polígonos o EX: Ruas, rios, linhas telefônicas, estados do Brasil, etc. Dados matriciais: Dados matriciais representam imagens como fotos de satélites. Um exemplo da utilização de um plano de informação pode ser visualizado nas próximas figuras, a figura 5 demonstra a utilização do GLUE para a criação de um mapa temático utilizando como base um plano de informação previamente importado para o banco de dados: Figura 5 - Seleção de um plano de informação. Fonte: GLUE, Na figura 5 o usuário está criando um novo mapa temático para a visualização dos dados geográficos relacionados ao plano de informação chamado brazil. Todos os planos de informação que compõem um banco de dados geográfico devem ser importados por intermédio de arquivos de intercâmbio de dados, como por exemplo, os shapefiles e arquivos geotiff neste exemplo os dados foram importados a partir de um shapefile. (CÂMARA, 2005)

25 25 O resultado da criação pode ser visualizado na figura 6: Figura 6 - Mapa temático representando os dados do plano de informação selecionado. Fonte: GLUE, O objeto de visualização criado é definido como um tema pela biblioteca Terralib. Tema: Um tema é a representação gráfica dos dados que constituem um plano de informação, em outras palavras, um tema relaciona os dados geográficos ao visual definido pelo usuário para a apresentação na tela. Um tema pode possuir uma representação vetorial ou matricial, devido ao fato de que ele representa os dados de um plano de informação e o plano pode ser de qualquer um destes formatos, e possuem uma legenda que define seus atributos. (CÂMARA, 2005). A figura 7 demonstra um tema que representa os limites estaduais da Rússia, neste caso, o plano de informação contém os dados geográficos (os pontos georeferenciados que, combinados, formam os polígonos que definem os estados e as linhas que definem as divisas estaduais) e este tema associa estas informações a um objeto chamado visual que define como as informações devem ser apresentadas, neste caso, os polígonos foram definidos como

26 26 polígonos de cor vermelha e de preenchimento sólido e as linhas de contorno foram definidas como linhas sólidas pretas. Figura 7 - Tema representando os dados dos limites da Rússia. Fonte: GLUE, Visual: Este objeto define como os dados geográficos serão apresentados na tela, dentre as características que o usuário pode definir pode-se citar a cor de preenchimento de um polígono, o estilo das linhas (tracejada, sólida, pontos, etc.), o estilo de preenchimento dos contornos (sólido, transparente, etc.), a fonte de textos, entre outros atributos para representação gráfica dos dados. (CÂMARA, 2005) Outro conceito importante definido pela Terralib é que o usuário pode visualizar um grupo de temas conjuntamente, para que isto seja possível a entidade vista é utilizada. Vista: Uma vista agrega um conjunto de temas selecionados para a visualização pelo usuário. Se um tema serve para definir como os dados de um plano de informação serão visualizados, uma vista serve para definir quais dados serão visualizados e em que ordem. Vale lembrar que os dados de um plano de informação podem estar armazenados em projeções cartográficas

27 27 distintas (entidade que será explicada a seguir), portanto, uma vista define também qual projeção será utilizada para a visualização dos dados. (CÂMARA, 2005) A figura 8 demonstra a utilização de uma vista para visualizar dados provenientes de três diferentes planos de informação conjuntamente. Os temas representados são os limites regionais do México, Canadá e dos Estados Unidos. Estes mapas apresentados de conjuntamente formam a vista América do Norte. A figura 8 exemplifica a utilização de vários mapas temáticos para a visualização e análise de dados co-relacionados em uma vista. Figura 8 - Vista formada pelos temas EUA, Canadá e México. Fonte: GLUE, Projeção cartográfica: Uma projeção cartográfica é um objeto que define uma forma de representar os dados geográficos da terra (um globo definido matematicamente como uma elipse) de forma plana para que possa ser visualizada em um sistema computacional de forma a não perder a referência do ponto terrestre ao qual o dado está relacionado. (CÂMARA, 2005) Legenda: A entidade que define as características de um grupo de objetos, relacionados a um tema, como por exemplo, o visual deste tema. (CÂMARA, 2005)

28 Banco de dados geográficos Um SIG requer uma base de dados diferente das bases de dados convencionais, para que uma análise espacial possa ser executada um SIG necessita de um banco de dados geográficos. Este tipo de banco de dados é composto basicamente por dados que possuem informações descritivas em relação a um determinado ponto georeferenciado, ou seja, informações associadas a um lugar específico, bem como a localização deste lugar. (CÂMARA, 2005) Portanto, devido às peculiaridades dos dados geográficos, um banco de dados geográfico possui uma estrutura diferente. Esta estrutura pode ser visualizada com o exemplo do modelo lógico de um banco de dados criado utilizando a biblioteca para tratamento de dados geográficos Terralib que pode de ser visto na figura 9. Figura 9 - Modelo lógico de um banco de dados Terralib. Fonte: DPI-INPE, 2010.

29 29 A biblioteca é divida em módulos, dentre eles destacam-se: Kernel: Módulo central da biblioteca que dispões das principais funções de tratamento e visualização de dados geográficos (como projeções, rotinas de tratamento de dados geográficos, entre outros); Drivers: Módulo composto pelos drivers de comunicação com diversos SGBDs, este módulo contêm as rotinas de tratamento destes dados relativas a cada SGBD suportado pela biblioteca; (CÂMARA, 2005) A estrutura da Terralib pode ser visualizada na figura 10: Figura 10 - Estrutura Terralib. Fonte: CÂMARA, Em suma, pode-se dizer que um banco de dados geográficos é um banco de dados que armazena características de um determinado ponto do globo terrestre. Existem bibliotecas que encapsulam o tratamento destes dados, como as bibliotecas livres Geotools e Terralib previamente descritas.

30 Análise espacial Um SIG é uma ferramenta computacional que permite a visualização e edição de dados geográficos. Um SIG e uma base de dados geográficos são ferramentas que auxiliam na análise dos dados. Utilizando um SIG é possível resolver os problemas relacionados à análise espacial de dados geográficos, pode-se tomar como exemplos os seguintes casos reais: Em 2006, um SIG foi utilizado para rastrear a disseminação da gripe aviária na Tailândia com o intuito de auxiliar a distribuição de recursos e coordenar os esforços de cuidado médico da maneira mais eficiente; (SCIDEV, 2010) Estudiosos estão utilizando o sensoriamento remoto e um SIG para elaborar mapas de erosão do solo na província de Esfahan no Irã e no distrito de Parbhani da índia central, os objetivos do estudo é apear os padrões de drenagem de água e do tipo do solo para determinar quais áreas permitiriam restabelecer reservas subterrâneas de água, seja por água das chuvas ou pela construção de aqüíferos artificiais; (SCIDEV, 2010) Na cidade de Nova Delhi o governo utiliza um SIG para monitorar o crescimento de construções não autorizadas na cidade; (SCIDEV, 2010) A divisão de drogas e crimes da Organização das Nações Unidas (ONU) utiliza um SIG para rastrear áreas de plantio de ópio no Afeganistão,país responsável por aproximadamente 92% do suprimento ilegal do ópio no mundo ; (SCIDEV, 2010) O Ministério do Meio Ambiente (MMA) do Brasil disponibiliza dados geográficos de âmbito ambiental para análise, como por exemplo, a distribuição de assentamentos rurais na Amazônia ou a disposição de reservas indígenas no Brasil; (MMA, 2010) Percebe-se que a visualização gráfica de dados geográficos armazenados em sistemas computacionais possui possibilidades de aplicação prática em diversas áreas, dentre elas

31 31 pode-se citar a análise de dados ambientais, dados demográficos, dados geológicos,etc. (CÂMARA, 2002) Algumas operações básicas em análise espacial incluem sobreposição de imagens (como a sobreposição de dados provenientes de um banco que utiliza a biblioteca Terralib sobre dados provenientes de um serviço de mapas web), renderização simples (a visualização de dados provenientes de uma única fonte, como o Google maps que exibe apenas imagens próprias), renderização de imagens de alta resolução provenientes de fotos de satélites, entre outros. Alguns exemplos da utilização de um SIG para análise espacial são: Análise das áreas prioritárias de preservação ambiental (plano de informação obtido via serviço de mapas web do ministério do meio ambiente do Brasil) em conjunto com as principais vias rodoviárias brasileiras para determinar quais rodovias passam por áreas de preservação ambiental. As áreas destacadas do mapa exibido na figura 11 representam as áreas de preservação ambiental e as linhas em vermelho representam as rodovias brasileiras. Figura 11 - Rodovias e áreas prioritárias de preservação ambiental. Fonte: GLUE 2010.

32 32 A figura 12 demonstra a análise topológica de uma determinada região no México pela junção de um plano de informação contendo os limites regionais do México com as informações topológicas provenientes do Google. Figura 12 - Junção do mapa do México com informações topológicas. Fonte: GLUE, A figura 13 demonstra a análise da distância de determinado lote de São Gonçalo para a rodovia mais próxima.

33 33 Figura 13 - Distância de um lote até a rodovia. Fonte: GLUE, Embora existam diversas informações que podem ser analisadas e usadas como base para tomada de decisão, visualização em 2D não é a única possibilidade para análise de dados espaciais, com a análise de dados em 3D é possível obter informações úteis que não seriam obtidas pela visão em 2D, como por exemplo a análise de superfícies naturais (serras, montanhas) ou análises de áreas urbanas. (Smith, 2009) Com o passar do tempo, os SIGs, as bases de dados geográficas e os meios de obtenção de informação geográfica evoluem e, com isso, a visualização e manipulação de dados geográficos em 3D têm se tornado serviços úteis e cada vez mais presentes em softwares modernos como por exemplo o Google Earth, LandExplorer e o CityGML. (Smith, 2009) Alguns exemplos da utilização de um SIG para análise espacial em 3D são: Análise de terrenos em 3D, como por exemplo o Grand Canyon, como visto na figura 14.

34 34 Figura 14 Visualização em 3D do Grand Canyon. Fonte: Google Earth, Análise do distrito financeiro em Nova Iorque, Estados Unidos por intermédio de uma réplica em 3D como visto na figura 15. Figura 15 - Visualização em 3D da cidade de Nova Iorque. Fonte: Google Earth, 2010.

35 35 Percebe-se que, com o auxílio de SIGs cada vez mais desenvolvidos e de dados provenientes das mais diversas fontes, a análise espacial têm se desenvolvido em uma ferramenta útil para a resolução de problemas, inferências estatísticas e, em certos casos, pode-se ter um uso educacional ou de entretenimento e, portanto, é uma área importante do geoprocessamento. (SMITH, 2009)

36 36 3 INTRODUÇÃO A ARQUIVOS KML Este capítulo apresenta uma conceituação sobre os documentos KML, mostrando o que são e como são utilizados por aplicações atuais. Este capítulo está dividido da seguinte forma: A seção 3.1 descreve o que são os arquivos XML, a seção 3.2 descreve o que são os arquivos KML, a seção 3.3 mostra os objetivos dos documentos KML, a seção 3.4 apresenta as aplicações que utilizam os documentos KML e suas funcionalidades e a seção 3.5 demonstra como os documentos KML podem ser manipulados no ambiente Java atualmente. 3.1 Arquivos XML KML é um tipo de arquivo, baseado em extensible Markup Language (XML), que foi criado com o intuito de permitir a disseminação de dados geográficos e a sua visualização em SIGs como por exemplo Google Earth, My Geoposition, Dear map,ente outros (Tutorial KML, 2010). Para compreender como um arquivo KML armazena e organiza os dados que pode representar é necessário uma compreensão do padrão XML, pois o KML utiliza a estrutura de um arquivo XML. XML é uma linguagem de marcação que permite a descrição de dados de forma estruturada por intermédio da utilização de elementos aninhados (tags). (XML, 2010) Uma linguagem de marcação permite a descrição de dados estruturados em arquivos textuais, por exemplo, a descrição de pontos georeferenciados com suas respectivas coordenadas organizadas em elementos de um arquivo de texto. (Introdução XML, 2010)

37 37 A linguagem XML foi desenvolvida com o intuito de permitir a disseminação de dados, ele armazena os dados em elementos,estas definidas pela aplicação que irá utilizá-las, e com a distribuição do arquivo XML uma aplicação habilitada é capaz de receber e enviar os dados armazenados. (Tutorial XML, 2010) A figura 16 mostra como um arquivo XML é estruturado em elementos: Figura 16 - Exemplo de arquivo XML com um catálogo de CDs. Fonte: Tutorial XML, A figura 16 demonstra a estrutura de um arquivo XML que contém dados relativos a um catálogo de Compact Disks (CDs), nota-se que, segundo o tutorial XML (2010), o arquivo é organizado da seguinte forma: O item principal, é o catálogo e ele é descrito no elemento <catalog>; Um catálogo é formado por uma série de subitens, neste caso, os CDs, que são descritos pelo elemento <CD>.Estes são sub-elementos que compõem o elemento <catalog>. Isto representa a relação entre um catálogo e seus CDs, ou seja, um catálogo é composto por vários CDs, logo, o elemento <catalog> é composto de elementos <CD>;

38 38 Tal como o catálogo, o cd também tem sub-elementos que descrevem suas características, cada um deles possui um elemento correspondente, como o elemento <price> que representa o preço do cd; Os elementos que aparecem no conteúdo do elemento compõem sua descrição, por exemplo, o texto entre os elementos <price> e </price> representa o preço do cd; É assim que os dados são organizados em um arquivo XML, os elementos principais representam um metadado composto por dados representados por seus elementos, que podem ou não possuir elementos cada vez mais específicos. A partir das definições dos elementos, uma aplicação pode ser construída para ler os dados armazenados no documento, manipulálos e enviá-los de acordo com os seus objetivos. (Tutorial XML, 2010) Figura 17 - Exemplo da utilização de um arquivo XML em uma aplicação web. Fonte: GLUE, A figura 17 demonstra um trecho de um arquivo XML, trata-se de um arquivo de configuração comumente utilizado em aplicações web, o web.xml, que contêm a descrição e mapeamento das servlets de uma determinada aplicação, a estrutura em si é semelhante a do exemplo do catálogo, com um elemento principal dividido em elementos mais específicos, todos representados em elementos. A diferença não está na estrutura, mas sim na forma como os elementos são tratadas pelas aplicações. (Tutorial XML, 2010)

39 Arquivos KML Um arquivo KML, tal como um arquivo XML, é um tipo de linguagem de marcação organizada em elementos, estas pré-definidas para o tratamento de dados geográficos, que foi criada especificamente para o armazenamento e distribuição de dados geográficos para que estes possam ser manipulados por qualquer SIG capaz de interpretar um arquivo KML. (Tutorial KML, 2010) Os arquivos KML, diferentemente dos arquivos XML, tem uma estrutura pré-definida, ou seja, elementos pré definidos, com o intuito de garantir a interoperabilidade dos dados descritos neste formato para que qualquer SIG capaz de manipular um arquivo KML, seja capaz de manipular tanto os arquivos próprios quanto os arquivos gerados por outras aplicações, desde que os arquivos gerados estejam de acordo com a especificação dos arquivos KML da Open Geospatial Consortium (OGC) (Especificação KML, 2010). A figura 18 demonstra os principais elementos de um documento KML que serão utilizados no desenvolvimento deste trabalho, cada uma tem sua responsabilidade específica. Os elementos que estão dentro de retângulos indicam elementos abstratos, demonstrando o uso de orientação a objetos na estrutura desta linguagem de marcação. (Referência KML, 2010)

40 40 Figura 18 - Hierarquia dos elementos de um documento KML. Fonte: Referência KML, De acordo com a referência KML (2010), os elementos que serão manipulados pelo módulo que será desenvolvido são: Geometria (elemento Geometry): Elemento abstrato. Utiliza-se para reservar um espaço para qualquer um dos objetos derivados dele, garantindo o polimorfismo; Recurso (elemento Feature): Elemento abstrato. Usado para representar diversos recursos que podem ser incluídos no documento KML, como: o Pasta; o Documento; o Marcador; o Ente outros; Documento (elemento Document): É um contêiner onde serão armazenados os recursos e estilos do documento KML;

41 41 Marcador (elemento Placemark): É um recurso associado a uma geometria, quando essa geometria é um ponto o marcador possui um ícone para visualização e interação do usuário; Ponto (elemento Point): Define um local geográfico específico associado a uma longitude, latitude e, opcionalmente, altitude. Se este elemento estiver contido em um marcador ele determina a localização do ícone e do nome deste marcador; Estilo (elemento Style). Define o estilo de apresentação de uma geometria (semelhante a como um visual define a visualização de um tema). 3.3 Objetivos dos arquivos KML Segundo a especificação KML (2010) o padrão KML, que como já foi mostrado é semelhante a um documento XML, porém com elementos pré-definidas para o tratamento de dados geográficos, foi desenvolvido e submetido para a avaliação do OGC com o intuito de: Estabelecer uma linguagem padrão para a disseminação de dados geográficos na web e permitir a interoperabilidade ente os SIGs, tanto para navegação em 2D quanto em 3D; Permitir que fosse adotado um padrão de boas práticas de comunicação e disseminação de dados pelo uso de uma linguagem que pode ser compreendida por diversas aplicações; Garantir que as aplicações possam desenvolver novas funcionalidades com base em atualizações da linguagem de marcação mantendo a retro compatibilidade; Com a padronização de uma linguagem de marcação, a criação de dados geográficos, bem como a sua disseminação, agora pode ser feita por qualquer SIG que possa compreender a linguagem, aumentando assim a quantidade de usuários que podem criar e compartilhar seus dados por meio da aplicação de sua escolha, como por exemplo: Google Earth, Dear maps, Nasa WorldWind, My Geoposition, entre outras aplicações. (Introdução KML, 2010)

42 42 No entanto, as funcionalidades permitidas pelo uso de arquivos KML não se restringe apenas a descrição de dados geográficos, como no tutorial do KML (2010), essa linguagem de marcação permite o uso de funções mais elaboradas, seja com o propósito de entreter um usuário ou de permitir uma análise geoespacial mais detalhada, por exemplo: A criação de passeios de virtuais, em outras palavras, de animações nas quais o usuário visualiza diversos pontos-chave de um determinado mapa como se estivesse voando ou caminhando pelos locais; A utilização de balões descritivos que podem integrar conteúdo HTML para agregar diversas informações, como notícias, a um determinado ponto do mapa; Agregação de uma figura a um ponto do mapa, que pode, por exemplo, ser uma foto do local ou um gráfico de análise demográfica; Entre outros elementos que estão incluídos na especificação da linguagem; 3.4 Aplicações práticas dos arquivos KML Existem diversas aplicações na web que utilizam KML como base para construir suas ferramentas e, ou integrar seus serviços a outros exercícios existentes. As aplicações vão desde coisas como relacionar tópicos postados de blogs com pontos georeferenciados a utilização dos elementos para a criação de animações personalizadas. As figuras a seguir exemplificam diferentes formas de integrar KML a um SIG e as possíveis funcionalidades que podem ser obtidas com o uso dessa linguagem de marcação:

43 43 Figura 19 - Exemplo de placemark básico gerado no Google Earth. Fonte: Google Earth, Uma das formas de utilização do KML é a geração de pontos georeferenciados de interesse. A figura 19 demonstra uma placemark (marcador) gerada no Google Earth. Segue o documento KML que representa as informações necessárias para a geração da figura acima. Figura 20 - Exemplo de documento KML.

44 44 Fonte: Google Earth, A figura 20 mostra o documento referente ao marcador demonstrado no mapa, nota-se que a estrutura de elementos aninhados de um documento XML é mantida, no entanto, os elementos utilizados são pré-definidos para serem tratados pela aplicação que lerá o documento. Por exemplo, o elemento coordinates representa as coordenadas do ponto, isso permite que o programa que efetuar a leitura deste documento possa compreender em que local do mapa o ponto será posicionado. Figura 21 - Utilização do KML para criar animações parte um. Fonte: Dear Map, A figura 21 demonstra uma aplicação chamada Dear Map que é capaz de criar animações, usando KML com ícones personalizados, e representa um trecho de uma animação em que o carro se movimenta percorrendo um caminho pré-definido (representado por uma linha) sobre imagens de satélite do Google Maps.

45 45 Figura 22 - Utilização do KML para gera animações parte dois. Fonte: Dear Map, A figura 22 demonstra como o mesmo percurso utilizado para navegação em 2D no Google Maps pode ser usado para criar uma animação em 3D que pode ser exibida no Google Earth, na qual o carro também segue um percurso pré-definido que está armazenado no documento KML.

46 46 Figura 23 - Aplicação que relaciona notícias da CNN a pontos do mapa. Fonte: MiiBazar CBS news, A figura 23 demonstra como a utilização de balões, com referências a conteúdo HTML obtidos de fontes externas, pode ser integrada a um documento KML para a criação de um conteúdo novo do qual se pode extrair novas informações, neste caso em particular, a aplicação integrou um feed de notícias da rede internacional CBS (Columbia Broadcasting System) com o Google maps para relacionar cada notícia com um ponto específico do planeta.

47 47 Figura 24 - Aplicação que integra um blog ao Google Maps. Fonte: Adam's Blog, A figura 24 demonstra uma integração similar à utilizada com a rede CBS, no entanto, esta aplicação realiza a integração entre o Google maps e um blog pessoal.

48 48 Figura 25 - Estilização dos pontos. Fonte: Dear Map, A figura 25 demonstra que é possível customizar documentos KML para gerar diversos tipos de marcadores, como linhas circulares, pontos com a representação clássica do ícone, pontos representados por ilustrações como o avião que representa o aeroporto de Vancouver, etc.

49 49 Figura 26 - Figura que representa uma aplicação capaz de gerar e exportar arquivos KML. Fonte: MyGeoposition, A aplicação da figura 26 é capaz de gerar arquivos KML e exportá-los para que o usuário possa visualizar seus dados em outra aplicação, neste caso, o KML em questão foi exportado para o Google Earth para que o seu conteúdo possa ser visualizado, o resultado é exibido na figura 27:

50 50 Figura 27 - Resultado da exportação do documento KML. Fonte: Google Earth, Percebe-se que com a utilização de uma linguagem de marcação padrão é possível desenvolver serviços inovadores e interessantes que disponibilizam cada vez mais ferramentas e facilidades para os usuários utilizarem, seja com fins de pesquisa ou entretenimento. 3.5 KML na plataforma Java Há duas principais APIs que permitem que desenvolvedores trabalhem com documentos KML, são elas:

51 51 Libkml; (LIBKML, 2011) Java API for KML (JAK); (JAK Home, 2011) A Libkml é uma API escrita principalmente na linguagem C++ que tem por objetivo permitir que um usuário seja capaz de manipular um documento KML em seu projeto e que implementa o padrão 2.2 da linguagem KML. Esta API possui um vínculo com o Simplified Wrapper and Interface Generator (SWIG) para permitir que um desenvolvedor possa utilizar essa API em projetos desenvolvidos nas linguagens Python e Java e é utilizada, principalmente, pelo Google.(LIBKML, 2011) O SWIG é uma ferramenta gratuita de desenvolvimento cujo propósito é permitir que programas escritos em C ou C++ possam ser acessados e utilizados por linguagens de nível mais alto, como Java e Python. Esta ferramenta gera um código intermediário pelo qual a linguagem de nível mais alto acessa a linguagem de nível baixo. (SWIG, 2011) A JAK é uma API que possui classes Java que representam os elementos de um documento KML, bem como a organização dos elementos (heranças, associações, etc.) O diagrama da figura 28 demonstra a estrutura da API comparada à estrutura da especificação KML, nota-se que as classes da API estão organizadas da mesma forma que os elementos da especificação 2.2 da linguagem de marcação KML. As caixas que possuem contornos pontilhados representam elementos abstratos, elementos que não são escritos no documento KML, o elemento superior das caixas é o elemento KML, o elemento inferior é a classe que representa o elemento da API. As heranças e associações das classes representam as relações correspondentes na estrutura dos elementos.

52 52 Figura 28 - Mapeamento Java /KML. Fonte: KML-Java, Ambas as APIs programam o padrão 2.2 da especificação KML da OGC e ambas podem ser utilizadas por um programa escrito em Java, no entanto, a JAK é uma API escrita em Java enquanto que a Libkml é escrita em C++ e, portanto, necessita de outra ferramenta e de um código auxiliar para ser integrada a uma aplicação Java. Como a JAK pode ser integrada mais facilmente e gera uma quantidade menor de dependências ela será a API utilizada no desenvolvimento deste projeto.

53 53 4 MODELAGEM DA SOLUÇÂO Este capítulo aborda a modelagem do módulo e interface de manipulação propostos e está dividido da seguinte forma: A seção 4.1 mostra quais os requisitos atendidos, a seção 4.2 apresenta à estruturação do módulo que encapsulará a manipulação do documento KML, a seção 4.3 demonstra a modelagem de uma interface, que se comunica com o módulo proposto, para exemplificar como uma aplicação se comunicará com o módulo e a seção 4.4 mostra as funcionalidades a serem atendidas e a comunicação entre uma interface e o módulo desenvolvido. 4.1 Introdução O principal objetivo a ser atingido no decorrer do desenvolvimento deste trabalho é desenvolver um módulo, na linguagem Java, que viabilize: Criação de marcadores; Edição dos dados geográficos contidos no documento KML; Importação e exportação de dados geográficos no formato KML; Para exemplificar o uso do módulo uma interface que se comunique com o módulo também foi modelada, no entanto, para que esta interface e o módulo desenvolvido possam se comunicar é necessário que haja uma estruturação de ambos que viabilize seu uso por outras aplicações (como o GLUE). 4.2 Módulo KMLHandler

54 54 O principal componente desenvolvido para este trabalho é o módulo que permitirá que um SIG se comunique com a JAK com o intuito de viabilizar a manipulação de arquivos KML, por esta razão, o módulo se chama KMLHandler. O KMLHandler tem um objeto KML que contêm todos os dados que o usuário manipulará, e ele foi desenvolvido de forma independente para permitir que outras aplicações desenvolvidas na plataforma Java possam utilizá-lo para interagir com documentos KML. Para alcançar este objetivo o KMLHandler foi desenvolvido de forma independente das interfaces que o utilizarão e irá notificá-las quando alterações ocorrerem no documento KML, para isto ele foi desenvolvido seguindo o padrão de projeto conhecido como Observer. Segundo GAMMA (2000), o padrão Observer define uma dependência de um-para-muitos entre objetos na qual vários objetos dependem do estado armazenado em outro objeto.o objeto que possui o estado notifica os que dependem dele, estes por sua vez, atualizam-se para refletir o novo estado. Esta abordagem é recomendada quando um objeto deve notificar suas alterações em outros, sem conhecê-los, garantindo um acoplamento leve (GAMMA, 2000). Como o módulo KMLHandler é independente da interface que o utilizará esse padrão de projeto é o mais adequado para o seu desenvolvimento. Uma visão geral deste módulo pode ser vista no diagrama de classes demonstrado na figura 29: Figura 29 - Diagrama de classes do módulo KMLHandler.

55 55 Esta estrutura foi feita para encapsular as funcionalidades da API JAK em um único módulo desenvolvido em Java que poderá ser reaproveitado por outras aplicações. Para que o módulo seja usado por outras aplicações elas deverão implementar a classe Observer, como exemplificado pela classe Interface no diagrama da figura 29, pois é ela que possui o parâmetro necessário para trabalhar com o módulo KMLHandler. Para exemplificar a utilização do módulo foi demonstrado um observador chamado InterfaceKML, no entanto, o módulo KML poderá ser usado independentemente desta interface ou agregado a ela, esta decisão dependerá do projeto que o utilizará. (GAMMA, 2000) 4.3 Módulo InterfaceKML Para utilizar o módulo KMLHandler um usuário interagirá por intermédio de uma interface gráfica, segue um exemplo de uma interface a ser desenvolvida para exemplificar o uso do módulo KMLHandler, ela será desenvolvida de maneira semelhante aos outros componentes gráficos do GLUE para facilitar o seu reuso, sua estrutura pode ser visualizada no diagrama de classes demonstrado na figura 30: Figura 30 - Diagrama de Classes da InterfaceKML.

56 56 A estrutura da interface funcionará da seguinte forma: A Interface será o observador do KMLHandler e terá um AdapterKML para disparar eventos quando o usuário clicar na tela; Os eventos serão identificados no AdapterKML que chamarão um método correspondente do ControllerKML; O Mediator possuirá a única instância de ControllerKML, mas será inicializada pelo AdapterKML; As funções do ControllerKML chamam serviços estáticos disponibilizados na classe ServiceKML; A classe ServiceKML chama o método correspondente do KMLHandler, que por sua vez notifica o Observer para que ele se atualize. Segundo GAMMA (2000), há duas formas de o método Notify ser chamado, seguem suas formas, vantagens e desvantagens: O sujeito chama quando seu estado for alterado: o Vantagem: O observador não precisa se preocupar em relação à atualização; o Desvantagem: Várias atualizações consecutivas podem ocasionar mudanças desnecessárias no observador. O observador chama na hora certa: o Vantagem: O observador pode esperar a hora certa, evitando chamadas consecutivas devido a atualizações consecutivas; o Desvantagem: O observador pode ocasionar erros se chamar o método na hora errada. Para o desenvolvimento deste trabalho, como as interfaces são independentes do módulo, mas precisam manter-se atualizadas, a primeira opção foi escolhida para garantir que os observadores serão atualizados independentemente da forma como foram implementados. 4.4 Funcionalidades a serem desenvolvidas

57 57 As principais funcionalidades adicionadas ao KMLHandler podem ser visualizadas no diagrama de casos de uso demonstrado na figura 31: Figura 31 - Casos de uso. Estas são as funcionalidades a serem adicionadas em uma aplicação que utilize o módulo KMLHandler, deve-se destacar que, a partir da utilização da API e das adaptações necessárias, funcionalidades adicionais poderão ser desenvolvidas com base nos códigos desenvolvidos para este trabalho. Para a melhor compreensão das funcionalidades a serem adicionadas são apresentados os diagramas de sequência de cada um dos casos de uso apresentados simulando seu comportamento no GLUE (o que simulará o comportamento de outros SIGs), estes diagramas focam apenas na execução correta dos passos para melhor compreensão.

58 58 Figura 32 - Criar marcador. A figura 32 demonstra como será o processo de criação de um marcador, resumidamente: O usuário clica no ícone da Toolbar que chama a interface KML para visualizá-la; Na Interface KML o usuário seleciona a opção Criar Marcador e a ferramenta marcador será ativada; Com a ferramenta ativada, o usuário poderá clicar em um local do Canvas para posicionar o novo marcador; O módulo KMLHandler atualizará o objeto KML da aplicação, incluindo o novo marcador; O KMLHandler retorna o objeto criado para o Canvas exibir e a ferramenta marcador é desativada. Este é o processo pelo qual a aplicação passa ao criar um marcador, o usuário poderá repetir este processo, criando vários pontos no mapa que poderão ser editados posteriormente, ou seja, o usuário poderá alterar sua descrição, seu ícone, seu nome, etc.

59 59 Figura 33 - Importar KML. A figura 33 demonstra o processo de importação de marcadores a partir de um documento KML fornecido pelo usuário, resumidamente: O usuário clica no ícone da Toolbar que chama a interface KML para visualizá-la; Na Interface KML o usuário seleciona a opção Importar Marcadores; Será exibida uma janela para que o usuário indique o arquivo a ser lido; O usuário seleciona um arquivo que será repassado para o módulo KMLHandler para ser lido; O KMLHandler atualiza o objeto KML da aplicação; A Interface KML solicitará a exibição do objeto modificado. Uma vez que os objetos tenham sido importados, eles podem ser manipulados e depois exportados para um novo arquivo KML para uso posterior. Este processo atualizará o objeto KML da aplicação toda vez que for executado, com isso, o usuário poderá importar quantos documentos desejar.

60 60 Figura 34 - Exportar KML. A figura 34 demonstra o processo de exportação dos marcadores existentes para um documento KML, resumidamente: O usuário clica no ícone da Toolbar que chama a interface KML para visualizá-la; Na Interface KML o usuário seleciona a opção Exportar Marcadores; O usuário seleciona o diretório para salvar o arquivo KML; O módulo KMLHandler será chamado para criar um documento KML a partir do objeto KML existente na aplicação; O novo documento será salvo no local especificado pelo usuário. O GLUE se encarregará de manter o controle dos marcadores existentes na aplicação, quando o usuário optar por exportar estes dados para um arquivo KML o módulo KMLHandler se encarregará de traduzir os dados em um arquivo KML e salvará o novo documento para o disco. Esta função permite que o usuário possa fazer cópias de backup, compartilhar seus dados na web de forma que qualquer aplicação que trabalhe com documentos KML possa ser utilizada para a manipulação destes dados para outros fins.

61 61 Figura 35 - Editar o KML da aplicação. A figura 35 demonstra o processo de edição dos marcadores, este processo permite que o usuário modifique o objeto KML da aplicação de modo a visualizar os marcadores de uma maneira diferente, ou de editar sua descrição, alterar sua posição, etc. Resumidamente: O usuário clica no ícone da Toolbar que chama a interface KML para visualizá-la; Na Interface KML o usuário seleciona a opção Editar Marcadores; Na Interface KML, o usuário selecionará o marcador a ser atualizado; Na Interface KML, o usuário efetua as alterações desejadas; A Interface KML solicita ao KMLHandler que efetue as alterações; O KMLHandler atualiza o objeto KML da aplicação; A Interface KML solicita a exibição do objeto modificado.

62 62 5 DESENVOLVIMENTO DA SOLUÇÃO PROPOSTA Este capítulo aborda o desenvolvimento do módulo proposto demonstrando trechos do código que o compõem, qual a função de cada um deles e a qual requisito estão relacionados. Este capítulo está dividido da seguinte forma: A seção 5.1 descreve como o KMLHandler aplica o padrão Observer, a seção 5.2 mostra as funções que permitem a importação de dados contidos em documentos KML para o ambiente Java, bem como a exportação dos dados contidos em uma aplicação para um documento KML, a seção 5.3 mostra as funções que permitem que uma aplicação recupere os dados importantes de um documento para e a seção 5.4 mostra as funções que permitem que uma aplicação manipule os dados e atualize o documento KML. 5.1 Aplicação do padrão Observer no KMLHandler Conforme especificado nos capítulos anteriores o KMLHandler foi desenvolvido na linguagem Java e segue o padrão de projeto observador, a implementação das interfaces segue os exemplos descritos por GAMMA (2000) e pode-se visualizá-las na figura 36: Figura 36 - Interfaces do KMLHandler.

63 63 Estas são as interfaces previstas na modelagem segundo o padrão observador, mas adaptadas para o serviço a ser desenvolvido. Nota-se que o método update da interface observer foi adaptado para o problema a ser resolvido pelo KMLHandler, ou seja, fornecer o objeto KML atualizado depois de quaisquer mudanças, além disto, o método update aplica o conceito da sobrecarga de funções, pois uma aplicação pode necessitar de todo o documento KML para se atualizar, no entanto, há a possibilidade de que algumas aplicações necessitem de menos informações, logo, há varias implementações do método update no KMLHandler que são semelhantes à demonstrada pela figura acima. Nota-se que, embora a plataforma Java forneça uma estrutura preparada para atender o padrão observador, no entanto, optou-se por desenvolver interfaces independentes, pois, segundo FREEMAN (2007), há limitações na forma como a classe Java.util.Observable foi implementada. Destaca-se que Observable é uma classe, logo, se um usuário for utilizá-la ele precisará fazer com que seu observador herde as características desta classe, o que limitaria o reuso do módulo KMLHandler. 5.2 Importar e exportar dados em formato KML Para que um usuário seja capaz de recuperar os dados de um arquivo KML e usar em sua aplicação, ou transferir dados de uma aplicação para um arquivo KML e salvá-lo o KMLHandler fornece métodos que sejam capazes de efetuar essas funções. A API JAK já fornece diversos métodos que realizam estas funções, bastará escolher qual atende aos requisitos do KMLHandler. Os métodos finais são demonstrados na figura 37:

64 64 Figura 37 - Métodos de leitura e escrita de arquivos KML. O método Marshal é o responsável por escrever os dados contidos em um objeto Java que represente um documento KML, no caso do KMLHandler este objeto se chama Doc, embora a API proporcione outros meios de salvar os dados, como por exemplo passar estes dados para outro objeto, o objetivo deste método é atender ao requisito de salvar os dados de uma aplicação em um documento KML, portanto, essa foi a opção escolhida. O método Unmarshal é o responsável por popular objetos Java a partir dos dados contidos em um documento KML, novamente, a API JAK proporciona várias maneiras para realizar esta função, como por exemplo validar um documento KML impedindo que documentos fora do padrão OGC sejam lidos, no entanto, o KMLHandler precisará manipular dados provenientes de diversas aplicações diferentes, sendo assim, o documento KML estruturado de maneiras diferentes. Por esta razão a opção de não validar foi escolhida e os métodos do KMLHandler foram desenvolvidos para estar de acordo com estas estruturas, nota-se que, se um documento estiver fora da especificação 2.2 do KML (Um documento mais antigo por exemplo) este módulo não será capaz de compreendê-lo. 5.3 Recuperação de recursos e geometrias de um arquivo KML

65 65 A próxima funcionalidade adicionada é a que permite que uma aplicação recupere listas de objetos que ela utiliza, estes são os métodos que serão utilizados para atualizar os observadores após as modificações no sujeito. Os objetos que podem ser manipulados incluem marcadores, links de rede, sobreposição de imagens, entre outros objetos que representam classes concretas da classe abstrata Feature. Os métodos aplicam o princípio do polimorfismo, ou seja, como eles são orientados as classes abstratas apenas pequenas modificação são feitas para adaptar cada método de recuperação ou edição do módulo para um objeto concreto, seguem alguns exemplos da implementação destes serviços: Figura 38 - Trecho do método responsável pela recuperação de uma lista de marcadores. A figura 38 contém um trecho do método responsável por recuperar uma lista de marcadores. Como pôde ser visualizado na figura 28, o objeto placemark, que representa pelo o elemento placemark da especificação do KML, é uma generalização da classe abstrata Feature, sendo assim, o método procura por features que estejam contidas dentro uma Feature raiz. Além de marcadores, documentos e pastas também são concretizações da classe Feature, logo, é necessário que o método verifique se a raiz recebida não é um documento ou pasta, se nos casos positivos, o método percorre o documento ou pasta recebida (o trecho demonstra a verificação em uma Feature do tipo Document) procurando por objetos do tipo placemark, ou seja, marcadores e adicionando eles a uma lista que será retornada para atualizar os observadores. Nota-se que, com a aplicação do polimorfismo, pode-se adaptar este mesmo método para retornar qualquer classe concreta de Feature, por exemplo:

66 66 Figura 39 - Trecho do método responsável pela recuperação de uma lista de imagens sobrepostas. A figura 39 demonstra o código para a recuperação de uma lista de imagens sobrepostas, percebe-se que poucas alterações são necessárias para fazer com que a implementação do método que recupera marcadores possa recuperar imagens sobrepostas. Imagens sobrepostas, representadas pelo objeto PhotoOverlay, também são concretizações de Feature, logo, a mesma lógica pode ser aplicada, com a diferença de que este método procura por instâncias de PhotoOverlay ao invés de placemark. Em suma, a mesma lógica pode ser aplicada para todas as concretizações de Feature, o que permite que observadores possam ser atualizados com qualquer um destes objetos: Marcadores (Placemark); Imagens Sobrepostas (PhotoOverlay); Link de rede (NetworkLink); Telas sobrepostas (ScreenOverlay); Sobreposição de solo (GroundOverlay); Animação de passeios (Tour); Documentos (Document); Pasta (Folder); Embora estas opções atendam a parte dos possíveis usos das aplicações pode haver casos em que uma aplicação utilize o KML apenas para armazenar dados geográficos, como pontos, linhas e polígonos, para estes casos foram desenvolvidos serviços que recuperam apenas estes dados, seguem alguns exemplos:

67 67 Figura 40 - Método responsável pela recuperação de uma lista de pontos. A figura 40 demonstra o método responsável pela recuperação de uma lista de pontos. Pontos são representados pelo objeto Point, que são uma generalização da classe abstrata Geometry, o polimorfismo pôde ser aplicado de forma semelhante à utilizada para a recuperação de concretizações da classe Feature com algumas mudanças para a estrutura das geometrias. Uma geometria é um atributo de um marcador, portanto, para recuperar as geometrias contidas em um documento KML é necessário que se tenha uma lista com todos os marcadores, para isso, o objeto Placemarks é populado com uma lista de marcadores obtida por intermédio do método getplacemarks, demonstrado na figura 38, e a partir deste objeto, todos os marcadores são verificados para saber se possuem uma geometria e se essa geometria é um ponto ( se é uma instância da classe Point), se a geometria for um ponto ela é adicionada a uma lista que será retornada para atualizar os observadores. Pode-se recuperar uma lista de uma geometria diferente fazendo pequenas alterações neste método, graças ao polimorfismo, segue um exemplo da adaptação para a recuperação de polígonos: Figura 41 - Método responsável pela recuperação de uma lista de polígonos.

68 68 A figura 41 demonstra o código para a recuperação de uma lista de polígonos, percebe-se que poucas alterações são necessárias, neste caso, ainda se precisa de uma lista de marcadores que será percorrida em busca de geometrias, a única diferença é que agora as geometrias devem ser do tipo polígono (instâncias da classe Polygon). De forma semelhante à recuperação de concretizações da classe Feature, esta lógica pode ser aplicada para atualizar observadores com qualquer generalização da classe Geometry, representados pelos seguintes objetos: Ponto (Point); Linha (LineString); Círculo ( LinearRing); Polígono (Polygon); Multi-Geometria (MultiGeometry); Modelo (Model); 5.4 Manipulação de recursos e geometrias no ambiente Java Os serviços apresentados até agora permitem que uma aplicação possa receber os dados geográficos contidos em um documento KML de forma fácil de trabalhar pois os objetos recebidos são objetos que possuem os atributos comuns aos elementos KML e alguns métodos de manipulação (como métodos para adicionar um novo elemento filho), no entanto, para cumprir os objetivos propostos deste trabalho o KMLHandler reflete as modificações que o usuário efetuar em um objeto para o documento KML. Os métodos a seguir demonstram como o usuário poderá criar, apagar e alterar os objetos recuperados de um arquivo KML.

69 69 Figura 42 Método responsável por atualizar o KML ao receber um marcador. A figura 42 demonstra o método responsável por receber um marcador e usá-lo para atualizar o documento KML. A lógica do método é a seguinte: Procurar o marcador recebido no documento para ver se ele já existe: o Se não existir: Ele é adicionado à lista de recursos do documento; o Se existir: O marcador que está no documento recebe os dados do novo; Se a atualização no documento KML for efetuada com sucesso o método notifyobservers() é chamado para atualizar os observadores. O método updateplacemark presta um serviço útil para aplicações que necessitem efetuar atualizações no documento KML passando apenas um recurso, neste caso um marcador, no entanto, uma forma mais prática e rápida seria se a aplicação devolvesse uma lista de marcadores (semelhantemente ao módulo KMLHandler que envia uma lista para a aplicação), portanto, outro método foi desenvolvido com o intuito de atualizar o documento KML a partir de uma lista de marcadores.

70 70 Figura 43 - Método responsável por atualizar o KML ao receber uma lista de marcadores parte 1. A figura 43 demonstra um trecho do método responsável por receber uma lista de marcadores e usá-la para o documento KML. A lógica deste trecho é a seguinte: Percorre a lista recebida e compara o elemento atual com a lista do documento o Se o marcador atual não existir ele é adicionado à lista de recursos do documento; o Se o marcador atual existir ele recebe os dados atualizados; Se a atualização no documento KML for efetuada com sucesso o método notifyobservers() é chamado para atualizar os observadores. O método updateplacemkarks se comporta semelhante ao updateplacemkark, no entanto, este método atualiza todos os marcadores contidos em uma lista, fazendo verificações semelhantes ao método que atualiza apenas um marcador. Havia a opção de que o updateplacemarks() chamar o updateplacemark() para atualizar cada marcador, no entanto, o método updateplacemark() precisa atualizar os observadores ao final de sua execução, pois ele pode ser chamado por aplicações que utilizem o KMLHandler, logo, com o intuito de evitar processamento desnecessário, o updateplacemarks() também possui uma lógica d atualização dos marcadores. Além de criar e modificar marcadores, o usuário de uma aplicação pode remover marcadores e para isso há uma lógica de remoção na segunda parte do método updateplacemarks, como pode ser visto na figura 44:

71 71 Figura 44 - Método responsável por atualizar o KML ao receber uma lista de marcadores parte 2. Na segunda parte do método updateplacemarks() a lógica é a seguinte: Percorre a lista do documento KML e compara o elemento antigo com a lista recebida o Se o marcador antigo não existir na lista recebida, ele é removido da lista de recursos do documento; Se a atualização no documento KML for efetuada com sucesso o método notifyobservers() é chamado para atualizar os observadores. De forma semelhante aos métodos de recuperação de dados, essa lógica que foi aplicada para os marcadores pode também ser aplicada para todos os objetos que são concretizações da classe Feature, um exemplo é o objeto link de rede (Network Link).

72 72 Figura 45 - Método responsável por atualizar o KML ao receber um link de rede. A figura 45 demonstra o método responsável por receber um link de rede e usá-lo para atualizar o documento KML, percebe-se que as principais diferenças entre este método e o método demonstrado na figura 42 é o tipo de objeto tratado, neste caso, trata-se de um NetworkLink. Semelhantemente, para atualizar o documento KML recebendo uma lista de links de rede funciona de forma semelhante a utilizar uma lista de marcadores, como pode ser visto na figura 46. Figura 46 - Método responsável por atualizar o KML ao receber uma lista de links de rede.

73 73 A diferença, mais uma vez, é apenas o tipo de objeto tratado. Com estas funções o módulo KMLHandler encapsula uma forma de criar, remover e atualizar quaisquer objetos que sejam concretizações da classe Feature. Para atender as aplicações que utilizarem o KMLHandler para manipularem objetos geográficos serviços de atualização semelhantes aos que atualizam recursos do documento KML foram desenvolvidos, seguem alguns exemplos: Figura 47 - Método responsável por atualizar o KML ao receber um ponto. A figura 47 demonstra o método responsável por receber um ponto e usá-lo para atualizar o documento KML. A lógica do método é a seguinte: Procurar o ponto recebido no documento para ver se ele já existe: o Se não existir: Um novo marcador é criado; O novo ponto é adicionado ao marcador; O novo marcador é adicionado à lista de recursos do documento; o Se existir: O ponto que está no documento recebe os dados do novo; Se a atualização no documento KML for efetuada com sucesso o método notifyobservers() é chamado para atualizar os observadores.

74 74 Semelhantemente ao método demonstrado na figura 42, este método proporciona um serviço útil para aplicações que necessitem atualizar um documento KML passando apenas uma geometria, neste caso, um ponto. Outro método foi desenvolvido para as que as aplicações possam atualizar o documento passando uma lista de pontos: Figura 48 - Método responsável por atualizar o KML ao receber uma lista de pontos parte 1. A figura 48 demonstra um trecho do método responsável por receber uma lista de pontos e usá-la para atualizar o documento KML. A lógica deste trecho é a seguinte: Percorre a lista recebida e compara o elemento atual com a lista do documento o Se o ponto atual não existir: Um novo marcador é criado; O novo ponto é adicionado ao marcador; O novo marcador é adicionado à lista de recursos do documento; o Se o ponto atual existir ele recebe os dados atualizados; Se a atualização no documento KML for efetuada com sucesso o método notifyobservers() é chamado para atualizar os observadores. Mais uma vez percebe-se graças à estrutura do KML é possível adaptar as lógicas desenvolvidas para novos serviços. De maneira semelhante ao método de atualização de marcadores este método também é capaz de criar pontos novos e atualizar pontos existentes, a principal diferença é que como uma geometria precisa ser adicionada a um marcador para

75 75 cada ponto criado será criado um novo marcador para armazená-lo. Há também a lógica de remoção de pontos demonstrada na figura 49: Figura 49 - Método responsável por atualizar o KML ao receber uma lista de pontos parte 2. Na segunda parte do método updatepoints() a lógica é a seguinte: Percorre a lista do documento KML e compara o elemento antigo com a lista recebida o Se o ponto antigo não existir na lista recebida, ele é removido do marcador; Se a atualização no documento KML for efetuada com sucesso o método notifyobservers() é chamado para atualizar os observadores. Com estes serviços uma aplicação pode criar, editar e remover pontos e deixar o KMLHandler refletir estas alterações em um documento KML e, depois de concluir as atualizações, notificar todos os observadores que o documento foi alterado. Mais uma vez, devido à estrutura do KML esta mesma lógica se aplica a qualquer geometria, como por exemplo linhas.

76 76 Figura 50 - Método responsável por atualizar o KML ao receber uma linha. A figura 50 demonstra o método responsável por receber uma linha e usá-la para atualizar o documento KML. Semelhantemente aos métodos que tratam dos recursos percebe-se que a diferença é o tipo de objeto tratado, neste caso é o LineString. Semelhantemente aos pontos há um método responsável por atualizar o documento recebendo uma lista de linhas, como pode ser visto na figura 51: Figura 51 - Método responsável por atualizar o KML ao receber uma lista de linhas. Novamente, a diferença entre este método e o que atualiza usando uma lista de pontos é o tipo de geometria utilizada. Os serviços demonstrados foram desenvolvidos para todos os objetos aplicáveis permitindo que uma aplicação possa utilizar o KMLHandler para:

77 77 Importar dados geográficos de um documento KML; Criar quaisquer recursos ou geometrias; Editar todos os atributos de recursos, geometrias e de outros objetos associados a eles; Remover recursos ou geometrias; Exportar os dados para um documento KML. No total, foram desenvolvidos quarenta e dois métodos que proporcionam os serviços listados para todos os recursos e geometrias de um documento KML. Infelizmente, devido à complexidade do módulo KMLHandler, limitações de tempo e a um período de reestruturação do GLUE a InterfaceKML, que seria desenvolvida para exemplificar o uso do módulo por uma aplicação independente, e que seria adicionada ao GLUE, não pôde ser desenvolvida para este trabalho.

78 78 6 RESULTADOS OBTIDOS Este capítulo aborda os resultados obtidos com o módulo desenvolvido, demonstrando como uma aplicação que utilize o módulo pode manipular os dados contidos em documento KML. Este capítulo esta dividido da seguinte forma: A seção 6.1 descreve como os resultados serão demonstrados, a seção 6.2 apresenta os resultados relacionados à manipulação de recursos dos documentos KML e a seção 6.3 apresenta os resultados relacionados à manipulação das geometrias dos documentos KML. 6.1 Introdução Para a demonstração, primeiramente o código de manipulação do documento KML, que foi feito na linguagem Java, demonstra como uma aplicação utiliza o KMLHandler e, em seguida, imagens demonstram os resultados obtidos. O foco dos resultados são os objetivos estabelecidos no trabalho, como criação de marcadores, edição dos dados geográficos do documento e remoção de dados do documento, estas funções são executadas em listas e objetos obtidos utilizando o KMLHandler. 6.1 Criação e manipulação de recursos O primeiro exemplo demonstra uma das funções mais comuns de arquivos KML, a criação de marcadores.

79 79 Figura 52 - Código da criação de um marcador. A figura 52 demonstra o código usado para criar um marcador. Ela simula uma aplicação que permite a criação do objeto e o ajuste dos parâmetros principais do marcador como nome, identificação, descrição, etc. Uma aplicação só precisa conhecer o objeto marcador, para atualizar o documento KML ele só precisa chamar o método de atualização do KMLHandler. O resultado da modificação do documento é exibido na figura 53: Figura 53 - Criação de marcador. Fonte: Google Earth, O próximo exemplo demonstra como uma aplicação cliente deverá interagir com o módulo para efetuar mudanças em um marcador.

80 80 Figura 54 - Código da modificação de marcador. O código demonstrado na figura 54 simula uma aplicação que já tenha os marcadores e o usuário deseja alterar as coordenadas, nome e descrição do marcador. As coordenadas podem ser obtidas pela posição do apontador do mouse em um mapa e os demais valores podem ser editados por intermédio de uma interface gráfica. Após efetuar as alterações, a aplicação utiliza o método de atualização de marcador do KMLHandler. A figura 55 mostra o marcador original: Figura 55 - Marcador antes da modificação. Fonte: Google Earth, A figura 56 mostra o resultado depois de o KMLHandler atualizar o documento:

81 81 Figura 56 - Marcador depois da modificação. Fonte: Google Earth, O próximo exemplo demonstra como um usuário pode modificar vários marcadores de uma só vez: Figura 57 - Código da modificação de diversos marcadores. O código demonstrado na figura 57 simula um usuário que efetua modificações em quatro marcadores diferentes e depois solicita ao KMLHandler que reflita estas alterações no documento KML utilizando o método que atualiza vários marcadores de uma só vez. As modificações são: O estilo do primeiro polígono foi alterado para um estilo customizado;

BANCO DE DADOS GEOGRÁFICOS

BANCO DE DADOS GEOGRÁFICOS BANCO DE DADOS GEOGRÁFICOS E WEBMAPPING -KML(KEYHOLE MARKUP LANGUAGE) Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza INTRODUÇÃO KML é um formato de arquivo usado para exibir dados geográficos

Leia mais

INFOAMBIENTE: GESTÃO AMBIENTAL DE RODOVIAS COM SIG-WEB

INFOAMBIENTE: GESTÃO AMBIENTAL DE RODOVIAS COM SIG-WEB Belo Horizonte/MG 24 a 27/11/2014 INFOAMBIENTE: GESTÃO AMBIENTAL DE RODOVIAS COM SIG-WEB Adriano Peixoto Panazzolo (*), Augusto Gattermann Leipnitz, Daniela Viegas, Társio Onofrio Cardoso da Silva, Thiago

Leia mais

OFICINA USO DO I3GEO. Levindo Cardoso Medeiros. levindocm@gmail.com

OFICINA USO DO I3GEO. Levindo Cardoso Medeiros. levindocm@gmail.com OFICINA USO DO I3GEO Levindo Cardoso Medeiros levindocm@gmail.com ESTRUTURA INTRODUÇÃO UTILIZANDO O I3GEO Aprendendo a navegar pelo I3Geo Propriedades do mapa ADICIONANDO E MANIPULANDO CAMADAS Adicionando

Leia mais

SOFTWARES DE GEOPROCESSAMENTO

SOFTWARES DE GEOPROCESSAMENTO SOFTWARES DE GEOPROCESSAMENTO Ferramentas Proprietário para SIG É um conjunto de aplicativos computacionais de Sistemas de Informações Geográficas (SIGs) desenvolvido pela empresa norte americana Esri

Leia mais

Mapserver Servidor de Mapas. João Araujo

Mapserver Servidor de Mapas. João Araujo Mapserver Servidor de Mapas João Araujo Por que fazer mapas? Mapas têm tido papel prepoderante nas atividades humanas por milhares de anos. Desde o início, mapas eram usados para mostrar onde as coisas

Leia mais

TerraView. O TerraView está estruturado da seguinte forma: - Modelo de dados

TerraView. O TerraView está estruturado da seguinte forma: - Modelo de dados TerraView O TerraView é um aplicativo desenvolvido pelo DPI/INPE e construído sobre a biblioteca de geoprocessamento TerraLib, tendo como principais objetivos: - Apresentar à comunidade um fácil visualizador

Leia mais

WebUML: Uma Ferramenta Colaborativa de Apoio ao Projeto e Análise de Sistemas Descritos em Classes UML

WebUML: Uma Ferramenta Colaborativa de Apoio ao Projeto e Análise de Sistemas Descritos em Classes UML Carlos Henrique Pereira WebUML: Uma Ferramenta Colaborativa de Apoio ao Projeto e Análise de Sistemas Descritos em Classes UML Florianópolis - SC 2007 / 2 Resumo O objetivo deste trabalho é especificar

Leia mais

Centro de Trabalho Indigenista CTI

Centro de Trabalho Indigenista CTI Centro de Trabalho Indigenista CTI Termo de Referência para Contratação de Consultoria Técnica Junho de 2015 Projeto Proteção Etnoambiental de Povos Indígenas Isolados e de Recente Contato na Amazônia

Leia mais

Sistemas de Informação Geográfica Prof. Tiago Eugenio de Melo, MSc.

Sistemas de Informação Geográfica Prof. Tiago Eugenio de Melo, MSc. Sistemas de Informação Geográfica Prof. Tiago Eugenio de Melo, MSc. SUMÁRIO Apresentação da ementa Introdução Conceitos Básicos de Geoinformação Arquitetura de SIGs Referências Bibliográficas APRESENTAÇÃO

Leia mais

Conceitos Iniciais MARCEL SANTOS SILVA

Conceitos Iniciais MARCEL SANTOS SILVA Conceitos Iniciais MARCEL SANTOS SILVA DPI - INPE Criada em 1984, a Divisão de Processamento de Imagens (DPI) faz parte da Coordenação Geral de Observação da Terra/OBT do Instituto Nacional de Pesquisas

Leia mais

Geoprocessamento e Padrões OGC

Geoprocessamento e Padrões OGC Geoprocessamento e Padrões OGC Martin Pereira 36 slides Agenda Geoprocessamento Definição Histórico SIG OGC Definição Importância Histórico Padrões Slide 2 de 36 Geoprocessamento Definição Disciplina do

Leia mais

INDICE 3.APLICAÇÕES QUE PODEM SER DESENVOLVIDAS COM O USO DO SAXES

INDICE 3.APLICAÇÕES QUE PODEM SER DESENVOLVIDAS COM O USO DO SAXES w w w. i d e a l o g i c. c o m. b r INDICE 1.APRESENTAÇÃO 2.ESPECIFICAÇÃO DOS RECURSOS DO SOFTWARE SAXES 2.1. Funcionalidades comuns a outras ferramentas similares 2.2. Funcionalidades próprias do software

Leia mais

Desenvolvimento de Mapas Interativos Utilizando Tecnologias Livres 1

Desenvolvimento de Mapas Interativos Utilizando Tecnologias Livres 1 Desenvolvimento de Mapas Interativos Utilizando Tecnologias Livres 1 Fernando Martins Pimenta 2, Elena Charlotte Landau 3, André Hirsch 4 e Daniel Pereira Guimarães 3 1 Projeto financiado pela FAPEMIG

Leia mais

AULA 1 Iniciando o uso do TerraView

AULA 1 Iniciando o uso do TerraView 1.1 AULA 1 Iniciando o uso do TerraView Essa aula apresenta a interface principal do TerraView e sua utilização básica. Todos os arquivos de dados mencionados nesse documento são disponibilizados junto

Leia mais

CAPÍTULO 2 ARQUITETURAS CLIENTE-SERVIDOR PARA DISSEMINAÇÃO DE DADOS GEOGRÁFICOS: UMA REVISÃO

CAPÍTULO 2 ARQUITETURAS CLIENTE-SERVIDOR PARA DISSEMINAÇÃO DE DADOS GEOGRÁFICOS: UMA REVISÃO CAPÍTULO 2 ARQUITETURAS CLIENTE-SERVIDOR PARA DISSEMINAÇÃO DE DADOS GEOGRÁFICOS: UMA REVISÃO Existem várias maneiras com as quais dados geográficos podem ser distribuídos pela Internet, todas fundamentadas

Leia mais

OBTENÇÃO DE IMAGEM DO GOOGLE EARTH PARA CLASSIFICAÇÃO DE USO E OCUPAÇÃO DO SOLO

OBTENÇÃO DE IMAGEM DO GOOGLE EARTH PARA CLASSIFICAÇÃO DE USO E OCUPAÇÃO DO SOLO OBTENÇÃO DE IMAGEM DO GOOGLE EARTH PARA CLASSIFICAÇÃO DE USO E OCUPAÇÃO DO SOLO ROGER TORLAY 1 ; OSVALDO T. OSHIRO 2 N 10502 RESUMO O sensoriamento remoto e o geoprocessamento trouxeram importantes avanços

Leia mais

AULA 1 Iniciando o Uso do TerraView

AULA 1 Iniciando o Uso do TerraView 1.1 AULA 1 Iniciando o Uso do TerraView Essa aula apresenta o software TerraView apresentando sua interface e sua utilização básica. Todos os arquivos de dados mencionados neste documento bem como o executável

Leia mais

Relações mais harmoniosas de convívio com a natureza; O mundo como um modelo real que necessita de abstrações para sua descrição; Reconhecimento de

Relações mais harmoniosas de convívio com a natureza; O mundo como um modelo real que necessita de abstrações para sua descrição; Reconhecimento de Relações mais harmoniosas de convívio com a natureza; O mundo como um modelo real que necessita de abstrações para sua descrição; Reconhecimento de padrões espaciais; Controle e ordenação do espaço. Técnicas

Leia mais

Google Earth para disseminação pública

Google Earth para disseminação pública Google Earth para disseminação pública http://earth.google.com.br O que é o Google Earth? Google Earth é um programa instalado no seu computador que permite interagir com imagens e mapas em 3 dimensões

Leia mais

Geoprocessamento com Software Livre. Anderson Maciel Lima de Medeiros Consultor em Geotecnologias

Geoprocessamento com Software Livre. Anderson Maciel Lima de Medeiros Consultor em Geotecnologias Geoprocessamento com Software Livre Anderson Maciel Lima de Medeiros Consultor em Geotecnologias SUMÁRIO O que é Software Livre? A GLP GNU Geoprocessamento Algumas Geotecnologias Geotecnologias Livres

Leia mais

Plataforma TerraLib. Lúbia Vinhas. EUsISSeR São José dos Campos, Outubro 2010

Plataforma TerraLib. Lúbia Vinhas. EUsISSeR São José dos Campos, Outubro 2010 Plataforma TerraLib Lúbia Vinhas E.F.Castejon, K.R.Ferreira, J.P.Garrido, L.T.Hara, A.M.V.Monteiro, M.Motta, G.Ribeiro EUsISSeR São José dos Campos, Outubro 2010 DPI Divisão de Processamento de Imagens

Leia mais

AULA 17 KML Manager. Nessa aula serão apresentadas as funcionalidades do KML Manager.

AULA 17 KML Manager. Nessa aula serão apresentadas as funcionalidades do KML Manager. 17.1 AULA 17 KML Manager Nessa aula serão apresentadas as funcionalidades do KML Manager. KML (Keyhole Markup Language) é um formato de arquivo e uma gramática XML que serve para modelar e armazenar características

Leia mais

SIGMACast: Sistema de Informação Geográfica focado em aplicações meteorológicas e ambientais

SIGMACast: Sistema de Informação Geográfica focado em aplicações meteorológicas e ambientais SIGMACast: Sistema de Informação Geográfica focado em aplicações meteorológicas e ambientais Cíntia Pereira de Freitas¹; Wagner Flauber Araujo Lima¹ e Carlos Frederico de Angelis¹ 1 Divisão de Satélites

Leia mais

OpenJUMP. Pontos fracos do OpenJUMP

OpenJUMP. Pontos fracos do OpenJUMP OpenJUMP No início foi chamado apenas de JUMP (JAVA Unified Mapping Platform), e se tornou popular no mundo livre de SIG(Sistema de informação Geográfica), desenhado por Vivid Solutions. Atualmente é desenvolvido

Leia mais

GEOCODIFICAÇÃO DE ENDEREÇOS

GEOCODIFICAÇÃO DE ENDEREÇOS GEOCODIFICAÇÃO DE ENDEREÇOS Sergio Vicente Denser Pamboukian 1, Gabriella Teixeira Dias Leite 2, Larissa Porteiro Carminato 3 Resumo Muitas vezes, informações referenciadas apenas pelo endereço do seu

Leia mais

Desenvolvimento de um sistema web para a divulgação das empresas da cidade de São Sebastião do Paraíso - MG

Desenvolvimento de um sistema web para a divulgação das empresas da cidade de São Sebastião do Paraíso - MG Desenvolvimento de um sistema web para a divulgação das empresas da cidade de São Sebastião do Paraíso - MG Henrique de Oliveira Graduando em Sistemas de Informação Fernando Roberto Proença Mestre em Ciência

Leia mais

Palavras-chave: i3geo, gvsig, Mapserver, integração, plugin. Contato: edmar.moretti@terra.com.br ou edmar.moretti@gmail.com

Palavras-chave: i3geo, gvsig, Mapserver, integração, plugin. Contato: edmar.moretti@terra.com.br ou edmar.moretti@gmail.com III Jornada Latinoamericana e do Caribe do gvsig Artigo: Integração do software i3geo com o gvsig Autor: Edmar Moretti Resumo: O i3geo é um software para a criação de mapas interativos para internet qu

Leia mais

SPRING 3.6.03 - Apresentação

SPRING 3.6.03 - Apresentação SPRING 3.6.03 - Apresentação GEOPROCESSAMENTO Conjunto de ferramentas usadas para coleta e tratamento de informações espaciais, geração de saídas na forma de mapas, relatórios, arquivos digitais, etc;

Leia mais

AULA 5 Manipulando Dados Matriciais: Grades e Imagens. 5.1 Importando Grades e Imagens Interface Simplificada

AULA 5 Manipulando Dados Matriciais: Grades e Imagens. 5.1 Importando Grades e Imagens Interface Simplificada 5.1 AULA 5 Manipulando Dados Matriciais: Grades e Imagens Nessa aula serão apresentadas algumas funcionalidades do TerraView relativas à manipulação de dados matriciais. Como dados matriciais são entendidas

Leia mais

2 Trabalhos Relacionados

2 Trabalhos Relacionados 2 Trabalhos Relacionados Os trabalhos relacionados podem ser classificados em três categorias: abordagens baseadas em metamodelos para a definição de formalismos, uso de metamodelos em editores de diagrama

Leia mais

Cenário atual de uso e das ferramentas de software livre em Geoprocessamento

Cenário atual de uso e das ferramentas de software livre em Geoprocessamento Cenário atual de uso e das ferramentas de software livre em Geoprocessamento Tiago Eugenio de Melo tiago@comunidadesol.org 1 Sumário Conceitos GIS e Software Livre Ferramentas: Jump Qgis Thuban MapServer

Leia mais

Serviço de Consulta Versão: outubro/ 2010

Serviço de Consulta Versão: outubro/ 2010 Serviço de Consulta Versão: outubro/ 2010 1 Índice Portal CopaGIS...3 1 - Como se cadastrar...4 2 - Serviços do Portal de Geoprocessamento...8 3 - Serviço de Consulta...9 3.1 - Dados informativos... 10

Leia mais

A UTILIZAÇÃO DO GOOGLE FUSION TABLES PARA COMPARTILHAR E INTEGRAR DADOS DE SISTEMAS DEPOSICIONAIS QUATERNÁRIOS COSTEIROS

A UTILIZAÇÃO DO GOOGLE FUSION TABLES PARA COMPARTILHAR E INTEGRAR DADOS DE SISTEMAS DEPOSICIONAIS QUATERNÁRIOS COSTEIROS A UTILIZAÇÃO DO GOOGLE FUSION TABLES PARA COMPARTILHAR E INTEGRAR DADOS DE SISTEMAS DEPOSICIONAIS QUATERNÁRIOS COSTEIROS André Zular 1 ; André O. Sawakuchi 1 ; Paulo C.F.Giannini 1 ; Carlos C.F. Guedes

Leia mais

Apostila do curso: Quantum GIS Básico Módulo I

Apostila do curso: Quantum GIS Básico Módulo I Apostila do curso: Quantum GIS Básico Módulo I Helio Larri Vist Geógrafo Mestre em Sensoriamento Remoto Ayr Müller Gonçalves Educador Físico e Graduando em Segurança da Informação Rai Nunes dos Santos

Leia mais

AULA 5 Manipulando Dados Matriciais: Grades e Imagens. 5.1 Importando Grades e Imagens Interface Simplificada

AULA 5 Manipulando Dados Matriciais: Grades e Imagens. 5.1 Importando Grades e Imagens Interface Simplificada 5.1 AULA 5 Manipulando Dados Matriciais: Grades e Imagens Nessa aula serão apresentadas algumas funcionalidades do TerraView relativas a manipulação de dados matriciais. Como dados matriciais são entendidas

Leia mais

GEOPROCESSAMENTO. Conjunto de ferramentas usadas para coleta e tratamento de informaçõ. ções espaciais, geraçã

GEOPROCESSAMENTO. Conjunto de ferramentas usadas para coleta e tratamento de informaçõ. ções espaciais, geraçã GEOPROCESSAMENTO Conjunto de ferramentas usadas para coleta e tratamento de informaçõ ções espaciais, geraçã ção o de saídas na forma de mapas, relatórios, rios, arquivos digitais, etc; Deve prover recursos

Leia mais

Título Utilização de Software Livre Terralib para o Cadastro de Redes de Água e Esgoto. Tema: Sistema de Informações Geográficas - SIG

Título Utilização de Software Livre Terralib para o Cadastro de Redes de Água e Esgoto. Tema: Sistema de Informações Geográficas - SIG Título Utilização de Software Livre Terralib para o Cadastro de Redes de Água e Esgoto Tema: Sistema de Informações Geográficas - SIG Autor/apresentador Eng. José Maria Viillac Pinheiro Currículo Sócio

Leia mais

Capítulo 5 INTERNET E NOVAS TECNOLOGIAS

Capítulo 5 INTERNET E NOVAS TECNOLOGIAS Capítulo 5 INTERNET E NOVAS TECNOLOGIAS 5.1 - GEOPROCESSAMENTO E INTERNET...2 5.2 - BIBLIOTECAS DIGITAIS...4 5.2.1 - Introdução...4 5.2.2 - Natureza dos Dados Geográficos...4 5.2.3 - Apresentação dos Dados...5

Leia mais

Manual do Usuário - VisPublica Melise Paula Fernanda Ribeiro Bárbara Pimenta Clóvis Noronha Luan Costa Mário Macedo

Manual do Usuário - VisPublica Melise Paula Fernanda Ribeiro Bárbara Pimenta Clóvis Noronha Luan Costa Mário Macedo Manual do Usuário - VisPublica Melise Paula Fernanda Ribeiro Bárbara Pimenta Clóvis Noronha Luan Costa Mário Macedo Manual do Usuário VisPublica Visualização de Dados Públicos Desenvolvido por: Instituto

Leia mais

GEOPROCESSAMENTO. Herondino Filho

GEOPROCESSAMENTO. Herondino Filho GEOPROCESSAMENTO Herondino Filho Sumário 1. Introdução 1.1 Orientações Avaliação Referência 1.2 Dados Espaciais 1.2.1 Exemplo de Dados Espaciais 1.2.2 Aplicações sobre os Dados Espaciais 1.3 Categoria

Leia mais

http://mapas.ipea.gov.br/i3geo/

http://mapas.ipea.gov.br/i3geo/ IPEAMAPAS Disponibilização de forma espacializada dos dados publicados pelo IPEA; Permite interatividade com outros dados disponíveis (infraestrutura, assistência social, saúde, educação, cultura e dados

Leia mais

Modelos de Sistema. 2007 by Pearson Education. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1.

Modelos de Sistema. 2007 by Pearson Education. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1. Modelos de Sistema Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1 Objetivos Explicar por que o contexto de um sistema deve ser modelado como parte do processo de RE Descrever

Leia mais

Introdução ao SIG. Objetivos Específicos 18/11/2010. Competência: Apresentar: Utilidade de um SIG

Introdução ao SIG. Objetivos Específicos 18/11/2010. Competência: Apresentar: Utilidade de um SIG MINISTÉRIO DO MEIO AMBIENTE - MMA INSTITUTO CHICO MENDES DE CONSERVAÇÃO DA BIODIVERSIDADE - ICMBio DIRETORIA DE PLANEJAMENTO, ADMINISTRAÇÃO E LOGÍSTICA - DIPLAN COORDENAÇÃO GERAL DE GESTÃO DE PESSOAS -

Leia mais

A utilização de Sistema de Informação Geográfica baseada em software livre na área de Segurança Pública

A utilização de Sistema de Informação Geográfica baseada em software livre na área de Segurança Pública A utilização de Sistema de Informação Geográfica baseada em software livre na área de Segurança Pública Alan Peixoto Medeiros Universidade Presidente Antônio Carlos Rodovia MG 368 KM 12 Colônia Rodrigo

Leia mais

TerraLib e Aplicativos. Emiliano F. Castejon INPE Instituto Nacional de Pesquisas Espaciais DPI Divisão de Processamento de Imagens

TerraLib e Aplicativos. Emiliano F. Castejon INPE Instituto Nacional de Pesquisas Espaciais DPI Divisão de Processamento de Imagens TerraLib e Aplicativos Emiliano F. Castejon INPE Instituto Nacional de Pesquisas Espaciais DPI Divisão de Processamento de Imagens Divisão de Processamento de Imagens http://www.dpi.inpe.br/ Competência

Leia mais

Software Livre e GIS: Quais são as alternativas?

Software Livre e GIS: Quais são as alternativas? Software Livre e GIS: Quais são as alternativas? Tiago Eugenio de Melo tiago@comunidadesol.org 1 Sumário Conceitos GIS e Software Livre Ferramentas: Thuban Qgis Jump MapServer O Futuro das Tecnologias

Leia mais

SISTEMAS DE INFORMAÇÃO GEOGRÁFICA

SISTEMAS DE INFORMAÇÃO GEOGRÁFICA UNIVERSIDADE DE SÃO PAULO ESCOLA SUPERIOR DE AGRICULTURA LUIZ DE QUEIROZ DEPARTAMENTO DE ENGENHARIA DE BIOSSISTEMAS DISCIPLINA: LEB210 GEOPROCESSAMENTO SEGUNDO SEMESTRE DE 2013 PROF. DR. CARLOS ALBERTO

Leia mais

Engenharia de Software I

Engenharia de Software I Engenharia de Software I Rogério Eduardo Garcia (rogerio@fct.unesp.br) Bacharelado em Ciência da Computação Aula 05 Material preparado por Fernanda Madeiral Delfim Tópicos Aula 5 Contextualização UML Astah

Leia mais

SOLUÇÃO PARA SOCIALIZAÇÃO DE BANCO DE DADOS GEOGRÁFICOS E ANÁLISE DE APTIDÃO DO SOLO UTILIZANDO O SOFTWARE I3GEO

SOLUÇÃO PARA SOCIALIZAÇÃO DE BANCO DE DADOS GEOGRÁFICOS E ANÁLISE DE APTIDÃO DO SOLO UTILIZANDO O SOFTWARE I3GEO INSTITUTO DE ESTUDOS SUPERIORES DA AMAZÔNIA CURSO DE SISTEMAS DE INFORMAÇÃO ANDERSON CARLOS SOUSA CALIL NILMA JOSY SILVA DA SILVA SOLUÇÃO PARA SOCIALIZAÇÃO DE BANCO DE DADOS GEOGRÁFICOS E ANÁLISE DE APTIDÃO

Leia mais

SISTEMAS DE INFORMAÇÃO GEOGRÁFICA (I)

SISTEMAS DE INFORMAÇÃO GEOGRÁFICA (I) UNIVERSIDADE DE SÃO PAULO ESCOLA SUPERIOR DE AGRICULTURA LUIZ DE QUEIROZ DEPARTAMENTO DE ENGENHARIA DE BIOSSISTEMAS DISCIPLINA: LEB450 TOPOGRAFIA E GEOPROCESSAMENTO II PROF. DR. CARLOS ALBERTO VETTORAZZI

Leia mais

Manual do Usuário BDGEx Versão: 2.3

Manual do Usuário BDGEx Versão: 2.3 Manual do Usuário BDGEx Versão: 2.3 Ministério da Defesa Exército Brasileiro Maio/2012 Sumário 1- Introdução...2 1.1- O que é o BDGEx?...2 1.2- Entrando no Sistema...2 1.3- Apresentando a Área de Trabalho

Leia mais

TECNOLOGIAS GEOESPACIAIS INOVADORAS. Tecnologia. Geoprocessamento. Sistemas de Informações Geográficas. Sensoriamento Remoto. Geociências.

TECNOLOGIAS GEOESPACIAIS INOVADORAS. Tecnologia. Geoprocessamento. Sistemas de Informações Geográficas. Sensoriamento Remoto. Geociências. TECNOLOGIAS GEOESPACIAIS INOVADORAS Tecnologia Geoprocessamento Sistemas de Informações Geográficas Sensoriamento Remoto Geociências Geofísica www.hexgis.com PIONEIRISMO E INOVAÇÃO Idealizada a partir

Leia mais

CAPÍTULO 1 INTRODUÇÃO

CAPÍTULO 1 INTRODUÇÃO CAPÍTULO 1 INTRODUÇÃO A atuação do homem no meio ambiente, ao longo da história, fornece provas de suas ações em nome do progresso. Esta evolução tem seu lado positivo, pois abre novos horizontes, novas

Leia mais

Mapa índice digital na CPRM: recurso a serviço da disseminação da informação cartográfica

Mapa índice digital na CPRM: recurso a serviço da disseminação da informação cartográfica Powered by TCPDF (www.tcpdf.org) Mapa índice digital na CPRM: recurso a serviço da disseminação da informação cartográfica Isabel Angela dos Santos Matos (CPRM) - isabel.matos@cprm.gov.br Resumo: Este

Leia mais

Dado Vetorial. Características do Dado Vetorial. Usa entidades como ponto, linha e polígono para identificar localizações;

Dado Vetorial. Características do Dado Vetorial. Usa entidades como ponto, linha e polígono para identificar localizações; Estrutura dos Dados Geográficos Organização lógica dos dados para preservar sua integridade e facilitar o seu uso. Vetorial Raster ou Matricial Dado Vetorial Usa entidades como ponto, linha e polígono

Leia mais

ESTUDO COMPARATIVO DE SOFWARES GRATUITOS DE GEOPROCESSAMENTO PARA ELABORAÇÃO DE PROJETOS DE ENGENHARIA

ESTUDO COMPARATIVO DE SOFWARES GRATUITOS DE GEOPROCESSAMENTO PARA ELABORAÇÃO DE PROJETOS DE ENGENHARIA ESTUDO COMPARATIVO DE SOFWARES GRATUITOS DE GEOPROCESSAMENTO PARA ELABORAÇÃO DE PROJETOS DE ENGENHARIA 1. Introdução Nos últimos anos, a área de geotecnologias ganhou maior visibilidade através da popularização

Leia mais

3 O Geoprocessamento e o Sistema de Informação Geográfico

3 O Geoprocessamento e o Sistema de Informação Geográfico 3 O Geoprocessamento e o Sistema de Informação Geográfico Este capítulo apresenta uma introdução aos conceitos referentes ao Geoprocessamento e o Sistema de Informação Geográfico. Será apresentada a estruturação

Leia mais

Introdução Padrões OGC Instalação Configuração Formatos de Saída Aplicação AGENDA

Introdução Padrões OGC Instalação Configuração Formatos de Saída Aplicação AGENDA Introdução ao Introdução Padrões OGC Instalação Configuração Formatos de Saída Aplicação AGENDA INTRODUÇÃO GeoServer GeoTools INTRODUÇÃO GeoServer Servidor de informação geoespacial OGC; Utilizado para

Leia mais

UNIVERSIDADE FEDERAL DA BAHIA - UFBA

UNIVERSIDADE FEDERAL DA BAHIA - UFBA UNIVERSIDADE FEDERAL DA BAHIA - UFBA Instituto de Ciências Ambientais e Desenvolvimento Sustentável Prof. Pablo Santos 4 a Aula SISTEMA DE INFORMAÇÃO GEOGRÁFICA - SIG Introdução Definições Necessárias

Leia mais

Minicurso introdutório de desenvolvimento para dispositivos Android. Cristiano Costa

Minicurso introdutório de desenvolvimento para dispositivos Android. Cristiano Costa Minicurso introdutório de desenvolvimento para dispositivos Android Cristiano Costa Desenvolvimento da interface estática Sobre mim Graduando em Engenharia Eletrônica - UNIFEI Trabalhou em desenvolvimento

Leia mais

SIG - Sistemas de Informação Geográfica

SIG - Sistemas de Informação Geográfica SIG - Sistemas de Informação Geográfica Gestão da Informação Para gestão das informações relativas ao desenvolvimento e implantação dos Planos Municipais de Conservação e Recuperação da Mata Atlântica

Leia mais

5 Detalhes da Implementação

5 Detalhes da Implementação Detalhes da Implementação 101 5 Detalhes da Implementação Neste capítulo descreveremos detalhes da implementação do Explorator que foi desenvolvido usando o paradigma MVC 45 e o paradigma de CoC 46 (Convention

Leia mais

Manual WordPress. Conteúdo Índice. Capítulo 1 Introdução. Capítulo 2 Conceitos básicos do Painel. Capítulo 3 Gerenciamento de Posts ( Artigos)

Manual WordPress. Conteúdo Índice. Capítulo 1 Introdução. Capítulo 2 Conceitos básicos do Painel. Capítulo 3 Gerenciamento de Posts ( Artigos) Manual WordPress Conteúdo Índice Capítulo 1 Introdução Sobre o WordPress Características principais Capítulo 2 Conceitos básicos do Painel Logando no Painel de Controle Alterando Usuário e Senha Painel

Leia mais

WWW - World Wide Web

WWW - World Wide Web WWW World Wide Web WWW Cap. 9.1 WWW - World Wide Web Idéia básica do WWW: Estratégia de acesso a uma teia (WEB) de documentos referenciados (linked) em computadores na Internet (ou Rede TCP/IP privada)

Leia mais

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados: MC536 Introdução Sumário Conceitos preliminares Funcionalidades Características principais Usuários Vantagens do uso de BDs Tendências mais recentes em SGBDs Algumas desvantagens Modelos de dados Classificação

Leia mais

AUTOMATIZAÇÃO DA CRIAÇÃO DE MAPAS COM O GOOGLE MAPS 1 A METHOD FOR AUTOMATIC CREATION OF MAPS WITH GOOGLE MAPS

AUTOMATIZAÇÃO DA CRIAÇÃO DE MAPAS COM O GOOGLE MAPS 1 A METHOD FOR AUTOMATIC CREATION OF MAPS WITH GOOGLE MAPS Disc. Scientia. Série: Ciências Naturais e Tecnológicas, S. Maria, v. 7, n. 1, p. 127-134, 2006. 129 ISSN 1981-2841 AUTOMATIZAÇÃO DA CRIAÇÃO DE MAPAS COM O GOOGLE MAPS 1 A METHOD FOR AUTOMATIC CREATION

Leia mais

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ PROGRAMA DE PÓS GRADUAÇÃO EM FORMAÇÃO CIENTÍFICA, EDUCACIONAL E TECNOLÓGICA PPGFCET

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ PROGRAMA DE PÓS GRADUAÇÃO EM FORMAÇÃO CIENTÍFICA, EDUCACIONAL E TECNOLÓGICA PPGFCET UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ PROGRAMA DE PÓS GRADUAÇÃO EM FORMAÇÃO CIENTÍFICA, EDUCACIONAL E TECNOLÓGICA PPGFCET KARLA PATRÍCIA GOMES COSTA ARTICULAÇÃO DE TECNOLOGIAS DE INFORMAÇÃO E COMUNICAÇÃO

Leia mais

Integração do SGBD Oracle Spatial e do Google Earth para disponibilizar informações relacionadas ao Inventário Florestal de Minas Gerais

Integração do SGBD Oracle Spatial e do Google Earth para disponibilizar informações relacionadas ao Inventário Florestal de Minas Gerais Integração do SGBD Oracle Spatial e do Google Earth para disponibilizar informações relacionadas ao Inventário Florestal de Minas Gerais Samuel R. de Sales Campos 1, Adriana Z. Martinhago 1, Thomas C.

Leia mais

IDESP Instituto de Desenvolvimento Econômico, Social e Ambiental do Estado do Pará. Serviço de Informação do Estado Manual do Usuário

IDESP Instituto de Desenvolvimento Econômico, Social e Ambiental do Estado do Pará. Serviço de Informação do Estado Manual do Usuário IDESP Instituto de Desenvolvimento Econômico, Social e Ambiental do Estado do Pará. Serviço de Informação do Estado Manual do Usuário Belém Abril de 2010 Sumário CONSIDERAÇÕES INICIAIS... 3 1. Serviço

Leia mais

Unified Modeling Language UML - Notações

Unified Modeling Language UML - Notações Unified Modeling Language UML - Notações Prof. Ms. Elvio Gilberto da Silva elvio@fmr.edu.br UML Ponto de Vista É gerada com propósito geral de uma linguagem de modelagem visual usada para especificar,

Leia mais

Curso de Engenharia de Computação PROTÓTIPO DE SISTEMA DE INFORMAÇÃO GEOGRÁFICA

Curso de Engenharia de Computação PROTÓTIPO DE SISTEMA DE INFORMAÇÃO GEOGRÁFICA Curso de Engenharia de Computação PROTÓTIPO DE SISTEMA DE INFORMAÇÃO GEOGRÁFICA Caio Cesar Fantini Campinas São Paulo Brasil Novembro de 2009 Curso de Engenharia de Computação PROTÓTIPO DE SISTEMA DE INFORMAÇÃO

Leia mais

AULA 6 - Operações Espaciais

AULA 6 - Operações Espaciais 6.1 AULA 6 - Operações Espaciais Essa aula descreve as operações espaciais disponíveis no TerraView. Antes de iniciar sua descrição é necessário importar alguns dados que serão usados nos exemplos. Exercício:

Leia mais

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Introdução BD desempenha papel crítico em todas as áreas em que computadores são utilizados: Banco: Depositar ou retirar

Leia mais

Localização Geográfica no Google Maps com o Auxílio de Redes Wireless

Localização Geográfica no Google Maps com o Auxílio de Redes Wireless Localização Geográfica no Google Maps com o Auxílio de Redes Wireless Henrique G. G. Pereira 1, Marcos L. Cassal 1, Guilherme Dhein 1, Tarcízio R. Pinto 1 1 Centro Universitário Franciscano (UNIFRA) Rua

Leia mais

I SIMPÓSIO DE CIÊNCIA & TECNOLOGIA Soluções Integradas para uma Gestão Compartilhada

I SIMPÓSIO DE CIÊNCIA & TECNOLOGIA Soluções Integradas para uma Gestão Compartilhada I SIMPÓSIO DE CIÊNCIA & TECNOLOGIA Soluções Integradas para uma Gestão Compartilhada OS ATLAS ELETRÔNICOS E O DESENVOLVIMENTO DO APLICATIVO PARA A PESQUISA E PLANEJAMENTO URBANO E REGIONAL TerraViewWeb

Leia mais

EXPLORANDO TÉCNICAS E RECURSOS DO GERENCIADOR DE DADOS ABERTOS CKAN. TuaneFaria USP tuanefaria@yahoo.com.br

EXPLORANDO TÉCNICAS E RECURSOS DO GERENCIADOR DE DADOS ABERTOS CKAN. TuaneFaria USP tuanefaria@yahoo.com.br EXPLORANDO TÉCNICAS E RECURSOS DO GERENCIADOR DE DADOS ABERTOS CKAN Prof. Dr. José Eduardo Santarem Segundo USP santarem@usp.br TuaneFaria USP tuanefaria@yahoo.com.br Introdução Disponibilizar Dados Disponibilizar

Leia mais

A linguagem UML. UML e Diagramas de Casos de Uso e Classes. Por que usar UML? O que é modelagem?

A linguagem UML. UML e Diagramas de Casos de Uso e Classes. Por que usar UML? O que é modelagem? UML e Diagramas de Casos de Uso e Classes Prof. Ms. Luiz Alberto Contato: lasf.bel@gmail.com A linguagem UML UML (Unified Modeling Language) Linguagem de Modelagem Unificada É uma linguagem de modelagem

Leia mais

Por que Geoprocessamento?

Por que Geoprocessamento? Um pouco sobre a NOSSA VISÃO Processamento Digital é um endereço da Web criado pelo geógrafo Jorge Santos com objetivo de compartilhar dicas sobre Geoprocessamento e Software Livre. A idéia surgiu no ano

Leia mais

AULA 3 Ferramentas de Análise Básicas

AULA 3 Ferramentas de Análise Básicas 3.1 AULA 3 Ferramentas de Análise Básicas Neste capítulo serão apresentadas algumas ferramentas de análise de dados com representação vetorial disponíveis no TerraView. Para isso será usado o banco de

Leia mais

SISTEMA DE GERENCIAMENTO E CONTROLE DE DOCUMENTOS DE TCC E ESTÁGIO

SISTEMA DE GERENCIAMENTO E CONTROLE DE DOCUMENTOS DE TCC E ESTÁGIO SISTEMA DE GERENCIAMENTO E CONTROLE DE DOCUMENTOS DE TCC E ESTÁGIO Marcelo Karpinski Brambila 1, Luiz Gustavo Galves Mahlmann 2 1 Acadêmico do Curso de Sistemas de Informação da ULBRA Guaíba < mkbrambila@terra.com.br

Leia mais

UTILIZAÇÃO DE FERRAMENTAS E SERVIÇOS GOOGLE PARA O DESENVOLVIMENTO DE PROJETOS DE ENGENHARIA, ARQUITETURA E URBANISMO

UTILIZAÇÃO DE FERRAMENTAS E SERVIÇOS GOOGLE PARA O DESENVOLVIMENTO DE PROJETOS DE ENGENHARIA, ARQUITETURA E URBANISMO UTILIZAÇÃO DE FERRAMENTAS E SERVIÇOS GOOGLE PARA O DESENVOLVIMENTO DE PROJETOS DE ENGENHARIA, ARQUITETURA E URBANISMO 1. Introdução A empresa Google Inc. nasceu em 1998, quando Larry Page e Sergey Brin,

Leia mais

Visual Library: Uma Biblioteca para Criação de Ferramentas de Modelagem Gráfica

Visual Library: Uma Biblioteca para Criação de Ferramentas de Modelagem Gráfica Visual Library: Uma Biblioteca para Criação de Ferramentas de Modelagem Gráfica Tiago A. Gameleira 1, Raimundo Santos Moura 2, Luiz Affonso Guedes 1 1 Universidade Federal do Rio Grande do Norte (UFRN)

Leia mais

ARQUITETURA DE SISTEMAS DE INFORMAÇÃO GEOGRÁFICA

ARQUITETURA DE SISTEMAS DE INFORMAÇÃO GEOGRÁFICA 3 ARQUITETURA DE SISTEMAS DE INFORMAÇÃO GEOGRÁFICA Gilberto Câmara Gilberto Ribeiro de Queiroz 3.1 DESCRIÇÃO GERAL O termo Sistemas de Informação Geográfica (SIG) é aplicado para sistemas que realizam

Leia mais

1 UML (UNIFIED MODELING LANGUAGE)

1 UML (UNIFIED MODELING LANGUAGE) 1 UML (UNIFIED MODELING LANGUAGE) Segundo Tonsig (2003), para conseguir desenvolver um software capaz de satisfazer as necessidades de seus usuários, com qualidade, por intermédio de uma arquitetura sólida

Leia mais

Site da disciplina: Site do Laboratório de Geotecnologias Aplicadas: https://moodleinstitucional.ufrgs.br. http://www.ufrgs.

Site da disciplina: Site do Laboratório de Geotecnologias Aplicadas: https://moodleinstitucional.ufrgs.br. http://www.ufrgs. Universidade Federal do Rio Grande do Sul Instituto de Geociências Departamento de Geografia Sistemas de Informações Geográficas I GEO 01007 Professora: Eliana Lima da Fonseca Site da disciplina: https://moodleinstitucional.ufrgs.br

Leia mais

SIGMAON SISTEMA DE INFORMAÇÃO GEOGRAFICA PARA MONITORAMENTO DE ALAGAMENTOS ON-LINE

SIGMAON SISTEMA DE INFORMAÇÃO GEOGRAFICA PARA MONITORAMENTO DE ALAGAMENTOS ON-LINE SIGMAON SISTEMA DE INFORMAÇÃO GEOGRAFICA PARA MONITORAMENTO DE ALAGAMENTOS ON-LINE Marcio Jose Mantau,1 Giovane Farias Aita2, Jaison Ademir Savegnani3, Carlos Alberto Barth4 Palavras-chave: Sistemas de

Leia mais

ESTUDO COMPARATIVO DE FERRAMENTAS COMPUTACIONAIS QUE UTILIZAM GEOPROCESSAMENTO E TECNOLOGIA BIM PARA DESENVOLVIMENTO DE PROJETOS DE ENGENHARIA CIVIL

ESTUDO COMPARATIVO DE FERRAMENTAS COMPUTACIONAIS QUE UTILIZAM GEOPROCESSAMENTO E TECNOLOGIA BIM PARA DESENVOLVIMENTO DE PROJETOS DE ENGENHARIA CIVIL ESTUDO COMPARATIVO DE FERRAMENTAS COMPUTACIONAIS QUE UTILIZAM GEOPROCESSAMENTO E TECNOLOGIA BIM PARA DESENVOLVIMENTO DE PROJETOS DE ENGENHARIA CIVIL 1. INTRODUÇÃO E REFERENCIAL TEÓRICO A área de geoprocessamento

Leia mais

Diferenças entre Sistemas Gerenciadores de Banco de Dados para GIS - SGBDs

Diferenças entre Sistemas Gerenciadores de Banco de Dados para GIS - SGBDs Diferenças entre Sistemas Gerenciadores de Banco de Dados para GIS - SGBDs O objetivo deste documento é fazer uma revisão bibliográfica para elucidar as principais diferenças entre os SGBDs, apontando

Leia mais

SIGWeb Builder: Um Software Livre para Desenvolvimento de SIG Webs

SIGWeb Builder: Um Software Livre para Desenvolvimento de SIG Webs SIGWeb Builder: Um Software Livre para Desenvolvimento de SIG Webs Helder Guimarães Aragão 1,2,3, Jorge Campos 1 1 GANGES Grupo de Aplicações e Análises Geoespaciais Mestrado em Sistemas e Computação -

Leia mais

DESENVOLVIMENTO DE SOFTWARE DE VOTAÇÃO WEB UTILIZANDO TECNOLOGIA TOUCHSCREEN

DESENVOLVIMENTO DE SOFTWARE DE VOTAÇÃO WEB UTILIZANDO TECNOLOGIA TOUCHSCREEN DESENVOLVIMENTO DE SOFTWARE DE VOTAÇÃO WEB UTILIZANDO TECNOLOGIA TOUCHSCREEN José Agostinho Petry Filho 1 ; Rodrigo de Moraes 2 ; Silvio Regis da Silva Junior 3 ; Yuri Jean Fabris 4 ; Fernando Augusto

Leia mais

3 OOHDM e SHDM 3.1. OOHDM

3 OOHDM e SHDM 3.1. OOHDM 32 3 OOHDM e SHDM Com a disseminação em massa, desde a década de 80, de ambientes hipertexto e hipermídia, principalmente a Web, foi identificada a necessidade de elaborar métodos que estruturassem de

Leia mais

XML e Banco de Dados. Prof. Daniela Barreiro Claro DCC/IM/UFBA

XML e Banco de Dados. Prof. Daniela Barreiro Claro DCC/IM/UFBA XML e Banco de Dados DCC/IM/UFBA Banco de Dados na Web Armazenamento de dados na Web HTML muito utilizada para formatar e estruturar documentos na Web Não é adequada para especificar dados estruturados

Leia mais

Uma introdução à Web Semântica no domínio dos Sistemas de Informações Geográficas

Uma introdução à Web Semântica no domínio dos Sistemas de Informações Geográficas Uma introdução à Web Semântica no domínio dos Sistemas de Informações Geográficas Angelo Augusto Frozza, Rodrigo Gonçalves {frozza,rodrigog}@inf.ufsc.br Universidade Federal de Santa Catarina UFSC Florianópolis

Leia mais

2 Conceitos relativos a Web services e sua composição

2 Conceitos relativos a Web services e sua composição 15 2 Conceitos relativos a Web services e sua composição A necessidade de flexibilidade na arquitetura das aplicações levou ao modelo orientado a objetos, onde os processos de negócios podem ser representados

Leia mais

Designing Service Architectures for Distributed Geoprocessing: Challenges and Future Directions

Designing Service Architectures for Distributed Geoprocessing: Challenges and Future Directions UERJ Universidade do Estado do Rio de Janeiro Programa de Pós-Graduação em Eng. de Computação Área de Concentração: Geomática Designing Service Architectures for Distributed Geoprocessing: Challenges and

Leia mais

Guia de Introdução ao Windows SharePoint Services

Guia de Introdução ao Windows SharePoint Services Guia de Introdução ao Windows SharePoint Services - Windows SharePoint Services... Page 1 of 11 Windows SharePoint Services Guia de Introdução ao Windows SharePoint Services Ocultar tudo O Microsoft Windows

Leia mais

MANUAL DE ACESSO AO ATLAS DIGITAL GEOAMBIENTAL. Autores: Eric Pereira Iara Christina de Campos Luciana Hiromi Yoshino Kamino Flávio Fonseca do Carmo

MANUAL DE ACESSO AO ATLAS DIGITAL GEOAMBIENTAL. Autores: Eric Pereira Iara Christina de Campos Luciana Hiromi Yoshino Kamino Flávio Fonseca do Carmo MANUAL DE ACESSO AO ATLAS DIGITAL GEOAMBIENTAL Autores: Eric Pereira Iara Christina de Campos Luciana Hiromi Yoshino Kamino Flávio Fonseca do Carmo BELO HORIZONTE MG 2016 MANUAL DE ACESSO AO ATLAS DIGITAL

Leia mais

ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS

ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS RESUMO Este artigo apresenta a especificação de um sistema gerenciador de workflow, o ExPSEE, de acordo com a abordagem de desenvolvimento baseado

Leia mais

Capítulo 2 Introdução à ferramenta Flash

Capítulo 2 Introdução à ferramenta Flash Capítulo 2 Introdução à ferramenta Flash Índice 1. O uso da ferramenta Flash no projeto RIVED.... 1 2. História do Flash... 4 1. O uso da ferramenta Flash no projeto RIVED. É importante, antes de iniciarmos

Leia mais

Prof. Marcelo Henrique dos Santos

Prof. Marcelo Henrique dos Santos POR QUE ESTUDAR COMPUTAÇÃO GRÁFICA? Quem quiser trabalhar em áreas afins: Entretenimento Jogos e filmes Visualização Simulação de fenômenos físicos Arte computadorizada Educação e treinamento Processamento

Leia mais