Blog Geo.NET Geoprocessamento, SIG e Sensoriamento Remoto

21jul/105

Desenvolvendo um SIG para Suporte de Decisões Municipais

Atualmente temos no Brasil 5561 municípios, de diversos tamanhos. Gerenciar um município e todos os seus serviços é uma tarefa complicada, pela multiplicidade de usuários que devem ser atendidos (a população), e diversidade de serviços oferecidos (educação, saúde, segurança, lazer, moradia).

Como administrar tudo isso, de forma coesa e inteligente? Muito poucos municípios tem hoje a capacidade de construir um sistema de informações geográficas, por diversos motivos: preço do desenvolvimento de um sistema integrado, preço do software (licenças proprietárias), treinamento de mão-de-obra e manutenção deste centro de inteligência espacial.

Enfim, é muito caro coletar e organizar dados geográficos, mas é uma ação municipal que tem retorno imediato, não somente no caixa, mas em agilidade na prestação dos serviços e por conseguinte satisfação da população em geral.

Além disto, os custos para realizar diversas operações diminuem exponencialmente. Ordens de serviço são precisamente direcionadas ao problema, sem desperdícios ou prestando serviços desnecessários.

Iremos abordar em uma série de artigos a construção de um sistema de apoio de decisões para um prefeitura municipal fictícia. Serão utilizados softwares livres para o desenvolvimento desta solução, mas isto não lhe impede de desenvolver este tipo de sistema utilizando um software proprietário - os resultados práticos são os mesmos.

O tema será abordado em paralelo, mostrando tanto o esboço de uma arquitetura sistêmica, o desenho de um pequeno banco de dados espacial e a construção de um ambiente WEB para visualização das informações espaciais no navegador de internet comum.

Os primeiros artigos serão bastante simples e conforme caminharmos, iremos adicionar complexidade ao sistema, com consultas, relatórios e regras de negócio avançadas. Iremos adicionar inteligência ao sistema aos poucos.

Portanto leitor, seja bem vindo à esta série de artigos que estamos escrevendo com o intuito de mostrar o que Geoprocessamento realmente é. Esqueça os "mapinhas", pense em inteligência geográfica. Como sempre, você são encorajados à participarem ativamente deste processo, pelo blog ou via email. Aguardmos ansiosos pelo seu feedback.

1 - Arquitetura do sistema

Primeiramente precisamos pensar o que nosso sistema irá fazer, quem irá atender e como irá atender. Não é possível dentro de um prazo e custos razoáveis, atender todas as demandas de desenvolvimento que uma prefeitura municipal de médio porte terá. Mas é possível limitar este escopo e prever como o sistema deverá crescer. Por isso devemos ter em mente uma arquitetura que possa escalar e seja robusta.

Existem milhares de estudos sobre arquitetura que devemos fazer ANTES de iniciarmos um projeto desse porte. Mas não iremos realizar os estudos. Porque? Vamos construir um sistema pequeno para uma prefeitura pequena e não temos em mente muitos usuários simultâneos. O que quero deixar claro é que esta etapa deve existir e não pode ser descartada em qualquer projeto real e deve ser feito inclusive, por um profissional COMPETENTE.

Bem, o que nosso sistema irá fazer? Irá cartografar alguns temas de nossa cidade fictícia como lotes, quadras, praças, logradouros, bairros entre outros e disponibilizar a consulta destes temas via internet. Inicialmente, este será nosso objetivo. É uma missão bem simples, mas que já pode ajudar um administrador a entender seu espaço, seu município e seus habitantes.

O que precisamos para fazer isto? Logo de início, precisamos ter em mãos os dados espaciais a serem manipulados. Pelo fato de requerer custos elevados, muitas vezes nos deparamos com a falta de informação espacial para manipulação. Isso ocorre por, na maioria das vezes, o orçamento do lugar, cidade, estado, não cobrir a necessidade dos gastos totais local, o que redireciona os investimentos do lugar para problemas mais urgentes, ficando o planejamento do espaço em segundo plano.

Tendo em mãos estes dados, precisamos de uma forma confiável de armazena-los e lê-los, portanto precisamos de um banco de dados, geográfico! Só um banco de dados pode possibilitar multiplos usuários leitores, multiplos usuarios editores sem que haja quebra na consistência de informações. Para isto, a maioria dos bancos de dados relacionais, utiliza alguns princípios chamados de ACID (Atomicidade, Consistência, Isolamento e Durabilidade) detalhar isto aqui, mas fica para um próximo artigo) e são eles que garantem que tudo o que tenho dentro daquele banco de dados é uma informação verdadeira, ou seja, consistente e íntegra.

Como iremos inserir os dados no banco? Utilizaremos um software SIG desktop para a tarefa. Este tipo de software suporta conversão de coordenadas, edição de geometrias, customização de simbologia, geração de mapas temáticas, consultas complexas, entre outras funções. O importante é que este software ficará a disposição, em nosso caso fictício, de uma pequena parcela de funcionários da prefeitura, treinados e compententes para operar um software com toda esta complexidade. Não que todos não pudessem aprender, mas é melhor dividir para conquistar. Com um número reduzido de usuários responsável pela inserção/deleção/atualização de registros, temos maior segurança e podemos prevenir desastres em nossas preciosas bases cartográficas.

Além disso precisaremos de um servidor de mapas. Precisamos publicar nossas informações na internet, através de mapas coloridos. Um servidor de mapas é o responsável por entender os pedidos do navegador de internet ("me dê aquela extensão geográfica ali, com as camadas de logradouros, quadras e hidrografia, para ontem!") e traduzir sua resposta em gráficos. Em alguns casos, o servidor de mapas entende o pedido e gera as imagens, em outros, manda as informações para o navegador interpretar e desenhar aquele lindo mapa em sua tela.

Figura 01 - Arquitetura simplificada do sistema

Figura 01 - Arquitetura simplificada do sistema

1.1 - Escolha de ferramentas

Bem, escolhemos como banco de dados o PostgreSQL 8.4 com sua extensão espacial PostGIS 1.5. Porquê? Bem, conforme mencionamos no começo do artigo, iremos trabalhar com ferramentas livres, ao invés de proprietárias, mas existem algumas razões técnicas para isto:

  • É o mais completo banco de dados (livre) da atualidade;
  • O PostgreSQL é o banco de dados que faz menos extrapolações do padrão SQL. Portanto, desenvolver para PostgreSQL, quase sempre é estar de acordo com o padrão.
  • O PostGIS, sua extensão espacial, é a mais madura do mercado. Tem o maior número de funções, funciona muito bem e com certeza dá uma lavada em outras implementações espaciais.
  • O PostGIS segue o padrão aberto OGC (Open Geospatial Consortium), ou seja, informação dentro do PostGIS se comunica com todos os softwares de SIG/GIS que implementam o padrão.
  • O PostGIS é livre e gratuito.

O PostgreSQL ainda nos permite interação com diversas linguagens de programação, para aumentar sua capacidade de análise espacial, como a pl/R e como a pl/python que nos irá ajudar a criar futuramente um ambiente web completo.

O software SIG desktop escolhido foi o QGIS. A resposta para esta escolha, é que antes de tudo, o Quantum GIS é um software livre! É um projeto que faz parte da OSGeo, e que roda em diferentes plataformas (Unix, Linux, MacOSX e Windows), além de suportar dados vetoriais, raster e formatos de banco de dados. Atrevés do QGIS, é possivel gerenciar, manipular e analisar os dados trabalhados, bem como compor mapas para impressão.

Para o servidor de mapas, iremos utilizar o GeoServer. O GeoServer é um projeto bastante maduro, é utilizado mundo afora e suporta os principais protocolos especificados pela OGC - Web Map Services, Web Feature Services, entre outros. Em conjunto com o GeoServer, usaremos o OpenLayers para trabalhar como cliente do GeoServer e construir nosso mapa - dentro do navegador.

2 - Temas e Feições

Em suma, um SIG armazena informações de forma relacional, da mesma forma que um banco de dados tradicional. A diferença é que o SIG permite e lhe dá
ferramentas para armazenar de forma eficiente informações espaciais: pontos, linhas, polígonos e outras geometrias mais complexas, como coleções de
geometrias, geometrias em três dimensões, etc..

As ferramentas que o sistema lhe fornece são composta basicamente de operações matemáticas sobre objetos dispostos em um plano euclidiano (existem ferramentas
avançadas que se dão em uma esfera, como a superfície da Terra), tais como: intersecção, união, disjunção, soma, subtração, distância, área, entre outras.

Existem diversas operações que podemos realizar com as geometrias dos objetos, e chamamos isto de análise espacial. É através da análise espacial e pesquisa relacional em um banco de dados que conseguimos os fantásticos resultados, que não seriam obtidos de nenhuma outra maneira.

Em nosso pequeno sistema, vamos armazenar algumas informações cruciais para a administração pública: sistema viário, quadras, lotes, bairros, linhas e pontos de ônibus e pontos de táxi. A administração de nossa prefeitura fictícia quer uma atualização cartográfica geral e um controle maior sobre o transporte neste município.

A prefeitura fictícia nos forneceu estas informações e nos mostrou como são armazenadas hoje. À partir daí podemos começar com a modelagem de dados e a construção de nosso banco de dados espacial.

2.1 - Sistema Viário

A prefeitura quer um levantamento e organização completa de seu sistema viário. Atualmente eles não tem nada armazenado em forma digital, mas querem uma solução que seja compatível com geocodificação, roteamento e sirva para construção dos itinerários de linhas de ônibus.

Bem, como temos requisitos funcionais (geocodificação e roteamento) precisamos pensar em uma forma de construir esta base de logradouros de uma forma que nos permite posteriormente, implantar estas funcionalidades para a prefeitura.

Uma estrutura relacional comumente aceita para representar este tipo de informações é criar uma linha por logradouro, de seu ponto inicial ao seu ponto final, indicando as seguintes informações: Código Logradouro,Tipo Logradouro, Nome Logradouro, CEP Logradouro. Mas temos nosso requisitos. Nosso sistema quase nunca teria uma linha de ônibus que segue um logradouro de seu início ao seu final, sem nenhuma virada, por exemplo. Temos ainda a questão de preparar o sistema para o roteamento e geocodificação. É muito mais prático, dividir este elemento "logradouro" em partes atômicas, que nunca irão se alterar (com exceção, claro, de uma alteração do traçado viário) ou ser divididos em pedaços menores por alguma necessidade (como um ônibus virar a esquina, por exemplo).

Definido isto, temos a seguinte estrutura: Código Logradouro, Código Trecho Logradouro, Tipo de Logradouro, Nome Logradouro, CEP Logradouro. Estamos apenas preparando a base para demandas futuras, então lembrem-se, não iremos implementar tudo de uma vez. Esta estrutura será suficiente. O importante é entender a divisão de informações que iremos realizar. Também vamos assumir que todo o traçado dos eixos serão realizados no sentido do tráfego, ou seja, o ponto inicial flui para o ponto final do logradouro ou trecho.

Neste esquema a tabela não está apropriadamente normalizada. Precisamos normalizá-la para um funcionamento eficiente de informações. Mas porque? Note que um logradouro terá um ou mais trechos, e estamos repetindo à cada trecho as informações Tipo de Logradouro e Nome de Logradouro. A normalização permitirá que entremos com esta informação apenas uma vez e referenciemos esta à uma outra tabela.

Em SQL, ficaria assim:

 	CREATE TABLE tp_logradouro
	(
		cd_tp_logradouro SERIAL NOT NULL, -- nossa chave primária
		dc_tp_logradouro VARCHAR(30) NOT NULL, -- a descrição do tipo de logradouro
		CONSTRAINT tp_logradouro_pk PRIMARY KEY (cd_tp_logradouro)
	);

        CREATE TABLE logradouro
	(
		cd_logradouro SERIAL NOT NULL, -- nossa chave primária
		tp_logradouro INTEGER NOT NULL REFERENCES tp_logradouro (cd_tp_logradouro),
		nm_logradouro VARCHAR(75) NOT NULL,
		CONSTRAINT logradouro_pk PRIMARY KEY (cd_logradouro)
	);

	CREATE TABLE trecho_logradouro
	(
		cd_trecho SERIAL NOT NULL, -- nossa chave primária
		cd_logradouro integer NOT NULL REFERENCES logradouro (cd_logradouro), -- aqui estamos referenciando a tabela logradouros.
		no_vias integer NOT NULL,
		no_faixas integer NOT NULL,
		cep_trecho VARCHAR(9) NOT NULL DEFAULT '00000-000',
		CONSTRAINT trecho_logradouro_pk PRIMARY KEY (cd_trecho)
	);

	CREATE TABLE numeracao_trecho_logradouro
	(
		cd_trecho INTEGER NOT NULL REFERENCES trecho_logradouro (cd_trecho),
		no_inicial_esq INTEGER NOT NULL DEFAULT 0,
		no_inicial_dir INTEGER NOT NULL DEFAULT 0,
		no_final_esq INTEGER NOT NULL DEFAULT 0,
		no_final_dir INTEGER NOT NULL DEFAULT 0,
		-- já estamos dizendo que só podemos ter um trecho com estas informações.
		-- não é possível repetir cd_trecho com numerações diferentes
		CONSTRAINT numeracao_trecho_logradouro PRIMARY KEY(cd_trecho)
	);

	CREATE TABLE sentido_trecho_logradouro
	(
		cd_trecho INTEGER NOT NULL REFERENCES trecho_logradouro (cd_trecho),
		dc_sentido VARCHAR(2) NOT NULL DEFAULT 'FT',
                -- os valores possíves de sentido são FT (From To), TF (To From) e FF (From From - duas mãos)
		CONSTRAINT sentido_trecho_logradouro_pk PRIMAKEY KEY (cd_trecho)
	);

	-- vamos adicionar uma coluna geométrica à trecho_logradouro

	SELECT * FROM AddGeometryColumn('public','trecho_logradouro','the_geom',-1,'LINESTRING',2);

Com estas tabelas, modelamos toda a parte de sistema viário para nossa prefeitura. Não foi complicado né? Com estas tabelas, temos informações suficientes para estabelecer rotinas de geocodificação e roteamento parcial. Para estabelecermos um roteamento completo temos ainda de ter tabelas sobre as "viradas" possíves, também chamadas de turn tables.

Modelo Entidade Relacionamento do Sistema Viário

Modelo Entidade Relacionamento do Sistema Viário

Ainda vamos adicionar suporte para as turn-tables e quem sabe mais para frente, adicionamos em nossa aplicação o pgRouting, extensão do PostGIS responsável para realizar roteamento.

Por que modelar o sistema viário em primeiro lugar? Bem, o sistema viário, é de vital importância para qualquer cidade média do mundo e com uma sólida representação do SV podemos apoiar outras partes de nosso sistema no mesmo. Uma parte que dependerá completamente do "módulo" sistema viário será o módulo de transporte público, pois utilizaremos muito geocoding para construir automáticamente as rotas de ônibus, entre outras coisinhas.

A explicação do código:

A tabela logradouro irá armazenar toda nossa informação estática sobre um conjunto de trechos de mesmo nome. A tabela trecho irá conter as informações que variam de trecho para trecho, mesmo que aqueles dois trechos distintos pertençam ao mesmo logradouro.

O relacionamento descrito pelo código na tabela trecho_logradouro "REFERENCES...", indica que um trecho deve pertencer a apenas um logradouro válido na tabela logradouro. Evitamos assim erros e duplicação de informação. Por enquanto, nossa cidade e base de dados é pequena, mas imagine daqui alguns anos? Seria uma complicação manter isto organizado, caso não utilizassemos este formato.

Por último, adicionamos uma coluna geométrica do tipo LINESTRING à tabela trecho_logradouro. Agora podemos começar inserir informações geográficas nesta tabela.

Nota: o SRID (Spatial Reference ID) -1 foi utilizado pois estamos trabalhando com um município fictício. Aqui deve aparecer o código do seu sistema de referência / datum. Lembre-se disto durante toda série de artigos ;) .

No próximo artigo iremos trabalhar com o transporte público. Iremos modelar toda a parte de linhas, pontos de parada, sentidos de transporte (bairro - centro; centro - bairro), táxis, etc.

O que acharam?

Abraços,

George R. C. Silva

Compartilhe:
18jun/100

Problemas com o blog

Pessoal, o blog não está mostrando corretamente algumas páginas e em especial os conteúdos que ficam à direita. Estamos trabalhando para consertar isto.

Desculpe-nos e tenham paciência :D

Obrigado

George

Compartilhe:
18mai/104

Dez Anos do Fim da Selective Availability

Queria comentar com vocês algo que influenciou para melhor o funcionamento do Sistema de Posicionamento por Satélite (GPS).

No mês de Maio do ano 2000, portanto há dez anos, foi descontinuada a introdução de erros conhecida por Selective Availability (S. A.). Você sabe o que era a S. A. e como ela afetava o uso de aparelhos receptores GPS de navegação?

O SA acrescentava erros intencionais que "desviava" a posição real entre 50 ou mesmo 150 metros para os sinais de GPS de navegação à disposição do público!  O erro era introduzido pela adulteração do valor do sinal L1 transmitido pelo satélite, afetando apenas receptores de uso civil.

Para que esse erro intencional? Isso visava evitar que algum "inimigo"  (terrorista) pudesse utilizar os sinais civis de receptores GPS como uma arma de  alta precisão.

Vale destacar que era possível driblar este erro recorrendo ao método do GPS diferencial, ou DGPS, que faz uso de uma estação base fixa, de localização conhecida para aferir os erros e introduzir o fator de correção, obtendo assim uma posição precisa.

Hoje a qualidade do  sinal GPS para receptores de navegação melhorou consideravelmente, girando em torno de dez metros, o que como todos bem sabem massificou o uso de aparelhos que denavegação integrados a aparelhos de telefonia móvel, automóveis, etc.

Pensando um pouco no objetivo que a S. A. tinha, ela seria alguma proteção atualmente contra um "inimigo", em especial tendo em vista  serviços online gratuitos como o Google Earth ou Maps?

O que vocês acham?

Um Abraço.

--

Anderson Medeiros

Tecnólogo em Geoprocessamento

Compartilhe:
10mai/102

Blog Oficial do Projeto gvSIG

gvSIG

Olá Pessoal!

Hoje quero passar uma dica para quem trabalha com gvSIG: O Blog oficial do projeto.

A equipe responsável pelo projeto gvSIG lançou recentemente um espaço para divulgar as novidades e discussões sobre todos os aspectos do projeto.

O blog, que é escrito em espanhol, pode ser acessado pelo endereço neste link.

Com certeza esse blog será mais uma ferramenta de apoio à comunidade que trabalha com softwares livres para área de Geoprocessamento.

Além disso, aqui no Blog Geo.NET e no Portal ClickGeo você também encontra várias dicas e comentários sobre o gvSIG. Deixe sua opinião sobre o gvSIG nos comentários.

--

Anderson Maciel Lima de Medeiros

Consultor em Geotecnologias Livres

Compartilhe:
7mai/104

Conheça melhor o TerraView

TerraViewOlá pessoal!

Hoje vamos começar com uma pergunta simples: Quando se fala em software de SIG brasileiro, que nome lhe vem logo à cabeça? Provavelmente a maioria pense no famoso e amplamente elogiado SPRING.

Nesse post quero deixar uma dica sobre um outro software de SIG desenvolvido pelo INPE (Instituto Nacional de Pesquisas Espaciais) e que é muito bom, mas que é menos comentado que o Spring: O TerraView.

Se a maior crítica ao Spring é por conta da sua interface não amigável, isso não acontece com o TerraView. Sua interface é bem mais intuitiva.

Esse mês foi lançada a versão 3.4.0 do TerraView. Juntamente com essa versão foi disponibilizado o plugin TerraEdit para a edição de planos de informação vetoriais, e uma nova versão do plugin TerraPrint.

Outra novidade nessa versão é que a interface de usuário agora está disponível, além de português e inglês, também em espanhol. As alterações podem ser conferidas neste link.

O Projeto TerraView

O TerraView  é um aplicativo desenvolvido tendo por alicerce uma biblioteca de Geoprocessamento chamada TerraLib. De acordo com informações da página oficial do programa, sua construção tem como principais objetivos:

  • Apresentar à comunidade um fácil visualizador de dados geográficos com recursos de consulta a análise destes dados.
  • Exemplificar a utilização da biblioteca  TerraLib.

Note que de acordo com o primeiro objetivo listado acima, a idéia original era que o TerraVIEW fosse um visualizador de dados espaciais. Com o tempo foram sendo incorporadas características de um software de SIG, como a análise espacial.

TerraView

O aplicativo permite a manipulação de dados geográficos representados na forma de vetor ou matriz. O armazenamento dos dados é feito em programas de SGBD como Access, MySQL e PostgreSQL.

Download do TerraView

O TerraView  é distribuído gratuitamente pelo INPE através desse endereço. Para baixar o programa é necessário fazer um breve cadastro antes.

Tutoriais sobre TerraView

O próprio INPE desenvolveu uma série de tutoriais detalhados sobre o uso do programa. Eis alguns dos temas abordados:

  • Iniciando uso do TerraView
  • Ferramentas de Análises Básicas
  • Manipulando Tabelas
  • Manipulando dados Matriciais: Grades e Imagens
  • Operações Espaciais
  • Plugin WMS Cliente

Clicando aqui você será direcionado para página de download desses materiais. O INPE também disponibiliza os dados usados nos procedimentos mostrados nos tutoriais neste link.

Enfim pessoal, o TerraView é mais uma opção para quem trabalha com softwares de SIG. Ele faz o que promete, é livre e gratuito e melhor, é brasileiro. Cada versão do TerraView está melhor.

Se ainda não testou, baixe já o TerraView. Se já usou ou usa esse programa deixe sua opinião sobre ele nos comentários.

Um Abraço.

--

Anderson Medeiros

Tecnólogo em Geoprocessamento

Compartilhe:
28abr/102

Agricultura Familiar e Geoprocessamento

Olá Pessoal!

Hoje gostaria de comentar com vocês sobre um trabalho elaborado pela também Tecnóloga em Geoprocessamento, Julie Eugênio.

Há algum tempo ela preparou um projeto de gerenciamento de atividades de agricultura familiar fazendo uso de técnicas de Geoprocessamento.

O objetivo principal da pesquisa dela foi o desenvolvimento de uma aplicação, com base em técnicas de Geoprocessamento, para apoiar as atividades de um projeto voltado à agricultura familiar sustentável denominado “Cinturão Verde”, inserido no programa de microcrédito “Empreender-JP”, no município de João Pessoa, capital do Estado da Paraíba.

O mapa abaixo mostra a localização da área de estudo.

Durante a construção da aplicação SIG integrada a um Banco de Dados Geográficos deu-se ênfase ao uso de tecnologias livres, com destaque para o Quantum Gis (QGis) e PostgreSQL/PostGis.

Na parte escrita do trabalho desenvolvido foi detalhada toda a metodologia empregada. A qual está resumida na figura abaixo.

O trabalho foi extremamente elogiado pelos responsáveis técnicos da prefeitura de João Pessoa. Você pode fazer o download do trabalho completo a partir do link abaixo, que traz o tema da monografia escrita com base nesse projeto.

Gerenciamento de Atividades de Agricultura Familiar Sustentável com Base em Técnicas de Geoprocessamento, no Município de João Pessoa - PB

Espero que tirem proveito de mais essa demonstração da potencialidade do uso de tecnologias livres para Geoprocessamento.

Abraços.

--

Anderson Medeiros

Tecnólogo em Geoprocessamento

Compartilhe:
23abr/102

Padrões Open Geospatial Consortium – Parte 2

Hoje vamos dar sequência à postagem sobre padrões da OGC. Na primeira postagem dessa série vimos o que é o OGC e alguns comentários sobre as especificações WMS, WFS e WCS.

Agora vamos tecer algumas considerações sobre os padrões GML, KML e SLD.

Geographic Markup Language (GML)

O objetivo da GML é oferecer um conjunto de regras com as quais um usuário pode definir sua própria linguagem para descrever seus dados, assim utilização do padrão GML permite a interoperabilidade entre dados geográficos.  Definindo como será o armazenamento e transporte de informações geográficas, incluindo propriedades espaciais e não espaciais das entidades geográficas.

O GML é usado também em serviços WFS para trocar feições entre clientes e servidores, servindo, portanto como suporte ao serviço WFS.

Keyhole Markup Language (KML)

A linguagem XML (eXtensible Markup Language), como o próprio nome já diz, pode ser extendida  ou ampliada. O próprio padrão  KML da OGC é uma extensão de um XML utilizado pelo Google para tornar possível a visualização de dados geográficos nos seus famosos programas: Google Earth e Google Maps.

A estrutura do KML é baseado em tags como ocorre com arquivos HTML e XML comuns. Estas tags do KML tem os nomes e atributos usados para objetivos de exibição específicas. Em termos simples, notamos que o Google Earth e e o Google Maps funcionam pra os arquivos KML como como navegadores.

O KML depende de outros padrões para gerar a visualização de dados geográficos, pois na sintaxe do KML proveniente de um serviço de internet existe uma requisição WMS.

Hoje, o OGC e o Google trabalham em conjunto para aprimorar a implementação do KML, além de manter a comunidade informada das atualizações e avanços em seu projeto.

Styled Layer Descriptor (SLD)

A especificação SLD se refere à um arquivo XML que representa graficamente entidades geográficas (textos, pontos, objetos lineares ou polígonos.). Na linguagem SLD podem ser definidas regras que agrupam objetos em diferentes categorias e definindo para cada grupo um estilo diferente, por exemplo a simbologia de um WMS (estabelecer cores e rótulos) a partir de regras a serem definidas.

Programas de SIG, como o Udig, geram arquivos SLD de forma automática. Para executar este processo, basta adicionar uma camada WFS à uma visualização do Udig, fazer uma requisição ao servidor através de uma URL adequada e depois criar temas e rótulos de acordo com as necessidades da aplicação.

Enfim, esta foi uma breve consideração sobre alguns dos principais padrões da OGC (WMS, WFS, WCS, GML, KML e SLD). Espero que tenham gostado. Qualquer dúvida, entre em contato deixando um comentário.

Um Abraço e até a próxima postagem

--

Anderson Medeiros

Tecnólogo em Geoprocessamento

Consultor em Geotecnologias Livres

Compartilhe:
9abr/104

Produção de Mapas Interativos em CD-ROM

Olá Pessoal!

Há alguns dias um usuário do Geo.NET entrou em contato comigo via e-mail perguntando sobre como proceder para geração mapas interativos que deveriam funcionar como um Atlas em CD-ROM.

Achei esse um assunto interessante para ser postado aqui no Blog Geo.NET.

Bem, como vocês bem sabem o desenvolvimento de aplicações Webmapping (mapas interativos para internet) usando ferramentas tais como MapServer e similares exige a instalação e configuração do programa e de uma série de bibliotecas, o que é bem mais complicado (pra não dizer quase impossível) à nível de CD-ROM.

Como resolver esse problema?

Ao responder o e-mail mencionado acima indiquei o Alov Map na versão applet, pois o mesmo não exige instalação. Os únicos requisitos são a gravação do applet do Alov Map no CD e que no computador do usuáro final esteja instalada a máquina virtual JAVA.

O Alov Map é um software livre que possibilita a construção de mapas interativos básicos, cuja configuração é feita praticamente através de arquivos na linguagem XML.

Apesar do site oficial do Alov Map estar fora do ar há algum tempo, disponibilizamos o arquivo do applet neste endereço. Mais informações sobre o programa, inclusive a documentação oficial (em inglês) estão disponível neste link ou nesta postagem.

Espero ter ajudado, ou ajudar no futuro com essa postagem mais pessoas que tenham de atender a este tipo de demanda.

Um Abraço.

--

Anderson Medeiros

Tecnólogo em Geoprocessamento

Compartilhe:
30mar/102

Padrões Open Geospatial Consortium – Parte 1

Olá Pessoal!

Hoje vou abordar um tema de extremo interesse para quem trabalha com Geotecnologias, livres ou não: Os padrões do Open Geospatial Consortium (OGC). Nesta primeira parte da série vamos entender o que é o OGC e os padrões WMS, WFS e WCS.

O Open Geospatial Consortium (OGC)

Desde seus primórdios em 1994 a instituição, que se chamava OpenGis Consortium, tem o com o objetivo de criar especificações de interfaces e padrões de intercâmbio de dados geoespaciais.

O OGC é hoje uma entidade internacional com mais de 350 companhias, agências governamentais e universidades, que tem o intuito de promover o desenvolvimento de tecnologias que facilitem a interoperabilidade entre diferentes sistemas que trabalhem com informação e  localização espacial.

Asim, o OGC define especificações, ou padrões (como o WMS, WFS, WCS, etc) aos quais produtos e serviços precisam se adequar para que a interação entre diversas fontes de dados e informações espaciais seja facilitada, independente de fatores como a plataforma utilizada. A partir de agora vamos começar a compreender três das especificações do OGC.

Web Map Service (WMS)

O padrão WMS define um serviço para a produção de mapas que serão apenas uma representação visual dos dados espaciais e não os dados em si. Estas representações serão geradas no formato de imagem, como JPEG, PNG e GIF ou em formato vetorial, como o Scalable Vector Graphics (SVG).

Este padrão especifica como o cliente deve requisitar as informações para o servidor e como este deve responder ao cliente. As operações WMS podem ser realizadas a partir de um navegador comum que fará a submissão das requisições sob a forma de uma URL.

É importante destacarmos que o conteúdo da URL dependerá da operação solicitada. Em outras palavras, através da URL, indica-se qual a informação que deve ser exibida (região geográfica e dado de interesse), bem como o sistema de referência espacial, além das características da imagem de saída (altura e largura).

Web Feature Service (WFS) e Web Coverage Service (WCS)

A especificação de serviço WFS define um serviço para que clientes possam recuperar feições especiais em formato GML (você terá mais detalhes sobre GML na segunda parte desta série sobre o OGC).  O WFS pode ser implementado pelo servidor em duas versões:

  • Básica - Neste caso, basicamente funções de consulta ficam disponíveis, ou
  • Transacional - Implementa o serviço completo, incluindo operações de inserção, deleção, edição e, claro, consulta à objetos espaciais.

Assim, podemos afirmar que o WFS apresenta maior interatividade que o WMS, pois este primeiro possibilita não apenas a visualização das feições geográficas, mas também sua manipulação.

o padrão WCS define o acesso aos dados que representam fenômenos com variação contínua no espaço. Este serviço é especificado para
tratamento de dados modelados como geocampos.

Breves Comparações entre WMS, WFS e WCS

Uma diferença marcante entre o WMS e o WCS é que este último retorna ao usuário dados sobre a semântica original dos fenômenos representados, ao invés de imagens. Em outras palavras, o WCS fornece os dados disponíveis de imagens, juntamente com detalhes descritivos sobre as mesmas, como a grade.

Já em uma comparação entre o WFS e o WCS notamos que o primeiro retorna os chamados geo-objetos, já no caso do WCS retorna geocampos, conforme mencionado anteriormente.

Assim, chegamos a conclusão de que o serviço WCS pode ser utilizada para enquadrar aplicações do Sensoriamento Remoto (pois em geral o SR está relacionado com geocampos) no contexto da interoperabilidade.

Conclusão e o que vem por ai

Dessa nossa breve análise sobre estes três dos diversos padrões do OGC podemos notar que cada um terá sua aplicabilidade, sendo interpretado e explorado de maneira diferente dependendo dos objetivos de seu projeto.

Programas como o gvSIG e o Udig permitem interações com webservices que sigam as especificações WMS, WFS e WCS.

Na segunda parte desse post veremos mais sobre as padrões da OGC, com ênfase nas especificações GML, SLD e KML.

Fiquem na expectativa...

--

Anderson Maciel Lima de Medeiros

Tecnólogo em Geoprocessamento

Compartilhe:
28mar/103

MNT – O que é? Para que serve?

Fonte da Imagem: EngeSatNeste post vou tentar expor algumas aplicações deste tipo de dado geográfico ainda não muito familiar para alguns que estão começando a se enveredar pelo mundo do SIG. As informações apresentadas aqui são baseadas no menu "Ajuda" de um dos melhores programas para interpolação espacial e geração de MNT, o brasileiro SPRING.

Vamos responder aqui a duas perguntas comuns sobre os MNT e suas aplicações em Geoprocessamento.

O que é um MNT?

A sigla MNT significa Modelo Numérico do Terreno, mas este tipo de dado também é conhecido como MDT (vindo do inglês Digital Terrain Model).

Trata-se de uma representação matemática da distribuição espacial de uma determinada característica relacionada à uma superfície. Esta superfície é, em geral contínua.

Quais suas aplicações?

Dentre as diversas aplicações dos produtos de MNT, podemos destacar algumas vinculadas ao SIG:

  • Armazenamento de dados de altimetria para gerar mapas topográficos;
  • Análises de corte-aterro para projeto de estradas e barragens;
  • Elaboração de mapas de declividade e exposição para apoio a ánalise de geomorfologia e erodibilidade;Análise de variáveis geofísicas e geoquímicas;
  • Apresentação tridimensional (em combinação com outras variáveis);
  • Predição e mapeamento de processos de salinização do solo em escala local, regional e subcontinental;
  • Predição e mapeamento do risco de erosão do solo, em escala de bacias hidrográficas;
  • Modelação e mapeamento espaçotemporal do ciclo hidrológico sob diversos aspectos;
  • Modelação e mapeamento da evapotranspiração;
  • Classificação de paisagens;
  • Predição e mapeamento da migração e acumulação de agentes poluentes.

Você já tem o SPRING instalado em seu computador?

Caso tenha, não deixe de acessar e ler o menu de ajuda deste programa, que é bastante completo, pois aborda não apenas sobre a utilização do software, mas também conceitos teóricos sobre Geoprocessamento. O download do SPRING pode ser feito acessando este link.

Se você ainda não tem, deixo o incentivo de fazê-lo. Você pode acessar a ajuda online do SPRING, clicando aqui.

Em posts futuros vamos comentar um pouco sobre os produtos de MNT, bem como falar sobre outros aspectos relevantes dos dados geográficos.

Um Abraço e até o proximo post.
--
Anderson Medeiros
Tecnólogo em Geoprocessamento

Compartilhe:
Get Adobe Flash playerPlugin by wpburn.com wordpress themes