<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Blog Geo.NET &#187; Banco de Dados</title>
	<atom:link href="http://blog.geoprocessamento.net/tag/banco-dados/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.geoprocessamento.net</link>
	<description>Geoprocessamento, SIG e Sensoriamento Remoto</description>
	<lastBuildDate>Tue, 24 Aug 2010 02:33:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Construindo funcionalidades para o WKT Raster</title>
		<link>http://blog.geoprocessamento.net/2010/08/construindo-funcionalidades-para-o-wkt-raster/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=construindo-funcionalidades-para-o-wkt-raster</link>
		<comments>http://blog.geoprocessamento.net/2010/08/construindo-funcionalidades-para-o-wkt-raster/#comments</comments>
		<pubDate>Wed, 04 Aug 2010 13:54:48 +0000</pubDate>
		<dc:creator>George Rodrigues da Cunha Silva</dc:creator>
				<category><![CDATA[George Silva]]></category>
		<category><![CDATA[Banco de Dados]]></category>
		<category><![CDATA[Banco de Dados Geográficos]]></category>
		<category><![CDATA[PostGIS]]></category>
		<category><![CDATA[PostgreSQL]]></category>
		<category><![CDATA[WKTRaster]]></category>

		<guid isPermaLink="false">http://blog.geoprocessamento.net/?p=945</guid>
		<description><![CDATA[


Related posts:<ol><li><a href='http://blog.geoprocessamento.net/2010/07/postgis-wkt-raster/' rel='bookmark' title='Permanent Link: PostGIS WKT Raster'>PostGIS WKT Raster</a></li>
<li><a href='http://blog.geoprocessamento.net/2010/05/funcoes-postgis-2/' rel='bookmark' title='Permanent Link: Funções PostGIS #2'>Funções PostGIS #2</a></li>
<li><a href='http://blog.geoprocessamento.net/2010/05/funcoes-postgis-1/' rel='bookmark' title='Permanent Link: Funções PostGIS #1'>Funções PostGIS #1</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">No post anterior, falamos um pouquinho sobre como o WKT Raster funciona. Hoje gostaria de mostrar um pouquinho sobre as maquinações que ando desenvolvendo para o PostGIS e WKT Raster.</p>
<p style="text-align: justify;">Em tese, se o <em>raster</em> está armazenado no banco e conseguimos determinar o valor de cada pixel, poderíamos usar a SQL para realizar álgebra de mapas? A resposta é sim, podemos. É claro, já existem softwares especializados em realizar álgebra de mapas, como o <a title="idrisi" href="http://www.idrisi.com.br/" target="_blank">IDRISI</a>,<a title="envi" href="http://www.envi.com.br/" target="_self"> ENVI</a>, <a title="spring" href="http://www.dpi.inpe.br/spring/" target="_blank">SPRING</a>, ArcGIS (com <a title="spatial" href="http://www.esri.com/software/arcgis/extensions/spatialanalyst/index.html" target="_blank">Spatial Analyst</a>), o módulo <a title="sextante" href="http://forge.osor.eu/plugins/wiki/index.php?id=13&amp;type=g" target="_blank">Sextante</a> do gvSIG, <a title="whitebox" href="http://www.uoguelph.ca/~hydrogeo/Whitebox/index.html" target="_blank">WhiteBox</a>, entre outros.</p>
<p style="text-align: justify;">A vantagem de fazermos isto no PostGIS é que podemos aproveitar de algumas funcionalidades do banco de dados para realizar atualizações automáticas (funciona, mas a perfomance não deve ser das melhores), controlar melhor o acesso aos rasters - centralizando tudo em uma única localização, backup, etc.</p>
<p style="text-align: justify;">Existem diversas funções para análise espacial de rasters, incluindo as matemáticas, lógicas, entre outras. Hoje irei mostrar apenas algumas matemáticas, que são bem simples. O módulo WKT Raster já planeja construir em C (linguagem nativa do PostgreSQL) algumas funções para análise espacial, mas enquanto isto não acontece, vamos levando com estas aqui.</p>
<p style="text-align: justify;">Importante: estas funções só operam com <em>rasters</em> de uma única banda. Todas as operações são realizadas na banda 1. Nenhuma operação é realizada na banda 2 ou 3 - se bem que o suporte para tal é simples de ser construído.</p>
<p style="text-align: justify;">Cuidado ao utilizar estas funções. Caso você sobreescreva seu <em>raster</em>, não o conseguirá de volta - caso precise.</p>
<h3 style="text-align: justify;">ST_Plus</h3>
<p style="text-align: justify;">Esta função adiciona um valor <em>double precision</em> ao nosso raster de interesse. Se o pixel tem valor 1 e nosso argumento é 1, o resultado daquele pixel será 2. Esta função tem como entrada um raster e um valor numérico. O retorno da função é um objeto raster completo.</p>
<pre name="code" class="SQL">
CREATE OR REPLACE FUNCTION ST_Plus(p_grid raster, z double precision)
	RETURNS raster AS
$$
DECLARE
	w integer;
	h integer;
	z1 integer;

	grid raster;
BEGIN

	SELECT
		ST_Width(p_grid),
		ST_Height(p_grid)
	 into w,h;

	-- realizar cópia do raster original
	grid := p_grid;

	for i in 1..h loop
		for j in 1..w loop

			-- selecting cell value
			z1 := ST_Value(p_grid,i,j);
			grid := st_setvalue(grid,1,i,j,z1 + z);

		end loop;
	end loop;

	return grid;
END
$$
language 'plpgsql';
</pre>
<p style="text-align: justify;">A função é bem simples. Ela copia o raster original em memória e adiciona o valor à cada pixel. Sem segredos. Como usá-la? Recomendo primeiramente, duplicar sua coluna do tipo<em> raster</em>, pois a função de adição de colunas <em>raster</em> é bastante longa e com parâmetros meio obscuros. Procure o arquivo SQL gerado pelo gdal2wktraster e ache a linha que adiciona a coluna. Modifique o nome da coluna e execute este comando novamente. Depois disso popule a coluna com os novos valores.</p>
<pre name="code" class="SQL">
SELECT AddRasterColumn('public','teste_raster','grid_stplus',-1, ARRAY['16BUI'], false,
       true, null, 0.000833, -0.000833, 9, 9,
           ST_Envelope(
               ST_SetSRID('POLYGON((-49.500416 -18.000416,-49.500416 -19.000416,-48.000416 -18.000416,-48.000416 -19.000416,-49.500416 -18.000416))'::geometry, -1)));

UPDATE teste_raster SET grid_stplus = ST_Plus('nome_da_coluna_raster_original',10);
</pre>
<p style="text-align: justify;">Faça um teste com ST_Value para identificar se tudo correu bem. Neste teste, somamos 10 unidades ao valor de cada pixel da coluna original raster. Por que estamos criando uma coluna extra para armazenar nosso novo raster? Se alterarmos o raster original, não conseguiremos ele de volta, portanto, cuidado ao utilizar as funções.</p>
<h3>ST_Minus</h3>
<p>De forma similar à ST_Plus, ST_Minus vai subtrair determinado valor de cada pixel de nosso raster e nos trará como resultado o <em>raster</em> modificado.</p>
<pre name="code" class="SQL">
CREATE OR REPLACE FUNCTION ST_Minus(p_grid raster, z double precision)
	RETURNS raster AS
$$
DECLARE
	w integer;
	h integer;
	z1 integer;

	grid raster;
BEGIN

	SELECT
		ST_Width(p_grid),
		ST_Height(p_grid)
	 into w,h;

	-- realizar cópia do raster original
	grid := p_grid;

	for i in 1..h loop
		for j in 1..w loop

			-- selecting cell value
			z1 := ST_Value(p_grid,i,j);
			grid := st_setvalue(grid,1,i,j,z1 - z);

		end loop;
	end loop;

	return grid;
END
$$
language 'plpgsql';
</pre>
<p>Recomendo testar da mesma maneira que a função anterior. O uso é o mesmo - modificando o nome da função.</p>
<h3>ST_Plus</h3>
<p>Esta função realiza a multiplicação do valor do pixel. Simples e direta.</p>
<pre name="code" class="SQL">
CREATE OR REPLACE FUNCTION ST_Times(p_grid raster, z double precision)
	RETURNS raster AS
$$
DECLARE
	w integer;
	h integer;
	z1 integer;

	grid raster;
BEGIN

	SELECT
		ST_Width(p_grid),
		ST_Height(p_grid)
	 into w,h;

	-- realizar cópia do raster original
	grid := p_grid;

	for i in 1..h loop
		for j in 1..w loop

			-- selecting cell value
			z1 := ST_Value(p_grid,i,j);
			grid := st_setvalue(grid,1,i,j,z1 * z);

		end loop;
	end loop;

	return grid;
END
$$
language 'plpgsql';
</pre>
<p>Use-a do mesmo jeito que as anteriores.</p>
<h3>ST_Divide</h3>
<pre name="code" class="SQL">
CREATE OR REPLACE FUNCTION ST_Divide(p_grid raster, z double precision)
	RETURNS raster AS
$$
DECLARE
	w integer;
	h integer;
	z1 integer;

	grid raster;
BEGIN
	if (z = 0) then
		return p_grid;
	end if;

	SELECT
		ST_Width(p_grid),
		ST_Height(p_grid)
	 into w,h;

	-- realizar cópia do raster original
	grid := p_grid;

	for i in 1..h loop
		for j in 1..w loop

			-- selecting cell value
			z1 := ST_Value(p_grid,i,j);
			grid := st_setvalue(grid,1,i,j,z1 / z);

		end loop;
	end loop;

	return grid;
END
$$
language 'plpgsql';
</pre>
<h3>ST_Power</h3>
<p>Esta função eleva o valor da célula ao valor passado como parâmetro na função. Se temos uma célula de valor 2, e passamos 2 como parâmetro, teremos o 4 como resultado (2^2);</p>
<pre name="code" class="SQL">
CREATE OR REPLACE FUNCTION ST_Power(p_grid raster, z double precision)
	RETURNS raster AS
$$
DECLARE
	w integer;
	h integer;
	z1 integer;

	grid raster;
BEGIN

	SELECT
		ST_Width(p_grid),
		ST_Height(p_grid)
	 into w,h;

	-- realizar cópia do raster original
	grid := p_grid;

	for i in 1..h loop
		for j in 1..w loop

			-- selecting cell value
			if z = 0 then
				grid := st_setvalue(grid,1,i,j,1);
			else
				z1 := st_value(p_grid,i,j);
				grid := st_setvalue(grid,1,i,j,z1 ^ z);
			end if;

		end loop;
	end loop;

	return grid;
END
$$
language 'plpgsql';
</pre>
<p style="text-align: justify;">E assim podemos construir funções que alterem nossos rasters originais. São funções simples, praticamente demonstrativas. Na sequência demonstraremos algumas funções mais interessantes, como <strong>declividade, cálculo de fluxo de direção, identificação de depressões, eliminação de depressões, </strong>entre outras.</p>
<p style="text-align: justify;">Um abraço,</p>
<p style="text-align: justify;">George R. C. Silva</p>


<p>Related posts:<ol><li><a href='http://blog.geoprocessamento.net/2010/07/postgis-wkt-raster/' rel='bookmark' title='Permanent Link: PostGIS WKT Raster'>PostGIS WKT Raster</a></li>
<li><a href='http://blog.geoprocessamento.net/2010/05/funcoes-postgis-2/' rel='bookmark' title='Permanent Link: Funções PostGIS #2'>Funções PostGIS #2</a></li>
<li><a href='http://blog.geoprocessamento.net/2010/05/funcoes-postgis-1/' rel='bookmark' title='Permanent Link: Funções PostGIS #1'>Funções PostGIS #1</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.geoprocessamento.net/2010/08/construindo-funcionalidades-para-o-wkt-raster/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Padrões Open Geospatial Consortium – Parte 2</title>
		<link>http://blog.geoprocessamento.net/2010/04/ogc-parte2/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=ogc-parte2</link>
		<comments>http://blog.geoprocessamento.net/2010/04/ogc-parte2/#comments</comments>
		<pubDate>Fri, 23 Apr 2010 08:16:18 +0000</pubDate>
		<dc:creator>Geo.NET</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Banco de Dados]]></category>
		<category><![CDATA[Banco de Dados Geográficos]]></category>
		<category><![CDATA[Conceitos]]></category>
		<category><![CDATA[Geoprocessamento]]></category>
		<category><![CDATA[OGC]]></category>
		<category><![CDATA[SIG]]></category>
		<category><![CDATA[WebMapping]]></category>

		<guid isPermaLink="false">http://blog.geoprocessamento.net/?p=630</guid>
		<description><![CDATA[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 [...]


Related posts:<ol><li><a href='http://blog.geoprocessamento.net/2010/03/ogc-parte1/' rel='bookmark' title='Permanent Link: Padrões Open Geospatial Consortium &#8211; Parte 1'>Padrões Open Geospatial Consortium &#8211; Parte 1</a></li>
<li><a href='http://blog.geoprocessamento.net/2010/01/geo-e-suas-tecnologias2/' rel='bookmark' title='Permanent Link: O Geoprocessamento e Suas Tecnologias – Parte 2'>O Geoprocessamento e Suas Tecnologias – Parte 2</a></li>
<li><a href='http://blog.geoprocessamento.net/2010/01/metadata-3/' rel='bookmark' title='Permanent Link: Metadata #3'>Metadata #3</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.geoprocessamento.net/"><img class="aligncenter size-full wp-image-631" src="http://blog.geoprocessamento.net/wp-content/uploads/2010/04/ogc-21.jpg" alt="" width="496" height="365" /></a>Hoje vamos dar sequência à postagem sobre padrões da <strong>OGC</strong>. Na <a href="http://blog.geoprocessamento.net/2010/03/ogc-parte1/" target="_blank"><strong>primeira postagem dessa série</strong></a> vimos o que é o OGC e alguns comentários sobre as especificações <strong>WMS</strong>, <strong>WFS</strong> e <strong>WCS</strong>.</p>
<p>Agora vamos tecer algumas considerações sobre os padrões <strong>GML</strong>, <strong>KML</strong> e <strong>SLD</strong>.</p>
<h3><em>Geographic Markup Language</em><em><strong> </strong></em><strong>(GML)</strong><em><strong><br />
</strong></em></h3>
<p>O objetivo da <strong>GML</strong> é 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.</p>
<p>O GML é usado também em serviços<strong> WFS</strong> para trocar feições entre clientes e servidores, servindo, portanto como suporte ao serviço WFS.</p>
<h3><em>Keyhole Markup Language</em><em><strong> </strong></em><strong>(KML)</strong></h3>
<p>A linguagem <strong>XML</strong> (<em>eXtensible Markup Language</em>), como o próprio nome já diz, pode ser extendida  ou ampliada. O próprio padrão  <strong>KML </strong>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:<strong> <em>Google Earth</em></strong> e <em><strong>Google Maps</strong></em>.</p>
<p>A estrutura do KML é baseado em <em>tags</em> como ocorre com arquivos HTML e XML comuns. Estas <em>tags </em>do KML tem os nomes e atributos usados para objetivos de exibição específicas. Em termos simples, notamos que o <em>Google Earth</em> e e o <em>Google Maps</em> funcionam pra os arquivos KML como como navegadores.</p>
<p>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.</p>
<p>Hoje, o OGC e o <em>Google</em> 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.</p>
<h3><em>Styled Layer Descriptor</em><em><strong> </strong></em><strong>(SLD)</strong></h3>
<p>A especificação <strong>SLD</strong> 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 <strong>WMS </strong>(estabelecer cores e rótulos) a partir de regras a serem definidas.</p>
<p>Programas de SIG, como o <strong><em>Udig</em></strong>, geram arquivos SLD de forma automática. Para executar este processo, basta adicionar uma camada WFS à uma visualização do <em>Udig,</em> 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.</p>
<p>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.</p>
<p>Um Abraço e até a próxima postagem</p>
<p>--</p>
<p>Anderson Medeiros</p>
<p>Tecnólogo em Geoprocessamento</p>
<p>Consultor em Geotecnologias Livres</p>


<p>Related posts:<ol><li><a href='http://blog.geoprocessamento.net/2010/03/ogc-parte1/' rel='bookmark' title='Permanent Link: Padrões Open Geospatial Consortium &#8211; Parte 1'>Padrões Open Geospatial Consortium &#8211; Parte 1</a></li>
<li><a href='http://blog.geoprocessamento.net/2010/01/geo-e-suas-tecnologias2/' rel='bookmark' title='Permanent Link: O Geoprocessamento e Suas Tecnologias – Parte 2'>O Geoprocessamento e Suas Tecnologias – Parte 2</a></li>
<li><a href='http://blog.geoprocessamento.net/2010/01/metadata-3/' rel='bookmark' title='Permanent Link: Metadata #3'>Metadata #3</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.geoprocessamento.net/2010/04/ogc-parte2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Padrões Open Geospatial Consortium &#8211; Parte 1</title>
		<link>http://blog.geoprocessamento.net/2010/03/ogc-parte1/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=ogc-parte1</link>
		<comments>http://blog.geoprocessamento.net/2010/03/ogc-parte1/#comments</comments>
		<pubDate>Tue, 30 Mar 2010 13:18:19 +0000</pubDate>
		<dc:creator>Geo.NET</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Banco de Dados]]></category>
		<category><![CDATA[Banco de Dados Geográficos]]></category>
		<category><![CDATA[Conceitos]]></category>
		<category><![CDATA[Geoprocessamento]]></category>
		<category><![CDATA[OGC]]></category>
		<category><![CDATA[SIG]]></category>
		<category><![CDATA[WebMapping]]></category>

		<guid isPermaLink="false">http://blog.geoprocessamento.net/?p=523</guid>
		<description><![CDATA[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 [...]


Related posts:<ol><li><a href='http://blog.geoprocessamento.net/2010/04/ogc-parte2/' rel='bookmark' title='Permanent Link: Padrões Open Geospatial Consortium – Parte 2'>Padrões Open Geospatial Consortium – Parte 2</a></li>
<li><a href='http://blog.geoprocessamento.net/2010/01/geo-e-suas-tecnologias2/' rel='bookmark' title='Permanent Link: O Geoprocessamento e Suas Tecnologias – Parte 2'>O Geoprocessamento e Suas Tecnologias – Parte 2</a></li>
<li><a href='http://blog.geoprocessamento.net/2010/03/monografias-geoprocessamento/' rel='bookmark' title='Permanent Link: Monografias Geoprocessamento &#8211; IFPB'>Monografias Geoprocessamento &#8211; IFPB</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p style="text-align: center"><a href="http://blog.geoprocessamento.net"><img class="aligncenter size-full wp-image-536" src="http://blog.geoprocessamento.net/wp-content/uploads/2010/03/ogc1.jpg" alt="" width="510" height="388" /></a></p>
<p>Olá Pessoal!</p>
<p>Hoje vou abordar um tema de extremo interesse para quem trabalha com Geotecnologias, livres ou não: Os padrões do<em> <strong>Open Geospatial Consortium</strong></em> (<strong>OGC</strong>). Nesta primeira parte da série vamos entender o que é o OGC e os padrões <strong>WMS</strong>, <strong>WFS</strong> e <strong>WCS</strong>.</p>
<h3>O <em><strong>Open Geospatial Consortium </strong></em><strong>(OGC)</strong><em><strong><br />
</strong></em></h3>
<p>Desde seus primórdios em 1994 a instituição, que se chamava <strong><em>OpenGis  Consortium</em></strong>, tem o com o objetivo de criar especificações de  interfaces e padrões de intercâmbio de dados geoespaciais.</p>
<p>O <strong>OGC</strong> é hoje uma entidade internacional com mais de 350 companhias, agências governamentais e universidades, que tem o intuito de <strong>promover o desenvolvimento de tecnologias</strong> que facilitem a <strong>interoperabilidade </strong>entre diferentes sistemas que trabalhem com informação e  localização espacial.</p>
<p>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.</p>
<h3><em>Web Map Service</em> (WMS)</h3>
<p>O padrão <strong>WMS</strong> 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<em> Scalable Vector Graphics</em> (SVG).</p>
<p>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.</p>
<p>É 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).</p>
<h3><em>Web Feature Service</em> (WFS) e<em> Web Coverage Service</em> (WCS)</h3>
<p>A especificação de serviço <strong>WFS</strong> define um serviço para que clientes possam recuperar feições especiais em formato <strong>GML</strong> (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:</p>
<ul>
<li><strong>Básica</strong> - Neste caso, basicamente funções de <strong>consulta</strong> ficam disponíveis, ou</li>
</ul>
<ul>
<li><strong>Transacional</strong> - Implementa o serviço completo, incluindo operações de <strong>inserção</strong>, <strong>deleção</strong>, <strong>edição</strong> e, claro,<strong> consulta</strong> à objetos espaciais.</li>
</ul>
<p>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.</p>
<p>Já<em> </em>o padrão <strong>WCS</strong> define o acesso aos dados que representam fenômenos com variação contínua no espaço. Este serviço é especificado para<br />
tratamento de dados modelados como geocampos.</p>
<h3>Breves Comparações entre WMS, WFS e WCS</h3>
<p>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.</p>
<p>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.</p>
<p>Assim, chegamos a conclusão de que o serviço WCS pode ser utilizada para enquadrar aplicações do <strong>Sensoriamento Remoto</strong> (pois em geral o SR está relacionado com geocampos) no contexto da interoperabilidade.</p>
<h3>Conclusão e o que vem por ai</h3>
<p>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.</p>
<p>Programas como o<strong> <em>gvSIG</em></strong> e o <em><strong>Udig</strong></em> permitem interações com <em>webservices</em> que sigam as especificações <strong>WMS</strong>, <strong>WFS</strong> e <strong>WCS</strong>.</p>
<p>Na segunda parte desse <em>post </em>veremos mais sobre as padrões da OGC, com ênfase nas especificações <strong>GML</strong>, <strong>SLD</strong> e <strong>KML</strong>.</p>
<p>Fiquem na expectativa...</p>
<p>--</p>
<p>Anderson Maciel Lima de Medeiros</p>
<p>Tecnólogo em Geoprocessamento</p>


<p>Related posts:<ol><li><a href='http://blog.geoprocessamento.net/2010/04/ogc-parte2/' rel='bookmark' title='Permanent Link: Padrões Open Geospatial Consortium – Parte 2'>Padrões Open Geospatial Consortium – Parte 2</a></li>
<li><a href='http://blog.geoprocessamento.net/2010/01/geo-e-suas-tecnologias2/' rel='bookmark' title='Permanent Link: O Geoprocessamento e Suas Tecnologias – Parte 2'>O Geoprocessamento e Suas Tecnologias – Parte 2</a></li>
<li><a href='http://blog.geoprocessamento.net/2010/03/monografias-geoprocessamento/' rel='bookmark' title='Permanent Link: Monografias Geoprocessamento &#8211; IFPB'>Monografias Geoprocessamento &#8211; IFPB</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.geoprocessamento.net/2010/03/ogc-parte1/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>O Geoprocessamento e Suas Tecnologias – Parte 2</title>
		<link>http://blog.geoprocessamento.net/2010/01/geo-e-suas-tecnologias2/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=geo-e-suas-tecnologias2</link>
		<comments>http://blog.geoprocessamento.net/2010/01/geo-e-suas-tecnologias2/#comments</comments>
		<pubDate>Sun, 31 Jan 2010 17:24:35 +0000</pubDate>
		<dc:creator>Geo.NET</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Banco de Dados]]></category>
		<category><![CDATA[Banco de Dados Geográficos]]></category>
		<category><![CDATA[Conceitos]]></category>
		<category><![CDATA[Geoprocessamento]]></category>
		<category><![CDATA[PostGIS]]></category>
		<category><![CDATA[PostgreSQL]]></category>
		<category><![CDATA[SIG]]></category>
		<category><![CDATA[WebMapping]]></category>

		<guid isPermaLink="false">http://blog.geoprocessamento.net/?p=223</guid>
		<description><![CDATA[Olá! Conforme vimos na primeira parte deste post, o Geoprocessamento é um conjunto de tecnologias dinâmicas com alto potencial de aplicação. Até aqui vimos que Geoprocessamento e SIG não são as mesma coisa. O SIG é apenas uma importante tecnologia dentre as diversas incluídas no Geoprocessamento. Vimos também que programas como o gvSIG e ArcGis [...]


Related posts:<ol><li><a href='http://blog.geoprocessamento.net/2010/01/geo-e-suas-tecnologias/' rel='bookmark' title='Permanent Link: O Geoprocessamento e Suas Tecnologias &#8211; Parte 1'>O Geoprocessamento e Suas Tecnologias &#8211; Parte 1</a></li>
<li><a href='http://blog.geoprocessamento.net/2010/04/agricultura-familiar-e-geoprocessamento/' rel='bookmark' title='Permanent Link: Agricultura Familiar e Geoprocessamento'>Agricultura Familiar e Geoprocessamento</a></li>
<li><a href='http://blog.geoprocessamento.net/2010/03/monografias-geoprocessamento/' rel='bookmark' title='Permanent Link: Monografias Geoprocessamento &#8211; IFPB'>Monografias Geoprocessamento &#8211; IFPB</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p style="text-align: left"><a href="http://blog.geoprocessamento.net/"><img class="aligncenter size-full wp-image-224" src="http://blog.geoprocessamento.net/wp-content/uploads/2010/01/TecGeoLivres1.png" alt="" width="514" height="385" /></a>Olá!</p>
<p style="text-align: left">Conforme vimos na <a href="http://blog.geoprocessamento.net/2010/01/geo-e-suas-tecnologias/" target="_blank"><strong>primeira parte</strong></a> deste <em>post</em>, o Geoprocessamento é um conjunto de tecnologias dinâmicas com alto potencial de aplicação.</p>
<p style="text-align: left">Até aqui vimos que <strong>Geoprocessamento</strong> e <strong>SIG</strong> não são as mesma coisa. O SIG é apenas uma importante tecnologia dentre as diversas incluídas no Geoprocessamento.</p>
<p style="text-align: left">Vimos também que programas como o gvSIG e ArcGis não são "SIGs" mas <em>softwares </em>para SIG. Assim como o Geoprocessamento possui várias ramificações tecnológicas o SIG é um sistema composto por <em>softwares</em>, <em>hardwares</em>, metodologias, recursos humanos e dados.</p>
<p style="text-align: left">Ficamos de ver o que são e pra servem tecnologias como o <strong>Banco de Dados Geográfico</strong> e o <strong>WebMapping</strong>.</p>
<h3>Banco de Dados Geográficos</h3>
<p>Bom, vamos por partes. O que é um <strong>Banco de Dados</strong> (<strong>BD</strong>)?</p>
<p>Todo local, físico ou virtual onde estão armazenados dados, pode em certo sentido, ser chamado de banco de dados. Por exemplo, uma enciclopédia pode ser considerada um banco de dados. Mas para nós aqui da área de Geoprocessamento é mais importante o conceito especial de banco ou <strong>base de dados relacional</strong>. Ou seja um banco onde dados são armazenados na forma de tabelas relacionáveis entre si através campos chaves.</p>
<p>As mais diversas facetas de atividades, desde locadoras de DVD até grandes indústrias metalúrgicas usam-se deste tipo de base para ter um maior controle sobre fatores como cadastro de clientes e sua condição em relação à empresa (Inadimplência, por exemplo).</p>
<p>Neste ponto, é importante evitar confundir o BD em sí (conjunto de tabelas relacionáveis) com o programa que o gerenciará, o <strong>Sistema Gerenciador de Banco de Dados</strong> (<strong>SGBD</strong>). EM outras palavras, <em>softwares</em> como <em>Access</em>, <em>MySQL</em>, <em>Oracle</em>, <em>PostgreSQL</em> não são BD, mas sim SGBD.</p>
<p>Mas ainda não falamos no assunto deste tópico. O que é e para que serve um <strong>Banco de Dados Geográfico</strong> (<strong>BDG</strong>)?</p>
<p>O BDG, também chamado de <strong>Banco de Dados Espacial </strong>(BDE),<strong> </strong> é semelhante ao descrito acima (relacional), com a grande e importante diferença de suportar feições geométricas em suas tabelas.</p>
<p>Este tipo de base com geometria oferece a possibilidade de análise e consultas espaciais. É possível calcular nestes casos, por exemplo, áreas, distâncias e centróides, além de realizar a geração de <em>buffers</em> e outras operações entre as geometrias.</p>
<p>Como dica de estudos para você obter uma boa base conceitual sobre BDG, indico o livro "<strong>Banco de Dados Geográficos</strong>" do INPE, que está disponível para <em>download</em> em PDF <a href="http://www.dpi.inpe.br/livros/bdados/capitulos.html" target="_blank"><strong>aqui</strong></a>.</p>
<p>Atualmente, alguns programas de SGBD desenvolveram extensões que inserem no <em>software</em> características de<strong> Sistemas Gerenciadores de Banco de Dados Geográficos</strong> (<strong>SGBDG</strong>) o <em>PostgreSQL</em>, <em>MySQL</em>, e <em>Oracle</em>, sendo os dois primeiros <em>softwares</em> livres e o último proprietário.</p>
<p>Vamos falar um pouco mais do PostgreSQL e como ele passa a agir como SGBDG. O <em>PostgreSQL</em> é desenvolvido atualmente pela <em>PostgreSQL Global Development Group</em>. Quando se percebeu a necessidade de extender este SBGD para suportar dados espaciais desenvolveu-se a extensão conhecida como <em>PostGis</em>.</p>
<p>Sendo assim, vamos entender que o <em>PostGis</em><strong> </strong>não é um BDG ou um SGBDG, ele é apenas uma extensão, um <em>plugin</em>, do <em>PostgreSQL</em> que lhe confere funções para armazenamento e manipulação de dados geográficos.</p>
<p>A figura abaixo procura mostrar a diferença entre o <em>PostgreSQL e </em>"seu filho". Note que para termos um BDG no <em>PostgreSQL</em> faz-se necessária a devida instalação da extensão <em>PostGis</em>.</p>
<p style="text-align: left"><a href="http://blog.geoprocessamento.net"><img class="aligncenter size-full wp-image-240" src="http://blog.geoprocessamento.net/wp-content/uploads/2010/01/BDG-Post.png" alt="" width="531" height="290" /></a></p>
<p style="text-align: left">Você pode importar arquivos vetoriais <em>shapefile </em>(*.shp) para dentro de um "Banco PostGis" utilizando recursos oferecidos pelo próprio programa ou utilizando algum <em>software</em> de SIG com essa funcionalidade. O<em> shapefile</em> será convertido em uma tabela espacial que pode ser integrada com as convencionais contidas na base, além de poder ser visualizada e manipulada através de programas como o <em>gvSIG</em>, <em>Kosmo</em>, <em>Quantum Gis</em>, <em>Udig</em> e muitos outros desta safra. Para baixar tutoriais sobre como realizar esta operação com alguns destes <em>softwares</em>, <a href="http://www.clickgeo.com.br/downloads.html"><strong>clique aqui</strong></a>.</p>
<p style="text-align: left">Para baixar a versão mais recente do <em>PostgreSQL</em> e sua extensão espacial <em>PostGis</em>, acesse os <em>links</em> abaixo.</p>
<ul>
<li><a href="http://www.postgresql.org/" target="_blank"><em><strong>PostgreSQL</strong></em></a></li>
<li><a href="http://postgis.refractions.net/" target="_blank"><em><strong>PostGis</strong></em></a></li>
</ul>
<p style="text-align: left">Para finalizar este <em>post </em>vamos considerar outra tecnologia do Geoprocessamento, a saber,<em> WebMapping.</em></p>
<h3>WebMapping (WebGis)</h3>
<p>A internet vem se destacando nos últimos anos como uma excelente ferramenta para disponibilização e interligação de dados das mais diversas fontes e naturezas.</p>
<p>A geomática, como área do conhecimento, também encontrou na internet um nicho para suas atividades. A disponibilização de mapas digitais, os chamados <em>WebGis</em> ou <em>WebMapping,</em> tem-se tornado comum, permitindo que um maior número de usuários tenha acesso a dados espacializados, de forma hábil e atraente.</p>
<p style="text-align: center">Talvez o estopim para o crescimento das aplicações SIG para internet tenha sido a popularização de serviços <em>online</em> gratuitos de localização como o <em>Google Earth</em> e <em>Google Maps</em>.<a href="http://blog.geoprocessamento.net/"><img class="aligncenter size-full wp-image-248" src="http://blog.geoprocessamento.net/wp-content/uploads/2010/01/Google-Maps.png" alt="" width="500" height="356" /></a></p>
<p>Os mapas na <em>web </em>se apresentam de três formas princiapais:</p>
<p>1) <strong>Mapas Estáticos</strong> - Mapas no formato de imagem (*.jpg, *.gif, *.png, etc) integrados à páginas da internet.</p>
<p>2) <strong>Mapas Gerados à partir de formulários</strong> - Fornece-se parâmetros para geração de mapas na forma de imagem.</p>
<p>3) <strong>Mapas Dinâmicos </strong>- O usuário seleciona uma área de seu interesse em um mapa geral, gerando uma navegação para outro mapa ou imagem mais específico com informações mais detalhadas desta região. Em geral apresentam interface atraente com ícones para consulta espacial calculo de distância e etc.</p>
<p>Para mais detalhes sobre tipos de mapas veja a publicação disponibilizada neste <em><a href="http://www.dpi.inpe.br/livros/bdados/cap10.pdf" target="_blank"><strong>link</strong></a></em>.</p>
<p>Há muitos <em>softwares</em> e <em>frameworks </em>livres para o desenvolvimento de aplicações <em>WebGis</em>. Podemos destacar alguns: <em>MapServer</em>, <em>GeoServer</em>, <em>i3Geo</em>, <em>Alov Map</em>, <em>Time Map</em>, <em>Open Layers</em> e <em>P.Mapper</em>.</p>
<p>Diversos órgãos públicos fazem uso destas ferramentas para divulgação dos resultados de seus trabalhos.</p>
<p>A imagem abaixo mostra um exemplo de aplicação desenvolvida com <em>MapServer</em> e o <em>framework </em><em>P.Mapper. </em>Clique <a href="http://geo.aesa.pb.gov.br/" target="_blank"><strong>aqui</strong></a> para acessar a página da aplicação (Este é um exemplo de mapa dinâmico).</p>
<p style="text-align: left"><a href="http://blog.geoprocessamento.net/"><img class="aligncenter size-full wp-image-255" src="http://blog.geoprocessamento.net/wp-content/uploads/2010/01/SIG-AESA.png" alt="" width="567" height="332" /></a></p>
<p style="text-align: left">Nesta visão geral sobre algumas das tecnologias do Geoprocessamento, pudemos dissipar alguns falsos conceitos em torno de termos como SIG, BDG, SGBDG, WebGis, etc. Espero que tenham gostado do que leram.</p>
<p style="text-align: left">Fiquem à vontade para deixar sua sugestão de tema, críticas e impressões através do e-mail anderson[@]geoprocessamento.net</p>
<p>Anderson Medeiros</p>
<p>Tecnólogo em Geoprocessamento</p>


<p>Related posts:<ol><li><a href='http://blog.geoprocessamento.net/2010/01/geo-e-suas-tecnologias/' rel='bookmark' title='Permanent Link: O Geoprocessamento e Suas Tecnologias &#8211; Parte 1'>O Geoprocessamento e Suas Tecnologias &#8211; Parte 1</a></li>
<li><a href='http://blog.geoprocessamento.net/2010/04/agricultura-familiar-e-geoprocessamento/' rel='bookmark' title='Permanent Link: Agricultura Familiar e Geoprocessamento'>Agricultura Familiar e Geoprocessamento</a></li>
<li><a href='http://blog.geoprocessamento.net/2010/03/monografias-geoprocessamento/' rel='bookmark' title='Permanent Link: Monografias Geoprocessamento &#8211; IFPB'>Monografias Geoprocessamento &#8211; IFPB</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.geoprocessamento.net/2010/01/geo-e-suas-tecnologias2/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Sql Server 2008 e o sistema de uma projeção só</title>
		<link>http://blog.geoprocessamento.net/2010/01/sql-server-2008-e-o-sistema-de-uma-projecao-so/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=sql-server-2008-e-o-sistema-de-uma-projecao-so</link>
		<comments>http://blog.geoprocessamento.net/2010/01/sql-server-2008-e-o-sistema-de-uma-projecao-so/#comments</comments>
		<pubDate>Thu, 14 Jan 2010 01:42:18 +0000</pubDate>
		<dc:creator>George Rodrigues da Cunha Silva</dc:creator>
				<category><![CDATA[George Silva]]></category>
		<category><![CDATA[Banco de Dados]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[Sql Server 2008]]></category>

		<guid isPermaLink="false">http://blog.geoprocessamento.net/?p=131</guid>
		<description><![CDATA[Boa noite pessoal, Estava trabalhando em alguns assuntos no Sql Server 2008 e até aí tudo bem. Tinha alguns dados em outro banco de dados, representativos de pontos. Tudo UTM SAD69. O banco do GIS em Lat/Long SAD69. As tabelas eram mais ou menos assim: CREATE TABLE foo ( id SERIAL NOT NULL, x DOUBLE [...]


Related posts:<ol><li><a href='http://blog.geoprocessamento.net/2010/01/history-tables-pt-1/' rel='bookmark' title='Permanent Link: History Tables &#8211; pt 1'>History Tables &#8211; pt 1</a></li>
<li><a href='http://blog.geoprocessamento.net/2010/08/construindo-funcionalidades-para-o-wkt-raster/' rel='bookmark' title='Permanent Link: Construindo funcionalidades para o WKT Raster'>Construindo funcionalidades para o WKT Raster</a></li>
<li><a href='http://blog.geoprocessamento.net/2010/01/contribuindo-um-pouquinho/' rel='bookmark' title='Permanent Link: Contribuindo um pouquinho&#8230;'>Contribuindo um pouquinho&#8230;</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Boa noite pessoal,</p>
<p>Estava trabalhando em alguns assuntos no Sql Server 2008 e até aí tudo bem. Tinha alguns dados em outro banco de dados, representativos de pontos. Tudo UTM SAD69. O banco do GIS em Lat/Long SAD69.</p>
<p>As tabelas eram mais ou menos assim:</p>
<pre name="code" class="sql">
CREATE TABLE foo
(
id SERIAL NOT NULL,
x DOUBLE PRECISION NOT NULL,
y DOUBLE PRECISION NOT NULL,
z DOUBLE PRECISION NOT NULL,
sistema_coordenada VARCHAR(20) NOT NULL,0
 -- etc
);
</pre>
<p style="text-align: justify;">Sempre com diversos pontos e diversos sistemas de coordenadas.<br />
Bem, a idéia era montar uma visão no banco de dados, registar a parada com o ArcSDE, e disponibilizar os dados que eu queria em tempo real para os usuários do GIS, inclusive eu.</p>
<p style="text-align: justify;">Liguei em uma certa empresa que comercializa um certo software, no suporte. Expliquei a situação, perguntei se o rapaz ou alguém lá saberia de uma solução para realizar o idealizado. De forma alguma (eu) estava viajando na maionese, pela minha experiência (que não é muita) com o PostGIS, sabia que era fazível.</p>
<p style="text-align: justify;">O certo indivíduo que me atendeu, deve ter feito uma cara do outro lado de "What the hell?" sugeriu que eu jogasse minha tabela no ArcMap e rodasse um XY para plotar os dados. Valeu pela super dica amigão. Se você ler isto e lembrar de mim sabe que existe uma forma!</p>
<p style="text-align: justify;">Mas vamos lá. O PostGIS, que é um tanto mais avançado que o Sql Server 2008 nesses quesitos, bastaria o seguinte para criar uma visão espacial (com um ponto de verdade, e não um par de coordenadas) e transformar a parada para o datum que eu queria:</p>
<pre name="code" class="sql" style="text-align: justify;">CREATE OR REPLACE VIEW view_foo AS
    SELECT ST_Transform(ST_Point(X,Y),4618), coluna1, coluna2 from foo;</pre>
<p style="text-align: justify;">Bem, simples né? Acontece que o SQL Server 2008 NÃO POSSUI funções nativas para conversão de coordenadas/projeção de um sistema para outro.</p>
<p style="text-align: justify;">Um camarada do trabalho, Danilo, me falou que já havia visto no CodePlex, um site com um repositório de código da Microsoft, um projeto que realizava o serviço. Bem, o projeto, Sql Spatial Tools, tem muita utilidade e outras funções, como agregador de geometrias, mas as funções de conversão de coordenadas estava furada. Pelo menos a que nós precisávamos usar.</p>
<p style="text-align: justify;">Lembrei que o PostGIS, que também não tem esta capacidade nativa, mas é fornecida pela Proj4, e talvez poderíamos utilizar a Proj4. Mais uma busca no Codeplex e achamos a ProjNET, uma adaptação da Proj4 (acho que é escrita em C) para .NET, em C#.</p>
<p style="text-align: justify;">Utilizamos o modelo da Sql Spatial Tools para registrar bibliotecas externas (muito top, parabéns Sql Server, muito tetinha de fazer) e para expor uma única função que criamos para o Sql Server. A ProjNET, ao contrário da Sql Spatial Tools, realmente converte as coordenadas.</p>
<p style="text-align: justify;">Dicas</p>
<ul>
<li>
<div style="text-align: justify;">Sempre olhe no Codeplex.</div>
</li>
<li>
<div style="text-align: justify;">Para registrar uma dll externa (dentro do Sql Server) utilize (isto é código SQL): CREATE ASSEMBLY ProjNet 'caminhoParaDll'</div>
</li>
<li>
<div style="text-align: justify;">Para registrar uma função: CREATE FUNCTION nomeFuncao (parametros) returns tipoRetorno AS external ProjNet.Namespace.Funcao<br />
É só.</div>
</li>
</ul>
<p style="text-align: justify;">No final nossa idéia ficou similar a do PostGIS, and it works. Resultado: utilizamos os dados que temos, sem a necessidade de administrar/atualizar FeatureClasses e realizar tarefas tediosas de Add XY data-Project Data e propensas à erros. E o melhor de tudo, é tudo em tempo real. Se o outro sistema for atualizado às 10:01:01:0001, nós iremos ver os dados atualizados às 10:01:01:0002.</p>
<p style="text-align: justify;">Lições aprendidas</p>
<ul>
<li>
<div style="text-align: justify;">Novamente, sempre olhe no CodePlex.</div>
</li>
<li>
<div style="text-align: justify;">É muito fácil desenvolver/linkar APIs e outros frameworks ao Sql Server 2008.</div>
</li>
<li>
<div style="text-align: justify;">Nunca, nunca confie no suporte técnico oferecido.</div>
</li>
</ul>
<p style="text-align: justify;">Thank you notes/Agradecimentos<br />
Danilão! Pelo tempo gasto nisso e paciência.<br />
Onald McDonald e Ogerio McDonald, pela torcida.<br />
Ed Katibah, lead developer at Microsoft, who exchanged several emails with me and noticed that their implementation of Sql Spatial Tools is not correct (for UTM projections), and opened a ticket for fixing. Soon Sql Spatial Tools will be ready to handle all conversions.</p>


<p>Related posts:<ol><li><a href='http://blog.geoprocessamento.net/2010/01/history-tables-pt-1/' rel='bookmark' title='Permanent Link: History Tables &#8211; pt 1'>History Tables &#8211; pt 1</a></li>
<li><a href='http://blog.geoprocessamento.net/2010/08/construindo-funcionalidades-para-o-wkt-raster/' rel='bookmark' title='Permanent Link: Construindo funcionalidades para o WKT Raster'>Construindo funcionalidades para o WKT Raster</a></li>
<li><a href='http://blog.geoprocessamento.net/2010/01/contribuindo-um-pouquinho/' rel='bookmark' title='Permanent Link: Contribuindo um pouquinho&#8230;'>Contribuindo um pouquinho&#8230;</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.geoprocessamento.net/2010/01/sql-server-2008-e-o-sistema-de-uma-projecao-so/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Contribuindo um pouquinho&#8230;</title>
		<link>http://blog.geoprocessamento.net/2010/01/contribuindo-um-pouquinho/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=contribuindo-um-pouquinho</link>
		<comments>http://blog.geoprocessamento.net/2010/01/contribuindo-um-pouquinho/#comments</comments>
		<pubDate>Thu, 14 Jan 2010 00:31:32 +0000</pubDate>
		<dc:creator>George Rodrigues da Cunha Silva</dc:creator>
				<category><![CDATA[George Silva]]></category>
		<category><![CDATA[Banco de Dados]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[History Tables]]></category>
		<category><![CDATA[PostGIS]]></category>

		<guid isPermaLink="false">http://blog.geoprocessamento.net/?p=119</guid>
		<description><![CDATA[Boa noite pessoal, Alguns dias atrás me cadastrei no trac da OsGeo para ver se conseguia solucionar algum tiquete em aberto. Para quem não sabe, trac é um sistema que controla as informações sobre bugs, melhoramentos entre outras coisas à fazer, dentro de um projeto de software. Ele permite um usuário aceitar uma tarefa, postar [...]


Related posts:<ol><li><a href='http://blog.geoprocessamento.net/2010/03/monografia/' rel='bookmark' title='Permanent Link: Monografia'>Monografia</a></li>
<li><a href='http://blog.geoprocessamento.net/2010/01/sql-server-2008-e-o-sistema-de-uma-projecao-so/' rel='bookmark' title='Permanent Link: Sql Server 2008 e o sistema de uma projeção só'>Sql Server 2008 e o sistema de uma projeção só</a></li>
<li><a href='http://blog.geoprocessamento.net/2010/08/construindo-funcionalidades-para-o-wkt-raster/' rel='bookmark' title='Permanent Link: Construindo funcionalidades para o WKT Raster'>Construindo funcionalidades para o WKT Raster</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Boa noite pessoal,</p>
<p style="text-align: justify;">Alguns dias atrás me cadastrei no <a href="http://trac.osgeo.org/postgis/wiki/UsersWikiMain"><em>trac</em></a> da <a href="http://www.osgeo.org/"><em>OsGeo</em></a> para ver se conseguia solucionar algum tiquete em aberto.</p>
<p style="text-align: justify;">Para quem não sabe, trac é um sistema que controla as informações sobre bugs, melhoramentos entre outras coisas à fazer, dentro de um projeto de software. Ele permite um usuário aceitar uma tarefa, postar arquivos e mensagens e receber comentários em seu trabalho.</p>
<p style="text-align: justify;">Aceitei o tíquete <a href="http://trac.osgeo.org/postgis/ticket/180">#180</a> que pede a criação de algumas funções para criar tabelas "históricas", permitindo o usuário saber quem alterou a tabela, como alterou, quando e todas as alterações feitas. À partir daí ele tem opções de restaurar uma feição que foi deletada ou editada de forma errada, entre outras coisinhas.</p>
<p style="text-align: justify;">Montei algumas funções em pl/pgsql puro para gerar estes códigos, e as mesma estão disponíveis no link mostrado acima. <span style="text-decoration: line-through;">Ainda existe muita discussão à ser feita para que elas comecem a pertencer ao código "oficial" do <em>PostGIS</em>, mas está caminhando.</span> PS do dia 13/01/2010 - o patch foi aceito e já foi comitado em trunk. Provavelmente seu PostGIS já vem com o módulo, com algumas mudanças. Não deixe de conferir!</p>
<p style="text-align: justify;">
O bacana, além de aprender e conhecer gente nova, é poder devolver um pouco pra um software excelente. Uma contribuição pequena, com certeza, mas que mais pra frente pode ajudar muita gente.</p>
<p style="text-align: justify;">George Silva</p>


<p>Related posts:<ol><li><a href='http://blog.geoprocessamento.net/2010/03/monografia/' rel='bookmark' title='Permanent Link: Monografia'>Monografia</a></li>
<li><a href='http://blog.geoprocessamento.net/2010/01/sql-server-2008-e-o-sistema-de-uma-projecao-so/' rel='bookmark' title='Permanent Link: Sql Server 2008 e o sistema de uma projeção só'>Sql Server 2008 e o sistema de uma projeção só</a></li>
<li><a href='http://blog.geoprocessamento.net/2010/08/construindo-funcionalidades-para-o-wkt-raster/' rel='bookmark' title='Permanent Link: Construindo funcionalidades para o WKT Raster'>Construindo funcionalidades para o WKT Raster</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://blog.geoprocessamento.net/2010/01/contribuindo-um-pouquinho/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
