<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Via SIG</title>
	
	<link>http://blog.viasig.com</link>
	<description>Um blog sobre SIG, focado na tecnologia, programação e gestão.</description>
	<lastBuildDate>Tue, 09 Mar 2010 00:25:50 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/ViaSIG" /><feedburner:info uri="viasig" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>MDT 30m para Portugal</title>
		<link>http://feedproxy.google.com/~r/ViaSIG/~3/M591IJT5jkk/</link>
		<comments>http://blog.viasig.com/2010/03/mdt-30m-para-portugal/#comments</comments>
		<pubDate>Sat, 06 Mar 2010 21:28:37 +0000</pubDate>
		<dc:creator>duarte</dc:creator>
				<category><![CDATA[Dados]]></category>
		<category><![CDATA[Inicial]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[SIG]]></category>
		<category><![CDATA[Conversão]]></category>
		<category><![CDATA[GDAL]]></category>

		<guid isPermaLink="false">http://blog.viasig.com/?p=568</guid>
		<description><![CDATA[Em Junho do ano passado (2009), falei neste artigo sobre o modelo digital do terreno global disponibilizado online e gratuitamente pelos EUA e Japão. Na altura terminei o texto com a esperança de que algum voluntário se oferecesse para obter os dados para Portugal, os processar e disponibilizar à comunidade. Hoje, conheço apenas a iniciativa [...]]]></description>
			<content:encoded><![CDATA[<p>Em Junho do ano passado (2009), falei neste <a title="Novo MDT global de 30m disponível" href="http://blog.viasig.com/2009/06/novo-mdt-global-de-30m-disponvel/" target="_blank">artigo</a> sobre o modelo digital do terreno global disponibilizado online e gratuitamente pelos EUA e Japão. Na altura terminei o texto com a esperança de que algum voluntário se oferecesse para obter os dados para Portugal, os processar e disponibilizar à comunidade. Hoje, conheço apenas a <a title="ESRI Portugal disponibiliza Modelo Digital de Terreno para todo o território nacional" href="http://www.esriportugal.pt/noticias-esri/378-esri-portugal-disponibiliza-modelo-digital-de-terreno-para-todo-o-territorio-nacional.html" target="_blank">iniciativa da ESRI Portugal</a>, que fez estes passos e disponibilizou o MDT aos seus utilizadores através do ArcGIS Online, permitindo o download dos dados já processados ou a sua utilização no ArcGIS de forma remota. O acesso remoto inclui até acesso via WMS, permitindo assim o acesso por utilizadores de outro software (não-ESRI). O endereço WMS pode ser consultado na <a title="Lista de Web Services Geográficos Portugueses do OSGeo-PT" href="http://wiki.osgeo.org/wiki/Lista_de_web_services" target="_blank">lista de servidores nacionais WMS do grupo OSGeo-PT</a>. Basta fazer copy/paste para um programa como o QGIS ou o gvSIG para utilizar este MDT. Mais informação sobre o serviço e todas as formas de lhe aceder pode ser consultada no <a title="os vários serviços criados pela ESRI-PT no ArcGIS Online" href="http://www.arcgisonline.com/home/search.html?t=content&amp;q=owner:ESRI-PT" target="_blank">ArcGIS Online</a>.</p>
<p>Mas para os utilizadores que preferem fazer o download dos dados, a solução da ESRI não é tão universal, já que o formato dos dados permite apenas a sua utilização em ArcGIS – isto porque o mdt é disponibilizado numa <a title="página da ESRI sobre GDBs" href="http://webhelp.esri.com/arcgisdesktop/9.3/index.cfm?TopicName=Types_of_geodatabases" target="_blank">File Geodatabase</a>.</p>
<p>Assim, pensei em fazer esse pequeno trabalho, e peguei no mdt que tinha tratado na altura, e coloquei-o online. Os passos que fiz foram estes:</p>
<ul>
<li>converti o mdt para o formato mais universal possível – GeoTIFF;</li>
<li>reprojectei os dados para o sistema de coordenadas também mais usado – Hayford-Gauss Datum 73;</li>
<li>comprimi o resultado num arquivo 7zip;</li>
<li>coloquei numa partilha pública no SkyDrive (serviço da Microsoft que oferece 25GB gratuitos).</li>
</ul>
<p>Pode assim obter o mdt de 30m para Portugal acedendo a <a title="MDT ASTER 30m para Portugal" href="http://cid-cff1b4093141519b.skydrive.live.com/self.aspx/Geo/MDT%5E_ASTER%5E_D73%5E_GeoTIFF/mdt%5E_aster%5E_pt%5E_D73%5E_GeoTIFF.7z" target="_blank">esta página</a> e clicando na opção “Transferir”.</p>
<h4>Algumas Notas</h4>
<p>A reprojecção foi aplicada aos dados originais usando os parâmetros do IGP para a transformação Bursa-Wolf de WGS84 para DT73.</p>
<p>O ficheiro GeoTIFF foi criado usando o GDAL, e foi criado sem compressão (343MB), para depois conseguir atingir uma compressão elevada usando o 7zip. Só assim consegui um arquivo com menos de 50MB, o máximo permitido pelo SkyDrive para um só ficheiro.</p>
<p>Para descomprimir o arquivo 7z é preciso usar o programa 7zip que podemos obter no site <a href="http://www.7zip.org">www.7zip.org</a>. <strong>Update: é necessário o 7zip 91.0 Beta para descomprimir!</strong></p>
<p>O valor que representa ausência de dados no GeoTIFF é 32767. Pode ser confirmado usando o seguinte comando do GDAL:<br />
<code>gdalinfo –nogcp –nomd –norat –noct mdt_aster_pt_D73_GeoTIFF.tif</code><br />
Depois de obter o GeoTIFF de 343MB, podemos convertê-lo para um GeoTIFF comprimido de 54MB, o que permite poupar algum espaço em disco. O comando para esta conversão é o seguinte:<br />
<code>gdal_translate -of GTIFF -co COMPRESS=LZW -co PREDICTOR=2 -co TFW=YES mdt_aster_pt_D73.tif mdt_aster_pt_D73_lzw.tif</code></p>
<h4>Licença ASTER</h4>
<p>A licença destes dados pode ser consultada aqui:<br />
Open Access. Data from ASTER GDEM<br />
<a href="https://lpdaac.usgs.gov/lpdaac/about/news_archive/wednesday_october_07_2009">https://lpdaac.usgs.gov/lpdaac/about/news_archive/wednesday_october_07_2009</a></p>
<p>Uma vez que os dados foram reprojectados, podem ser distribuídos.</p>
<p>Mais informação sobre o MDT ASTER:<br />
<a href="http://www.gdem.aster.ersdac.or.jp/">http://www.gdem.aster.ersdac.or.jp/</a></p>
<h4>Utilizar no QGIS</h4>
<p>Ao usar este mdt no QGIS, foi apenas necessário ajustar as propriedades da simbologia:</p>
<ul>
<li>Load min/Max values  from band: usar a opção Estimate, e clicar no botão Load;</li>
<li>Contrast enhancement: Current com opção Stretch to MinMax.</li>
</ul>
<p>Também é essencial criar pirâmides para que a visualização seja rápida e eficaz, dado o tamanho do ficheiro (isto pode ser feito acedendo às propriedades do tema no QGIS 1.4.0).</p>
<p>O aspecto visual depois de aplicadas estas opções foi o seguinte:</p>
<p><a href="http://blog.viasig.com/wp-content/uploads/2010/03/image.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" src="http://blog.viasig.com/wp-content/uploads/2010/03/image_thumb.png" border="0" alt="image" width="606" height="482" /></a></p>
<p>Nota: a memória ocupada pelo QGIS sobe até 500-800MB ao abrir o ficheiro, para depois estabilizar em valores mais razoáveis de 50-90MB.</p>
<p>Com a resolução de 30m, o QGIS indica a escala 1:140.000 como sendo a “best scale”, mas parece-me perfeitamente aceitável até à escala 1:50.000.</p>
<p>Para usar como carta hipsométrica, podemos ainda criar uma rampa de cores no QGIS. Recriei a <a title="lista de rampas de cores do GRASS" href="http://soliton.vm.bytemark.co.uk/pub/cpt-city/grass/index.html" target="_blank">rampa de elevação do GRASS</a>, com os seguintes passos:</p>
<ul>
<li>nas propriedades do tema, na simbologia, seleccionar a opção “Colormap”;</li>
<li>na categoria “Colormap”, escolher 6 entradas e clicar em Classify;</li>
<li>na opção “Color interpolation” escolher a opçãoo “Linear”;</li>
<li>inserir as cores da rampa do GRASS em cada classe;</li>
<li>clicar em OK e ver os resultados.</li>
</ul>
<p>Adaptei um pouco as cores ao meu gosto, e também os intervalos de altitude definidos pelo QGIS (apenas oferece o método de intervalos iguais, o que não é o mais apropriado para este fim). O resultado final foi este:</p>
<p><a href="http://blog.viasig.com/wp-content/uploads/2010/03/image1.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" src="http://blog.viasig.com/wp-content/uploads/2010/03/image_thumb1.png" border="0" alt="image" width="452" height="393" /></a></p>
<p><a href="http://blog.viasig.com/wp-content/uploads/2010/03/image2.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" src="http://blog.viasig.com/wp-content/uploads/2010/03/image_thumb2.png" border="0" alt="image" width="599" height="478" /></a></p>
<h4>Nota Final</h4>
<p>O facto de ter o MDT como ficheiro local permite operações que o acesso via WMS não suporta, como análises topográficas, alteração da simbologia, extracção de áreas de interesse, etc.</p>
<p>O QGIS mais uma vez revela-se como uma ferramenta que impressiona pela abrangência da sua funcionalidade. Notamos ainda alguns pontos a melhorar (como a ausência de rampas de cores para ficheiros raster), mas conseguimos já suprir essas ausências com trabalho manual e um pouco de imaginação. Excelente.</p>
<p>Aliás, vários comandos GDAL que usei podem agora ser realizados com o QGIS graças ao novo <a title="QGIS python plugins developed by Faunalia" href="http://www.faunalia.pt/plugins" target="_blank">plugin GDAL Tools</a>, desenvolvido pela Faunalia. Começo a ter aquele sentimento familiar de ser um dinossauro…</p>
<p>Para terminar, se alguém detectar problemas com este ficheiro, por favor informe-me, por email ou deixando aqui um comentário.</p>
<p>Até à próxima&#8230;</p>
<img src="http://feeds.feedburner.com/~r/ViaSIG/~4/M591IJT5jkk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.viasig.com/2010/03/mdt-30m-para-portugal/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://blog.viasig.com/2010/03/mdt-30m-para-portugal/</feedburner:origLink></item>
		<item>
		<title>A importância da política</title>
		<link>http://feedproxy.google.com/~r/ViaSIG/~3/aYyGQ6aVwUk/</link>
		<comments>http://blog.viasig.com/2010/02/a-importancia-da-politica/#comments</comments>
		<pubDate>Mon, 22 Feb 2010 10:24:35 +0000</pubDate>
		<dc:creator>duarte</dc:creator>
				<category><![CDATA[Sem categoria]]></category>

		<guid isPermaLink="false">http://blog.viasig.com/?p=554</guid>
		<description><![CDATA[Este post está um pouco atrasado, mas não quero deixar de resumir o que mais me impressionou no ESIG deste ano.
A apresentação que mais impacto me causou foi a do IGN, o congénere espanhol do IGP. O facto de haver uma política de disseminação da informação geográfica bem definida, com acesso gratuito para usos não comerciais, e [...]]]></description>
			<content:encoded><![CDATA[<p>Este post está um pouco atrasado, mas não quero deixar de resumir o que mais me impressionou no ESIG deste ano.</p>
<p>A apresentação que mais impacto me causou foi a do IGN, o congénere espanhol do IGP. O facto de haver uma política de disseminação da informação geográfica bem definida, com acesso gratuito para usos não comerciais, e a obrigatoriedade de independência tecnológica, é extremamente importante. Depois, o esforço continuado de reunir e publicar informação geográfica detida pelo Estado, ao nível central e regional, produziu um portal onde podemos aceder a um enorme arquivo de informação geográfica útil e actual. E as estatísticas de acesso são impressionantes. 200 milhões de pequenas transacções por mês (cada pan e zoom contam). Há uma política de partilha entre os serviços do Estado que contrasta com o que fazemos por cá. Mais ainda, esta política de partilha extende-se ao cidadão, o que para nós Lusos é uma prática pouco vista&#8230;</p>
<p>A título de exemplo posso relatar o caso de um amigo de faculdade que trabalha há alguns anos em Barcelona. A informação que mais utiliza são ortofotomapas e parcelário agrícola. Que obteve gratuitamente já que a sua actividade se encontra na esfera da iniciativa pública. Não teve dificuldades, é informação comummente disponível. Outro exemplo, desta vez pessoal. Quando necessitei de encontrar bacias hidrográficas e barragens na grande bacia do Guadiana, onde encontrei informação geográfica com estes dados? No lado de lá da fronteira, e incluía também dados para o território português. Lamento, mas no Atlas da Água não consegui obter dados equivalentes&#8230;</p>
<p>No lado espanhol, temos mais de 10.000 temas de informação geográfica disponível (segundo a apresentação no ESIG). Tudo disponível para visualização no site do geoportal (<a title="Infraestructura de Datos Espaciales de Espana" href="http://www.idee.es" target="_blank">http://www.idee.es</a>) e através de serviços WMS. No lado português temos o quê (<a title="WMS dos produtos do IGP" href="http://mapas.igeo.pt/" target="_blank">http://mapas.igeo.pt/</a>)? 7 serviços WMS, e 3 deles são de limites administrativos&#8230;</p>
<p>Esta realidade dos factos já era conhecida de todos nós. Mas foi angustiante ver as diferenças tão bem expostas ao assistir, em sequência, às apresentações do IGP e do IGN&#8230; em 5 anos o IGN tem um geoportal dos mais avançados do mundo. E nós?</p>
<p>Enfim. A vida continua, e ao reler este post percebo que é um desabafo, coisa pouco habitual neste blog. Termino com uma nota de expectativa positiva - o IGP inicia agora um novo período, com nova presidência. Pode ser que seja agora o verdadeiro início do SNIG?</p>
<img src="http://feeds.feedburner.com/~r/ViaSIG/~4/aYyGQ6aVwUk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.viasig.com/2010/02/a-importancia-da-politica/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://blog.viasig.com/2010/02/a-importancia-da-politica/</feedburner:origLink></item>
		<item>
		<title>Mosaicos de imagens em MapServer, com GDAL</title>
		<link>http://feedproxy.google.com/~r/ViaSIG/~3/8fGeoLvt_5A/</link>
		<comments>http://blog.viasig.com/2010/01/mosaicos-de-imagens-em-mapserver-com-gdal/#comments</comments>
		<pubDate>Fri, 22 Jan 2010 17:55:26 +0000</pubDate>
		<dc:creator>duarte</dc:creator>
				<category><![CDATA[Dados]]></category>
		<category><![CDATA[Intermédio]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[SIG]]></category>
		<category><![CDATA[Sem categoria]]></category>
		<category><![CDATA[WebGIS]]></category>
		<category><![CDATA[GDAL]]></category>
		<category><![CDATA[MapServer]]></category>
		<category><![CDATA[Mosaicos]]></category>

		<guid isPermaLink="false">http://blog.viasig.com/?p=513</guid>
		<description><![CDATA[
Quando fica incumbido de publicar informação geográfica na web é quase sempre confrontado com esta questão – como publicar aquela colecção de ortos, composta por uma directoria cheia de ficheiros tif? (ou jpeg, ou ecw, ou sid…)

Este artigo nasceu num desses momentos, e da necessidade de determinar quais as opções existentes no MapServer, e saber qual [...]]]></description>
			<content:encoded><![CDATA[<div class="mceTemp">
<div class="mceTemp">Quando fica incumbido de publicar informação geográfica na web é quase sempre confrontado com esta questão – como publicar aquela colecção de ortos, composta por uma directoria cheia de ficheiros tif? (ou jpeg, ou ecw, ou sid…)</div>
</div>
<p>Este artigo nasceu num desses momentos, e da necessidade de determinar quais as opções existentes no MapServer, e saber qual delas é a melhor.</p>
<p>AVISO – artigo longo, com resultados de uma série de testes!!! Conclusões no final para os mais stressados…</p>
<h4>Cenário inicial</h4>
<p>Imaginemos um pequeno concelho que tem uma colecção de 45 ortofotomapas, em formato TIFF, não comprimido. Cada imagem ocupa 234MB, o que totaliza 10GB de imagens.</p>
<p>O objectivo é publicar estas imagens como uma cobertura que abrange o concelho, numa aplicação webgis, servida pelo MapServer.</p>
<h4>A melhor opção</h4>
<p>Para escolher a melhor forma de publicar as imagens é preciso saber o que é mais importante para nós: velocidade ou espaço em disco?</p>
<p>A verdade é que a compressão das imagens impõe uma penalização na velocidade com que os programas conseguem mostrar essas imagens. Essa penalização pode ser muito pequena ou muito grande, consoante o tipo de compressão e o tipo de imagem criada durante o processo de compressão. Geralmente, os ficheiros ECW e SID são extremamente comprimidos e relativamente rápidos. Em geral também, o formato JPEG2000 comprime muito as imagens mas é lento. O formato mais antigo JPEG é um compromisso entre os 2 grupos anteriores. Outra regra: assume-se que o MapServer é mais rápido com o formato TIFF, sem compressão, do que com formatos comprimidos, mas estas imagens ocupam muito mais espaço em disco.</p>
<p>Portanto, se a sua única preocupação é velocidade, e tem espaço em disco que não se importa de gastar com os seus ortofotomapas, em principio já sabe a sua resposta – use TIFFs sem compressão. Mas nada como verificar se esta “verdade” realmente se aplica aos seus dados em particular. Ahh, e não se esqueça de considerar o tráfego que vai gerar na rede se quiser usar os ortos em programas SIG desktop…</p>
<p>Temos ainda de saber como criar um layer em MapServer que use todas as imagens como um conjunto único. Afinal não quer que o utilizador seja obrigado a ligar 45 imagens uma-por-uma.</p>
<p>Para iniciar os testes converteram-se todas as imagens para os diversos formatos. Os tamanhos totais em cada formato ficaram assim:</p>
<table class="viasig" style="width: 400px;" border="0" cellspacing="0">
<thead>
<tr>
<th width="200" valign="top">Formato</th>
<th width="200" valign="top">Dimensão</th>
</tr>
</thead>
<tbody>
<tr>
<td width="200" valign="top">TIF+overheads</td>
<td width="200" valign="top">13,5 GB</td>
</tr>
<tr>
<td width="200" valign="top">JPG+overheads</td>
<td width="200" valign="top">915 MB</td>
</tr>
<tr>
<td width="200" valign="top">ECW</td>
<td width="200" valign="top">605 MB</td>
</tr>
<tr>
<td width="200" valign="top">JP2</td>
<td width="200" valign="top">509 MB</td>
</tr>
</tbody>
</table>
<p>Os tamanhos indicados incluem imagens de resolução reduzida, chamadas <em>overheads</em> ou pirâmides. Mais sobre isto adiante…</p>
<p>Para ver os comandos de conversão do GDAL para cada formato pode consultar este artigo anterior – <a title="artigo anterior sobre conversão com GDAL" href="http://blog.viasig.com/2009/01/gdal-formatos-comprimidos/" target="_blank">GDAL: Formatos comprimidos</a>.</p>
<h4>Usar mosaicos em MapServer</h4>
<p>Um mosaico de imagens em MapServer é um layer do tipo RASTER que aponta para um conjunto de imagens em vez de uma só.</p>
<p>A forma tradicional de referenciar um mosaico é criando um shapefile que contém um quadriculado com as extensões das imagens. Este shapefile é criado com um comando do GDAL chamado <em><a title="página do comando gdaltindex" href="http://www.gdal.org/gdaltindex.html" target="_blank">gdaltindex</a></em>.</p>
<p>Mas há uma nova opção. Podemos usar o <a title="página do GDAL sobre o formato VRT" href="http://www.gdal.org/ogr/drv_vrt.html" target="_blank">formato VRT</a>, um formato virtual que é constituído por um ficheiro de texto que indica a fonte dos dados e a forma como são organizados. Um ficheiro VRT pode listar um conjunto de imagens de forma a que o MapServer e outras aplicações o leiam como uma imagem única, quando na verdade será composto por todas as nossas imagens. O comando para criar um mosaico VRT é o <em><a title="página do comando gdalbuildvrt" href="http://www.gdal.org/gdalbuildvrt.html" target="_blank">gdalbuildvrt</a></em>.</p>
<p>Por último, temos a opção de força bruta: juntar todas as imagens numa só, criando uma imagem enorme em disco que abrange toda a nossa área de interesse. Ou seja, no nosso caso em estudo esta imagem teria 10GB. Para criar este mosaico monolítico usamos o comando <em><a title="página do comando gdal_merge" href="http://www.gdal.org/gdal_merge.html" target="_blank">gdal_merge</a></em>.</p>
<p>Vamos ao longo do artigo analisar cada opção e no final medir os tempos que o MapServer demora a visualizar cada tipo de mosaico.</p>
<h4>Mosaico VRT</h4>
<p>O GDAL suporta um formato virtual, VRT, que lista ficheiros já existentes e os descreve como um todo. Podemos agregar várias imagens numa só, definir um novo sistema de coordenadas, ou no caso de ficheiros vectoriais definir filtros de atributos, e renomear atributos, tudo sem alterar os ficheiros originais. Os ficheiros VRT são ficheiros de texto em formato XML e podem ser editados manualmente, ou criados com o <em>gdal_translate</em> ou com o comando <em>gdalbuildvrt</em>. Mais info <a title="pequeno tutorial sobre VRT" href="http://www.gdal.org/gdal_vrttut.html" target="_blank">aqui</a>.</p>
<p>Para construir um mosaico a partir das imagens numa directoria, basta usar o seguinte comando:</p>
<pre>gdalbuildvrt mosaico_tif.vrt directoria\*.tif</pre>
<p>O ficheiro “mosaico_tif.vrt” é criado com o seguinte conteúdo:</p>
<pre><code>&lt;VRTDataset rasterXSize="40000" rasterYSize="20000"&gt;
  &lt;SRS&gt;LOCAL_CS[&amp;quot;unnamed&amp;quot;,UNIT[&amp;quot;metre&amp;quot;,1,AUTHORITY[&amp;quot;EPSG&amp;quot;,&amp;quot;9001&amp;quot;]]]&lt;/SRS&gt;
  &lt;GeoTransform&gt;-1.6000000000000000e+004, 5.0000000000000000e-001, 0.0000000000000000e+000,-7.0000000000000000e+004, 0.0000000000000000e+000,-5.0000000000000000e-001&lt;/GeoTransform&gt;
  &lt;VRTRasterBand dataType="Byte" band="1"&gt;
    &lt;ColorInterp&gt;Red&lt;/ColorInterp&gt;
    &lt;SimpleSource&gt;
      &lt;SourceFilename relativeToVRT="1"&gt;tif\003941Argbx.tif&lt;/SourceFilename&gt;
      &lt;SourceBand&gt;1&lt;/SourceBand&gt;
      &lt;SourceProperties RasterXSize="8000" RasterYSize="10000" DataType="Byte" BlockXSize="8000" BlockYSize="1"/&gt;
      &lt;SrcRect xOff="0" yOff="0" xSize="8000" ySize="10000"/&gt;
      &lt;DstRect xOff="0" yOff="0" xSize="8000" ySize="10000"/&gt;
    &lt;/SimpleSource&gt;</code></pre>
<p>&#8230; seguem-se as restantes imagens em sucessivos SimpleSource até terminar a lista de imagens, para a 1ª banda. Depois inicia-se a 2ª banda:</p>
<div><code>&lt;/VRTRasterBand&gt;<br />
  &lt;VRTRasterBand dataType="Byte" band="2"&gt;<br />
    &lt;ColorInterp&gt;Green&lt;/ColorInterp&gt;<br />
    &lt;SimpleSource&gt;<br />
      &lt;SourceFilename relativeToVRT="1"&gt;tif\003941Argbx.tif&lt;/SourceFilename&gt;<br />
      &lt;SourceBand&gt;2&lt;/SourceBand&gt;<br />
      &lt;SourceProperties RasterXSize="8000" RasterYSize="10000" DataType="Byte" BlockXSize="8000" BlockYSize="1"/&gt;<br />
      &lt;SrcRect xOff="0" yOff="0" xSize="8000" ySize="10000"/&gt;<br />
      &lt;DstRect xOff="0" yOff="0" xSize="8000" ySize="10000"/&gt;<br />
    &lt;/SimpleSource&gt;</code></div>
<p>&#8230; seguem depois as imagens para compor a 3ª banda&#8230;</p>
<div><code>&lt;/VRTRasterBand&gt;<br />
  &lt;VRTRasterBand dataType="Byte" band="3"&gt;<br />
    &lt;ColorInterp&gt;Blue&lt;/ColorInterp&gt;<br />
    &lt;SimpleSource&gt;<br />
      &lt;SourceFilename relativeToVRT="1"&gt;tif\003941Argbx.tif&lt;/SourceFilename&gt;<br />
      &lt;SourceBand&gt;3&lt;/SourceBand&gt;<br />
      &lt;SourceProperties RasterXSize="8000" RasterYSize="10000" DataType="Byte" BlockXSize="8000" BlockYSize="1"/&gt;<br />
      &lt;SrcRect xOff="0" yOff="0" xSize="8000" ySize="10000"/&gt;<br />
      &lt;DstRect xOff="0" yOff="0" xSize="8000" ySize="10000"/&gt;<br />
    &lt;/SimpleSource&gt;</code></div>
<p>Finalizando-se o ficheiro assim:</p>
<div><code>   &lt;/VRTRasterBand&gt;<br />
&lt;/VRTDataset&gt;</code></div>
<p>O QGIS 1.4.0 consegue ler este tipo de ficheiro, mostrando-o como uma só imagem:</p>
<p><a href="$QGIS140_mosaicoVRT_blogviasigcom3.png"></a></p>
<div class="wp-caption alignnone" style="width: 650px"><a rel="attachment wp-att-524" href="http://blog.viasig.com/2010/01/mosaicos-de-imagens-em-mapserver-com-gdal/qgis140_mosaicovrt_blogviasigcom/"><img title="QGIS140_mosaicoVRT_blogviasigcom" src="http://blog.viasig.com/wp-content/uploads/2010/01/QGIS140_mosaicoVRT_blogviasigcom1.png" alt="Mosaico VRT visualizado no QGIS 1.4.0" width="640" height="556" /></a><p class="wp-caption-text">Mosaico VRT visualizado no Quantum GIS 1.4.0.</p></div>
<p>Mas a performance é um problema. Para visualizar este mosaico, o QGIS tem de abrir as 45 imagens, ler todos os pixels, e mostrá-los. Ainda por cima, nesta escala a maior parte da informação é inútil porque não se distinguem todos os pixels. Para resolver este problema, criam-se overheads…</p>
<h4>Criar Overheads</h4>
<p>Os ficheiro TIFF originais têm 234MB cada um, e para visualizar todos os ortos o QGIS tem de ler todas as imagens, num total de 9GB, e mostrá-las numa escala onde o todo pormenor se perde. Este problema aplica-se a todos os programas SIG, incluindo o MapServer.</p>
<p>Para evitar este desperdício de tempo, criam-se overheads ou pirâmides, que são imagens de resolução decrescente gravadas num só ficheiro com extensão OVR. Assim, para uma escala pequena, como a do exemplo anterior, o QGIS tem apenas de ler e mostrar a imagem de pior resolução, já que se ajusta bem ao pormenor visível a essa escala. Consoante o utilizador faz “zoom in”, o QGIS selecciona a imagem com a resolução apropriada a essa escala, até que a partir de uma dada escala começa a mostrar a imagem original. Mas neste momento já só é necessário ler uma pequena porção da imagem para cobrir a área visível. E assim se acelera a visualização das imagens.</p>
<p>Para criar overheads usamos o comando do GDAL, <em><a title="página do comando gdaladdo" href="http://www.gdal.org/gdaladdo.html" target="_blank">gdaladdo</a></em>:</p>
<div><code>gdaladdo -ro &lt;ficheiro_de_imagem&gt; 2 4 8 16 32 64 128</code></div>
<p>O parâmetro “-ro” indica que a imagem original não deve ser alterada, e portanto as overheads serão criadas num ficheiro separado, que terá a extensão OVR.</p>
<p>Os números depois do nome da imagem são os níveis a criar com resolução reduzida. O n.º 2 indica metade da resolução original, 4 é 1/4 e assim sucessivamente. Até que nível de redução calculamos depende da extensão geográfica das imagens e da sua resolução original. Uma forma fácil de determinar até que redução devemos chegar é consultar o QGIS…</p>
<p>O QGIS consegue agora criar overheads – acedendo às propriedades de um tema de imagem, na secção de Pyramids existe um botão para criar pirâmides (embora seja mais lento que o comando GDAL). Aqui o QGIS mostra a lista de resoluções que aconselha – é só contar quantos níveis são aconselhados pelo QGIS. Na imagem seguinte, podemos ver o QGIS a criar pirâmides para uma das imagens:</p>
<div id="attachment_525" class="wp-caption alignnone" style="width: 630px"><a rel="attachment wp-att-525" href="http://blog.viasig.com/2010/01/mosaicos-de-imagens-em-mapserver-com-gdal/qgis140_piramides/"><img class="size-full wp-image-525" title="QGIS140_piramides" src="http://blog.viasig.com/wp-content/uploads/2010/01/QGIS140_piramides.png" alt="Construir pirâmides/overheads no Quantum GIS 1.4.0." width="620" height="548" /></a><p class="wp-caption-text">Construir pirâmides/overheads no Quantum GIS 1.4.0.</p></div>
<p>Como o QGIS indicava 7 níveis de pirâmides para as minhas imagens, foi o que usei no comando: 2, 4, 8, 16, 32, 64, 128 = 7 níveis.</p>
<p>Criei então overheads para o mosaico VRT. O resultado foi um ficheiro OVR com 776MB, ou seja, 33% do tamanho original. Esta é a taxa comum na criação de overheads e temos de prever este consumo adicional de disco.</p>
<p>Para testar as overheads, carreguei de novo o mosaico VRT no QGIS. Agora a imagem total foi mostrada quase instantaneamente. Mas ao fazer zoom in a velocidade degradou-se. Significa que o QGIS deixa de usar as pirâmides do VRT e passa a mostrar as imagens originais… penso que poderá ser um bug.</p>
<p>Portanto a solução passa por criar overheads para cada uma das imagens originais, e ver se assim o QGIS utiliza sempre as overheads.</p>
<p>Para isso usei um comando de linha que percorre todas as imagens TIFF numa directoria e executa o comando <em>gdaladdo</em>:</p>
<div><code>for %I in (directoria_originais\*.tif) do gdaladdo -ro %I 2 4 8 16 32 64 128</code></div>
<p>O resultado foi a criação de um ficheiro OVR para cada TIFF, cada um com 82MB (35% dos originais). Voltando a carregar o mosaico VRT no QGIS, o desempenho foi excelente em todos os níveis de zoom, provando que o QGIS usou sempre as overheads.</p>
<p>NOTA: por curiosidade abri o mosaico VRT no ArcGIS, e tudo funcionou perfeitamente, incluindo as overheads! Sabe-se há muito que o ArcGIS incluía o GDAL, não se sabendo bem para o quê. Pelos vistos, servirá também para ler VRT’s e overheads.</p>
<h4>O caso ECW</h4>
<p>O formato ECW agrada-me muito. Tem compressões equivalentes ao MrSID, é gratuito para comprimir imagens até 500MB, é rápido a visualizar, e já inclui pirâmides no próprio ficheiro. Poupa assim espaço em disco 2x: na compressão e nas pirâmides.</p>
<p>A questão que se coloca é saber até que ponto vai a penalização na performance do MapServer ao ter que descomprimir os ECW para os visualizar a cada Zoom e a cada Pan.</p>
<p>Para criar um mosaico VRT com ECW’s tivemos de converter todos os TIFF originais, com o seguinte comando:</p>
<div><code>for %I in (directoria_originais\*.tif) do gdal_translate -of ECW -co TARGET=90 %I directoria_destino\%~nI.ecw</code></div>
<p>As imagens originais passaram de 13GB (contando com as overheads) para 605MB – poupando 95% do espaço! Podiamos ainda comprimir mais, mas neste estudo preferi manter os defaults…</p>
<p>Criámos um novo VRT com as imagens ECW, e testámos no QGIS. A visualização foi muito rápida e sem degradação ao aumentar a escala.</p>
<h4>O caso JPEG</h4>
<p>Este formato é muito apreciado por ser familiar, bastante rápido, e apresentar taxas de compressão bastante atractivas (embora não consiga acompanhar a compressão dos novos formatos como MrSID e ECW). A questão que se coloca é saber se a multa devida pela descompressão se nota ou não em MapServer. Não esquecer que será necessário criar overheads. Neste teste optei por criar as pirâmides também em formato JPEG, por forma a ser mais fiel ao formato. Se este formato for suficientemente rápido poderá ser uma boa alternativa ao TIFF. Para criar pirâmides em formato JPEG pode-se usar o seguinte comando (está tudo documentado na página do <a title="página do GDAL sobre criação de overheads" href="http://www.gdal.org/gdaladdo.html" target="_blank">gdaladdo</a>):</p>
<div><code>gdaladdo --config COMPRESS_OVERVIEW JPEG --config PHOTOMETRIC_OVERVIEW YCBCR --config INTERLEAVE_OVERVIEW PIXEL imagem 2 4 8 16 32 64 128</code></div>
<p>O resultado foram imagens JPEG e OVR ocupando 915MB (93% de compressão). Em QGIS o resultado foi mais uma vez excelente… visualização rápida de inicio, sem degradação com os zoom in… Além da velocidade, fiquei surpreendido com a compressão atingida e com a óptima qualidade das imagens ao ver todo o mosaico.</p>
<h4>O caso JPEG2000</h4>
<p>Este formato é uma alternativa aos formatos ECW e MrSID, mas mais aberto. No entanto, tem-se revelado sistematicamente lento demais para o poder utilizar a não ser para fins de arquivo.</p>
<p>Decidi mesmo assim inclui-lo no teste. Converti todas as imagens TIFF para JP2, e criei um mosaico VRT. No teste com QGIS, a velocidade foi muito rápida de início, apenas demorando um pouco mais com o aumento da escala de visualização. No entanto, a sua qualidade de imagem ao ver todo o mosaico foi excelente.</p>
<h4>Mosaicos Shapefile (TILEINDEX)</h4>
<p>A forma tradicional de usar mosaicos no MapServer é criar um shapefile com polígonos que cobrem a área de cada ortofotomapa. Este shapefile é depois referenciado no mapfile em vez do ficheiro VRT.</p>
<p>A questão que se coloca é saber se a utilização de um VRT implica uma redução de performance, quando comparada com a utilização de um shapefile.</p>
<p>Criei por isso mosaicos usando shapefiles, e medi os tempos de visualização em MapServer. Afinal, nem sempre novos métodos se revelam melhores que os antigos. O comando que usei foi o seguinte:</p>
<div><code>gdaltindex mosaico.shp directoria\*.tif</code></div>
<p>Não descobri forma de visualizar este tipo de mosaico em QGIS…</p>
<h4>Mosaicos monolíticos</h4>
<p>A última variante de mosaicos conhecida pela humanidade &#8211; juntar todas as imagens numa única, e gigante, imagem.</p>
<p>Para criar este mosaico vamos usar a ferramenta <em>gdal_merge</em>, que é um script python incluído no GDAL (pelo menos na versão <a title="página para obter o FWTools" href="http://fwtools.maptools.org/" target="_blank">FWTools</a>). O plano é juntar todos os tiffs originais, criando um novo tiff. Mas nesta altura, o espaço em disco começava a escassear…</p>
<p>Para poupar algum espaço em disco, optei por usar compressão JPEG. Como o ficheiro poderá ser maior que 4GB usei a opção “bigtiff=yes” (por limitações do formato tiff). E como o ficheiro cobrirá uma grande extensão geográfica, para acelerar o acesso a pequenas áreas, usei também a opção “tiled=yes”. Assim, o comando para criar o mosaico foi o seguinte:</p>
<div><code>gdal_merge -o mosaico.tif -of gtiff -co compress=jpeg -co tiled=yes -co tfw=yes -co bigtiff=yes -v imagens_originais\*.tif</code></div>
<p>Isto produziu um ficheiro com 3,5GB, dada a compressão JPEG dentro do ficheiro TIFF. Confuso? Sucede que o formato TIFF suporta uma variedade de processos de compressão. Um deles é o JPEG. Claro que esta compressão poderá comprometer a velocidade do mosaico, mas não tinha mais espaço em disco para criar um mosaico sem compressão.</p>
<p>O passo seguinte foi criar overheads/pirâmides para este mosaico. Também aqui optei por criar pirâmides comprimidas em JPEG, usando o seguinte comando:</p>
<div><code>gdaladdo --config COMPRESS_OVERVIEW JPEG --config PHOTOMETRIC_OVERVIEW YCBCR --config INTERLEAVE_OVERVIEW PIXEL -ro mosaico.tif 2 4 8 16 32 64 128</code></div>
<p>Este comando criou um ficheiro OVR com 320MB, sendo apenas 9% do original devido à compressão usada. No total, a compressão foi de 72%. Nada mau…</p>
<p>Em QGIS este mosaico foi extremamente rápido, mostrando o ficheiro numa fracção de segundo, e zooms e pans foram também muito rápidos. Definitivamente, foi das melhores prestações senão a melhor.</p>
<p>NOTA: seria interessante criar um mosaico enorme ECW, mas não foi possível por causa do limite de 500MB imposto pela licença gratuita do compressor ECW (incluído no GDAL).</p>
<h4>E agora… com MapServer</h4>
<p>Todos os testes foram efectuados num portátil,  com Windows 7, 32-bit, 2 GB de memória, e MS4W 2.2.7 (inclui o MapServer 5.0.2). Portanto, podemos esperar melhores resultados num PC ou servidor, onde o disco rígido será em princípio bastante mais rápido. Os testes foram feitos com uma pequena aplicação OpenLayers, que inicia com um mosaico visível em toda a extensão, sendo depois feitos 4 zooms no centro do mapa, manualmente.</p>
<p>Os tempos foram obtidos no log produzido pelo MapServer. Para criar este log, inseriram-se as seguintes linhas no <em>mapfile</em>:</p>
<pre><code>MAP
    CONFIG  "MS_ERRORFILE" "/ms4w/mapserver.log"
    DEBUG 5</code></pre>
<p>O mapa foi configurado para gerar imagens em JPEG, através do <a title="documentação do MapServer sobre o motor gráfico AGG" href="http://mapserver.org/output/agg.html" target="_blank">AGG</a>, usando esta secção no <em>mapfile</em>:</p>
<div><code>  OUTPUTFORMAT<br />
    NAME jpg<br />
    DRIVER AGG/JPEG<br />
    IMAGEMODE RGB<br />
  END</code></div>
<p>Para definir um layer com um mosaico VRT usou-se a seguinte sintaxe no <em>mapfile</em>, indicando o ficheiro VRT no tag DATA:</p>
<div><code>   LAYER<br />
    NAME 'mosaicoTotal_tif'<br />
    TYPE RASTER<br />
    DUMP true<br />
    TEMPLATE fooOnlyForWMSGetFeatureInfo<br />
    EXTENT -16500.000000 -83122.641509 4500.000000 -66877.358491<br />
    DATA 'mosaicoTotal_tifoverhds.vrt'<br />
    METADATA<br />
      'ows_title' 'mosaicoTotal_tif'<br />
    END<br />
    STATUS OFF<br />
    TRANSPARENCY 100<br />
    PROJECTION<br />
    'init=EPSG:27492'<br />
    END<br />
  END</code></div>
<p>Note-se que foram criados vários layers deste tipo, havendo um VRT para cada tipo de imagem: TIFF, ECW, JPG, JP2.</p>
<p>Para os mosaicos baseados em shapefile usou-se a seguinte sintaxe (TILEINDEX e TILEITEM no lugar de DATA):</p>
<pre>
<div><code>   LAYER
    NAME 'mosaicoTotalshp_tif'
    TYPE RASTER
    DUMP true
    TEMPLATE fooOnlyForWMSGetFeatureInfo
    EXTENT -16500.000000 -83122.641509 4500.000000 -66877.358491
    TILEINDEX 'mosaicoshp_tif.shp'
    TILEITEM 'location'
    METADATA
      'ows_title' 'mosaicoTotalshp_tif'
    END
    STATUS OFF
    TRANSPARENCY 100
    PROJECTION
    'init=EPSG:27492'
    END
  END</code></div>
</pre>
<h4>Resultados do MapServer</h4>
<p>Usando <strong>mosaicos VRT</strong> obtiveram-se os seguintes tempos:</p>
<table class="viasig" style="width: 600px;" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<th width="99" valign="top">Zoom</th>
<th width="115" valign="top">TIFF+overhds</th>
<th width="100" valign="top">ECW</th>
<th width="100" valign="top">JP2</th>
<th width="100" valign="top">JPG</th>
<th width="84" valign="top">TIFmonolítico</th>
</tr>
<tr>
<td width="99" valign="top">Inicial</td>
<td width="115" valign="top">0.298</td>
<td width="100" valign="top">0.744</td>
<td width="100" valign="top">1.108</td>
<td width="100" valign="top">0.81</td>
<td width="84" valign="top">0.094</td>
</tr>
<tr>
<td width="99" valign="top">Z1</td>
<td width="115" valign="top">0.354</td>
<td width="100" valign="top">0.609</td>
<td width="100" valign="top">3.205</td>
<td width="100" valign="top">0.945</td>
<td width="84" valign="top">0.259</td>
</tr>
<tr>
<td width="99" valign="top">Z2</td>
<td width="115" valign="top">0.419</td>
<td width="100" valign="top">0.761</td>
<td width="100" valign="top">3.173</td>
<td width="100" valign="top">1.018</td>
<td width="84" valign="top">0.291</td>
</tr>
<tr>
<td width="99" valign="top">Z3</td>
<td width="115" valign="top">0.415</td>
<td width="100" valign="top">0.709</td>
<td width="100" valign="top">3.053</td>
<td width="100" valign="top">1</td>
<td width="84" valign="top">0.284</td>
</tr>
<tr>
<td width="99" valign="top">Z4</td>
<td width="115" valign="top">0.65</td>
<td width="100" valign="top">0.658</td>
<td width="100" valign="top">2.533</td>
<td width="100" valign="top">0.966</td>
<td width="84" valign="top">0.276</td>
</tr>
<tr>
<td width="99" valign="top"><strong>Totais</strong></td>
<td width="115" valign="top"><strong>2.136</strong></td>
<td width="100" valign="top"><strong>3.481</strong></td>
<td width="100" valign="top"><strong>13.072</strong></td>
<td width="100" valign="top"><strong>4.739</strong></td>
<td width="84" valign="top"><strong>1.204</strong></td>
</tr>
<tr>
<td width="99" valign="top">Espaço disco</td>
<td width="115" valign="top">13,5GB</td>
<td width="103" valign="top">605MB</td>
<td width="106" valign="top">509MB</td>
<td width="107" valign="top">915MB</td>
<td width="102" valign="top">3,85GB*</td>
</tr>
</tbody>
</table>
<p>*usando compressão JPEG, e incluindo overheads.</p>
<p>E em gráfico (a última categoria “Totais” representa a soma de todos os zooms, evidenciando os ganhos acumulados nos formatos mais rápidos):</p>
<div id="attachment_532" class="wp-caption alignnone" style="width: 607px"><a rel="attachment wp-att-532" href="http://blog.viasig.com/2010/01/mosaicos-de-imagens-em-mapserver-com-gdal/mapserver_mosaicos_vrt/"><img class="size-full wp-image-532" title="Desempenho de mosaicos VRT em MapServer." src="http://blog.viasig.com/wp-content/uploads/2010/01/mapserver_mosaicos_vrt1.png" alt="Desempenho de mosaicos VRT em MapServer." width="597" height="340" /></a><p class="wp-caption-text">Desempenho de mosaicos VRT em MapServer.</p></div>
<p>E o vencedor é… o mosaico monolítico, destacadíssimo. Dos mosaicos VRT, o mais rápido foi o mosaico de TIFF’s não comprimidos, como se supunha de início, com o formato ECW em 2º lugar, bastante melhor que o JPEG em 3º. O formato JPEG2000 é completamente desaconselhado.</p>
<p>Usando <strong>mosaicos baseados em Shapefile</strong>, obtiveram-se os seguintes resultados:</p>
<table class="viasig" style="width: 600px;" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<th width="99" valign="top">Zoom</th>
<th width="115" valign="top">TIFF+overhds</th>
<th width="100" valign="top">ECW</th>
<th width="100" valign="top">JP2</th>
<th width="100" valign="top">JPG</th>
<th width="84" valign="top">TIFmonolítico</th>
</tr>
<tr>
<td width="99" valign="top">Inicial</td>
<td width="115" valign="top">0.287</td>
<td width="100" valign="top">2.374</td>
<td width="100" valign="top">4.206</td>
<td width="100" valign="top">2.366</td>
<td width="84" valign="top">0.094</td>
</tr>
<tr>
<td width="99" valign="top">Z1</td>
<td width="115" valign="top">0.337</td>
<td width="100" valign="top">2.355</td>
<td width="100" valign="top">6.121</td>
<td width="100" valign="top">2.355</td>
<td width="84" valign="top">0.259</td>
</tr>
<tr>
<td width="99" valign="top">Z2</td>
<td width="115" valign="top">0.247</td>
<td width="100" valign="top">1.082</td>
<td width="100" valign="top">3.583</td>
<td width="100" valign="top">1.139</td>
<td width="84" valign="top">0.291</td>
</tr>
<tr>
<td width="99" valign="top">Z3</td>
<td width="115" valign="top">0.186</td>
<td width="100" valign="top">0.656</td>
<td width="100" valign="top">3.069</td>
<td width="100" valign="top">0.76</td>
<td width="84" valign="top">0.284</td>
</tr>
<tr>
<td width="99" valign="top">Z4</td>
<td width="115" valign="top">0.176</td>
<td width="100" valign="top">0.657</td>
<td width="100" valign="top">2.412</td>
<td width="100" valign="top">0.926</td>
<td width="84" valign="top">0.276</td>
</tr>
<tr>
<td width="99" valign="top"><strong>Totais</strong></td>
<td width="115" valign="top"><strong>1.233</strong></td>
<td width="100" valign="top"><strong>7.124</strong></td>
<td width="100" valign="top"><strong>19.391</strong></td>
<td width="100" valign="top"><strong>7.546</strong></td>
<td width="84" valign="top"><strong>1.204</strong></td>
</tr>
<tr>
<td width="99" valign="top">Espaço disco</td>
<td width="115" valign="top">13,5GB</td>
<td width="103" valign="top">605MB</td>
<td width="106" valign="top">509MB</td>
<td width="107" valign="top">915MB</td>
<td width="102" valign="top">3,85GB*</td>
</tr>
</tbody>
</table>
<p>*usando compressão JPEG, e incluindo overheads.</p>
<p>E em gráfico:</p>
<div class="mceTemp">
<dl id="attachment_502" class="wp-caption " style="width: 606px;"><a rel="attachment wp-att-502" href="http://blog.viasig.com/2010/01/mosaicos-de-imagens-em-mapserver-com-gdal/mapserver_mosaicos_shp-png/"><img title="Desempenho de mosaicos SHP em MapServer" src="http://blog.viasig.com/wp-content/uploads/2010/01/mapserver_mosaicos_shp.png" alt="Desempenho de mosaicos SHP em MapServer" width="596" height="340" /></a> Desempenho de mosaicos SHP em MapServer</dl>
</div>
<p> </p>
<p>E o vencedor é… de novo o TIFF monolítico, mas havendo várias alterações. Só o mosaico de TIFF’s não comprimidos melhorou o desempenho em quase 100%, reduzindo de 2,1s para 1,2s. Todos os outros pioraram bastante, por vezes duplicando o tempo de visualização. Não encontrei explicação para esta penalização. O shapefile continha apenas 45 polígonos, sendo difícil acreditar que possa causar tão grande penalização, mesmo considerando que o MapServer tem de determinar quais os polígonos visíveis num momento, determinar as áreas de cada um, e abrir as imagens correspondentes… parece-me pouco trabalho para explicar diferenças de 1,6s como no caso dos ECW… Mas factos são factos.</p>
<h4>Conclusões</h4>
<p>Se não existirem impedimentos, deverá unir as suas imagens num mosaico único, em formato TIFF, comprimido em JPEG, e criar pirâmides também com compressão JPEG. Obtém o maior desempenho possível e com o extra de poupar 70% do espaço em disco. Esta abordagem foi simplesmente a melhor… mais vale guardar os seus originais num arquivo.</p>
<p>Quanto aos mosaicos VRT mostraram ser uma boa opção. Quase todos os formatos tiveram melhor desempenho quando usados através deste formato virtual, do que usando um mosaico baseado em shapefile. A excepção foi o mosaico de TIFF’s não comprimidos. Aqui, usar o mosaico shapefile foi melhor, muito melhor.</p>
<h4>Nota Final</h4>
<p>O formato VRT não serve apenas para criar mosaicos sem alterar as imagens originais, e por isso poderá ser uma opção atractiva em certas situações. Podemos, por exemplo, definir uma deslocação de +200km, +300km sem andar a editar ficheiros de coordenadas – alguém se lembra de passar por isto?? Parece-me que sim.</p>
<h4>Cábula de Comandos</h4>
<p>Todos os comandos usados no artigo…</p>
<table class="viasig" style="width: 600px;" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<th width="600" valign="top">Criar mosaico VRT a com imagens de uma directoria:</th>
</tr>
<tr>
<td width="600" valign="top">gdalbuildvrt mosaico_tif.vrt directoria\*.tif</td>
</tr>
<tr>
<th width="600" valign="top">Criar overheads/pirâmides de uma imagem, num ficheiro separado</th>
</tr>
<tr>
<td width="600" valign="top">gdaladdo -ro imagem.tif 2 4 8 16 32 64 128</td>
</tr>
<tr>
<th width="600" valign="top">Criar overheads/pirâmides para todas as imagens TIFF numa directoria</th>
</tr>
<tr>
<td width="600" valign="top">for %I in (directoria_originais\*.tif) do gdaladdo -ro %I 2 4 8 16 32 64 128</td>
</tr>
<tr>
<th width="600" valign="top">Converter todos os TIFF numa directoria para ECW noutra directoria</th>
</tr>
<tr>
<td width="600" valign="top">for %I in (directoria_originais\*.tif) do gdal_translate -of ECW -co TARGET=90 %I directoria_destino\%~nI.ecw</td>
</tr>
<tr>
<th width="600" valign="top">Criar overheads/pirâmides com compressão JPEG</th>
</tr>
<tr>
<td width="600" valign="top">gdaladdo &#8211;config COMPRESS_OVERVIEW JPEG &#8211;config PHOTOMETRIC_OVERVIEW YCBCR &#8211;config INTERLEAVE_OVERVIEW PIXEL imagem.tif 2 4 8 16 32 64 128</td>
</tr>
<tr>
<th width="600" valign="top">Criar mosaico baseado em shapefile das imagens TIFF numa directoria</th>
</tr>
<tr>
<td width="600" valign="top">gdaltindex mosaico.shp directoria\*.tif</td>
</tr>
<tr>
<th width="600" valign="top">Criar um mosaico monolítico tif, com compressão jpeg, das imagens tiff numa directoria</th>
</tr>
<tr>
<td width="600" valign="top">gdal_merge -o mosaico.tif -of gtiff -co compress=jpeg -co tiled=yes -co tfw=yes -co bigtiff=yes -v imagens_originais\*.tif</td>
</tr>
<tr>
<th width="600" valign="top">MapServer: configurar um mapfile para gerar um ficheiro log com tempos</th>
</tr>
<tr>
<td width="600" valign="top">MAP    CONFIG  &#8220;MS_ERRORFILE&#8221; &#8220;/ms4w/mapserver.log&#8221;    DEBUG 5</td>
</tr>
</tbody>
</table>
<img src="http://feeds.feedburner.com/~r/ViaSIG/~4/8fGeoLvt_5A" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.viasig.com/2010/01/mosaicos-de-imagens-em-mapserver-com-gdal/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		<feedburner:origLink>http://blog.viasig.com/2010/01/mosaicos-de-imagens-em-mapserver-com-gdal/</feedburner:origLink></item>
		<item>
		<title>Prendas de Natal</title>
		<link>http://feedproxy.google.com/~r/ViaSIG/~3/UvSBj8djxL0/</link>
		<comments>http://blog.viasig.com/2009/12/prendas-de-natal/#comments</comments>
		<pubDate>Wed, 23 Dec 2009 18:33:07 +0000</pubDate>
		<dc:creator>duarte</dc:creator>
				<category><![CDATA[Dados]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[SIG]]></category>

		<guid isPermaLink="false">http://blog.viasig.com/?p=485</guid>
		<description><![CDATA[No espírito do Natal deste ano pensei em partilhar as prendas do Ordenance Survey (IGP inglês) ao mundo, que acabou de publicar o documento com a política que seguirá quanto à disseminação dos seus dados. E no capítulo 7, &#8220;Release of free products&#8221;, lista os produtos que serão gratuitos a partir de 1 de Abril [...]]]></description>
			<content:encoded><![CDATA[<p>No espírito do Natal deste ano pensei em partilhar as prendas do Ordenance Survey (IGP inglês) ao mundo, que acabou de publicar o documento com a política que seguirá quanto à disseminação dos seus dados. E no capítulo 7, &#8220;Release of <strong><em>free</em></strong> products&#8221;, lista os produtos que serão gratuitos a partir de 1 de Abril de 2010, e que incluem dados imagem 10k e 25k, e vector, que incluem os códigos postais e a rede viária!</p>
<p>Portanto é caso para dizer, em Inglês claro, OhOhOh Merry Christmas!</p>
<p><strong>Update </strong>- links em falta:</p>
<p>documento do OS referido acima: <a title="pdf do documento do Ordnance Survey" href="http://www.communities.gov.uk/documents/corporate/pdf/1415413.pdf">Policy options for geographic information from Ordnance Survey</a>.</p>
<p>mais info: <a title="artigo com mais informação sobre os produtos gratuitos do Ordnance Survey" href="http://mapperz.blogspot.com/2009/12/ordnance-survey-free-23-december-2009.html" target="_blank">artigo no Mapperz</a>.</p>
<img src="http://feeds.feedburner.com/~r/ViaSIG/~4/UvSBj8djxL0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.viasig.com/2009/12/prendas-de-natal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.viasig.com/2009/12/prendas-de-natal/</feedburner:origLink></item>
		<item>
		<title>PostgreSQL e ESRI – parte 3</title>
		<link>http://feedproxy.google.com/~r/ViaSIG/~3/ZC3O3xxEV7U/</link>
		<comments>http://blog.viasig.com/2009/12/postgresql-e-esri-parte-3/#comments</comments>
		<pubDate>Sat, 12 Dec 2009 00:36:45 +0000</pubDate>
		<dc:creator>duarte</dc:creator>
				<category><![CDATA[Dados]]></category>
		<category><![CDATA[Gestão]]></category>
		<category><![CDATA[Intermédio]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[PostgreSQL]]></category>
		<category><![CDATA[SIG]]></category>
		<category><![CDATA[ArcGIS]]></category>

		<guid isPermaLink="false">http://blog.viasig.com/?p=482</guid>
		<description><![CDATA[Esta é a parte 3 desta série, sobre a utilização de PostGIS com ArcGIS, que aborda a estruturação da bd PostGIS. Os artigos anteriores são:

PostgreSQL e ESRI &#8211; parte 1, que discute as opções disponíveis, e o trunfo do SQL Espacial.
PostgreSQL e ESRI &#8211; parte 2, que discute a instalação e as 2 formas de [...]]]></description>
			<content:encoded><![CDATA[<p>Esta é a parte 3 desta série, sobre a utilização de PostGIS com ArcGIS, que aborda a estruturação da bd PostGIS. Os artigos anteriores são:</p>
<ul>
<li><a title="discussão sobre as opções para usar PgSQL e ESRI" href="http://blog.viasig.com/2009/07/postgresql-e-esri-parte-1/" target="_blank">PostgreSQL e ESRI &#8211; parte 1</a>, que discute as opções disponíveis, e o trunfo do SQL Espacial.</li>
<li><a title="Conexões ArcGIS&lt;-&gt;ArcSDE&lt;-&gt;PgSQL" href="http://blog.viasig.com/2009/12/postgresql-e-esri-parte-2/" target="_blank">PostgreSQL e ESRI &#8211; parte 2</a>, que discute a instalação e as 2 formas de conexão entre o ArcGIS e PgSQL.</li>
</ul>
<p>Depois de instalar o PostgreSQL+PostGIS+ArcSDE, e configurar o formato de armazenar os nossos dados na bd, para que usemos as geometrias nativas do Pg em vez dos objectos ESRI (para compatibilidade com software Open Source), teremos de definir que utilizadores vamos criar na bd, e a forma como organizamos os dados.</p>
<h4>Bases de Dados e Utilizadores</h4>
<p>A organização interna do PostgreSQL é algo semelhante à do SQL Server, e bastante diferente do Oracle. Por exemplo, um servidor PostgreSQL contém várias bases de dados, ao contrário do Oracle onde uma bd corresponde a um serviço ou instância. Se quisermos mais bd’s temos de criar novas instâncias, com configuração independente, conexões, dados, utilizadores, etc.</p>
<p>Durante a instalação do PostGIS é instalada uma bd chamada “postgis”, e podemos usá-la para armazenar os nossos dados geográficos ou podemos criar outras bd&#8217;s ao nosso gosto&#8230;</p>
<p>Podemos assim guardar a informação geográfica na base de dados postgis que é criada durante a instalação do PostGIS. Ultrapassada esta decisão, temos de criar e configurar os utilizadores que vamos usar para carregar a nossa informação, evitando usar os utilizadores de sistema, criados durante a instalação, que são o &#8220;postgres&#8221; e o &#8220;sde&#8221; (utilizador criado pela instalação do ArcSDE e que serve para efectuar a sua gestão). A criação de novos utilizadores é muito recomendado e geralmente é omitido nos tutoriais e instruções de instalação&#8230;</p>
<p>Pessoalmente, prefiro configurações com poucos utilizadores, criando apenas 1 login para cada uso: os utilizadores do SIG usam o mesmo login para a visualização, e um outro para a gestão dos dados (criação, edição, eliminação de layers, metadados, etc.). Aplicações webgis podem partilhar também um único login para acesso aos dados. A abordagem oposta é a de criar um login por utilizador, ou usar a autenticação integrada do Windows (em que as contas de utilizador de domínio são também usadas na bd). Esta é uma decisão que se repercutirá mais tarde na manutenção e monitorização da actividade da bd. Se começarmos com a abordagem mais simples (poucos logins), podemos mais tarde introduzir o esquema de autenticação por utilizador do SIG.</p>
<p>Uma das razões apontada para usar o esquema de mais utilizadores, é que podemos controlar exactamente quem está ligado, ou mesmo até saber quem editou os dados numa dada altura. E esta é uma argumentação válida. Mas a abordagem mais simplista, de poucos logins, também permite algum controlo, uma vez podemos ver no servidor a listagem de conexões activas, e estas são descritas não só pelo login usado, mas também pelo nome da máquina de onde são efectuadas. Como em geral, uma máquina pertence a um utilizador, acabamos por saber que utilizador “real” está efectivamente ligado à bd.</p>
<h4>Utilizadores e <em>Schemas</em></h4>
<p>Outra questão a considerar é a de quantos “<em>schemas</em>” serão criados na bd. Um schema é um agrupamento de objectos na bd ao qual se atribui um nome; o nome dos objectos apenas se podem repetir em schemas diferentes. Por exemplo, podemos ter schemas com o nome “Ambiente” com os dados desta temática, ou “Cadastro”, e por aí fora. É preciso sublinhar que podemos controlar quem tem acesso a um schema, podendo proibir o acesso a certos utilizadores, dar acesso apenas de leitura, ou por fim, dar controle completo.</p>
<p>Quando possível, prefiro usar o schema “public” criado de raiz durante a instalação do PgSQL, e não criar mais schemas. Esta abordagem é muito simples, e tem a vantagem de ser a mais compatível com o software que interage com o PostGIS (já aconteceu usar software que não via outros schemas além do public), além de simplificar a gestão de privilégios (o que também pode ser limitativo, caso as nossas necessidades exijam compartilhar os dados por áreas de edição).</p>
<p>Mas sucede que o ArcSDE necessita que todos os utilizadores que criam dados tenham o seu próprio schema. Pelo que a centralização dos dados geográficos no schema public não é possível. Temos de ter tantos schemas quantos os utilizadores que criam dados. Ou seja, se o utilizador João for alguém que tem de criar tabelas novas na bd, então terá de ter obrigatoriamente o seu próprio schema, e com o mesmo nome “João”!</p>
<p>A questão não é complicada se tivermos poucos criadores de dados, porque teremos de criar poucos schemas. Isto não impede que haja muitos editores, que podem editar dados de outros utilizadores e por isso não precisam de ter o seu próprio schema.</p>
<p>Mais info sobre schemas pode ser encontrada na <a title="Schemas no manual do PostgreSQL" href="http://developer.postgresql.org/pgdocs/postgres/ddl-schemas.html" target="_blank">documentação do PgSQL</a>.</p>
<h4>Criar Utilizadores</h4>
<p>Para criar utilizadores no PostgreSQL usamos o PgAdmin (programa de administração) para criar &#8220;<em>login roles</em>&#8220;. Podemos também criar perfis que no PgSQL são denominados &#8220;<em>group roles</em>&#8220;, e que permitem gerir conjuntos de utilizadores em simultâneo, que partilham privilégios. O ArcSDE necessita que certas regras sejam seguidas na criação de utilizadores, se quisermos usar o ArcGIS para criar, editar e visualizar os dados.</p>
<p>Em resumo, para criar um novo utilizador que pode criar novos dados através do ArcGIS/ArcSDE, vamos:</p>
<p>i) criar um schema com o mesmo nome do novo utilizador; e</p>
<p>ii) criar um novo login na base de dados postgis, chamado por exemplo &#8220;gestorsig&#8221;. (Podemos usar o PgAdmin, mas aconselho usar a janela de sql para criar o utilizador.)</p>
<p>O utilizador deverá ter privilégios totais no seu próprio schema, mas também o privilégio de &#8220;usage&#8221; sobre o schema &#8220;sde&#8221;, onde são colocadas as tabelas de sistema do ArcSDE. Isto é necessário porque quando o utilizador cria uma nova tabela tem de a registar numa série de tabelas de sistema. Claro que isto é feito automaticamente pelo par ArcSDE/ArcGIS, mas se o utilizador não tiver privilégios não será possível.</p>
<p>Por outro lado, o utilizador “sde” precisa de ter acesso às tabelas criadas, sendo por isso necessário atribuir-lhe o privilégio &#8220;usage&#8221; sobre o schema do novo utilizador, para que seja capaz de efectuar algumas operações de manutenção (<span style="font-family: 'Lucida Sans';">limpeza do versionamento</span>).</p>
<p>E ainda um passo final &#8211; como optámos por armazenar os nossos vectores usando o tipo espacial nativo do PostGIS, o nosso utilizador necessita de acesso de escrita à tabela &#8220;public.geometry_columns&#8221;, onde se registam todas as tabelas espaciais do PostGIS. De outra forma, as nossas tabelas não seriam reconhecidas como tendo geometrias.</p>
<p>Concluindo, para criar um utilizador capaz de criar novas tabelas, usamos o seguinte SQL:</p>
<p><code>create role gestorsig login password 'PasswordDoUtilizador' noinherit createdb;<br />
create schema gestorsig authorization gestorsig;<br />
grant usage on schema sde to gestorsig;<br />
grant usage on schema gestorsig to public;<br />
grant select, insert, update, delete on table public.geometry_columns to gestorsig;</code></p>
<p>Neste código há uma pequena nuance: damos acesso ao nosso schema a todos os outros utilizadores (“<em>…to public</em>”), e assim não nos preocupamos se damos acesso a A ou B.</p>
<p>Para criar um utilizador que edita dados, mas não cria novas tabelas, o processo é quase igual. Apenas não necessita do seu próprio schema (usará o <em>public</em> por default):</p>
<p><code>create role editorsig login password 'PasswordDoUtilizador';<br />
grant usage on schema sde to editorsig;<br />
grant select, insert, update, delete on table public.geometry_columns TO editorsig;</code></p>
<p>Nota: como o nosso utilizador que cria dados (gestorsig) deu acesso a todos os utilizadores, não temos de o fazer explicitamente para novos utilizadores.</p>
<p>Nota 2: para podermos editar os dados criados pelo gestorsig, temos de dar privilégios de UPDATE ao nosso editor. Podemos fazê-lo <a title="manual ArcGIS online" href="http://webhelp.esri.com/arcgisdesktop/9.3/index.cfm?id=2844&amp;pid=2836&amp;topicname=Granting_and_revoking_privileges_on_datasets" target="_blank">usando o ArcCatalog</a> (selecionar as Feature Classes, e com botão direito usar a opção “<em>Privileges”</em>), ou usando <a title="dar privilégios a todos os objectos de um schema" href="http://bensbrain.blogspot.com/2004/08/postgres-grant-on-all-tables-in.html" target="_blank">SQL</a>.</p>
<p>No caso de utilizadores que só visualizam dados, o processo é igual. A diferença é que no ArcCatalog apenas damos o privilégio de SELECT sobre os objectos criados.</p>
<p>Deixo aqui 2 links que resumem a forma de criar novos utilizadores:</p>
<ul>
<li><a title="artigo da ESRI para criar novos users em ArcSDE/PostgreSQL" href="http://support.esri.com/index.cfm?fa=knowledgebase.techarticles.articleShow&amp;d=35385" target="_blank">HowTo:  Create a new user in PostgreSQL using psql</a></li>
<li><a title="Tópico da Ajuda ArcSDE sobre criar novos users em PgSql" href="http://webhelp.esri.com/arcgisdesktop/9.3/index.cfm?TopicName=User_permissions_for_geodatabases_in_PostgreSQL" target="_blank">User permissions for geodatabases in PostgreSQL</a></li>
</ul>
<p>Todo este processo é muito semelhante ao que se passa com outros <a title="outros SGBDR no Wikipedia" href="http://pt.wikipedia.org/wiki/Banco_de_dados_relacional#Exemplos_de_Sistemas_Gerenciadores_de_Bancos_de_Dados_Relacionais" target="_blank">SGBDR</a>’s, como Oracle ou SQL Server. Apenas muda a terminologia, e alguma da lógica de compartimentação da estrutura da bd. Para quem vem do mundo Oracle, a adaptação ao PostgreSQL é muito fácil, e para utilizadores de SQL Server não é muito diferente…</p>
<img src="http://feeds.feedburner.com/~r/ViaSIG/~4/ZC3O3xxEV7U" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.viasig.com/2009/12/postgresql-e-esri-parte-3/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://blog.viasig.com/2009/12/postgresql-e-esri-parte-3/</feedburner:origLink></item>
		<item>
		<title>PostgreSQL e ESRI – parte 2</title>
		<link>http://feedproxy.google.com/~r/ViaSIG/~3/DQpNT3uuZ9Y/</link>
		<comments>http://blog.viasig.com/2009/12/postgresql-e-esri-parte-2/#comments</comments>
		<pubDate>Tue, 01 Dec 2009 23:21:46 +0000</pubDate>
		<dc:creator>duarte</dc:creator>
				<category><![CDATA[Intermédio]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[PostgreSQL]]></category>
		<category><![CDATA[SIG]]></category>

		<guid isPermaLink="false">http://blog.viasig.com/?p=472</guid>
		<description><![CDATA[Este post é o 2º sobre integrar ArcGIS e PgSQL. A 1ª parte pode ser encontrada aqui.
Este artigo continua a experiência de usar o PgSQL como base de um SIG baseado em ArcSDE/ArcGIS, debruçando-se sobre a instalação e tipo de conexões. Não é uma introdução ao PostgreSQL/PostGIS, e é assumido que o leitor tem algum [...]]]></description>
			<content:encoded><![CDATA[<p>Este post é o 2º sobre integrar ArcGIS e PgSQL. A 1ª parte pode ser encontrada <a title="artigo PostgreSQL e ESRI – Parte 1" href="http://blog.viasig.com/2009/07/postgresql-e-esri-parte-1/" target="_blank">aqui</a>.</p>
<p>Este artigo continua a experiência de usar o PgSQL como base de um SIG baseado em ArcSDE/ArcGIS, debruçando-se sobre a instalação e tipo de conexões. Não é uma introdução ao PostgreSQL/PostGIS, e é assumido que o leitor tem algum conhecimento prévio ou que o irá obter noutra fonte&#8230; por exemplo aqui:</p>
<ul>
<li>Slideshow do Steven Citron-Pousty &#8211; <a title="slideshow de introdução ao PostGIS" href="http://www.slideshare.net/scitronpousty/using-post-gis-to-add-some-spatial-flavor-to-your-application?src=related_normal&amp;rel=986205" target="_blank">Using PostGIS To Add Some Spatial Flavor To Your Application</a></li>
<li>Artigos de introdução ao PostGIS do Boston GIS (Regina Obe) &#8211; <a title="artigos de introdução ao PostGIS do excelente Boston GIS" href="http://www.bostongis.com/?content_name=postgis_tut01#20" target="_blank">Part 1: Getting Started With PostGIS: An almost Idiot&#8217;s Guide</a></li>
<li>Workshop PostGIS do Fred Lehodey/Ricardo Sena, das 1as Jornadas SIG Aberto em Águeda &#8211; <a title="materiais do workshop das 1as SASIG" href="http://gfoss.sigaberto.org/?p=30" target="_blank">Workshops PostGIS</a></li>
</ul>
<h4>Instalação do ArcSDE+PostgreSQL+PostGIS</h4>
<p>O instalador do ArcSDE é muito simples, e até inclui o PostgreSQL. Mas se seguirmos o wizard de instalação do ArcSDE, não será instalado o PostGIS e o ArcSDE será instalado no seu modo default, com o seu próprio tipo espacial (coluna de geometria) e o seu próprio SQL espacial. Desta forma, só se consegue aceder aos dados geográficos com software ESRI.</p>
<p>Para instalar o ArcSDE de forma a que os dados sejam armazenados usando o tipo espacial do PostGIS é necessário desviarmo-nos um pouco do caminho seguido pelo wizard de instalação. Quando o wizard acaba de instalar o PostgreSQL, temos de parar, e instalar o PostGIS, antes de prosseguir com o wizard do ArcSDE. Tudo é bem explicado neste artigo da ESRI:</p>
<p><a title="Instruções da ESRI para instalar ArcSDE e PostGIS" href="http://support.esri.com/index.cfm?fa=knowledgebase.techarticles.articleShow&amp;d=35128" target="_blank">HowTo:  Install PostgreSQL 8.3.0, ArcSDE 9.3, and PostGIS 1.3.2 on Windows</a></p>
<p>No final da instalação ficamos assim com o PostgreSQL, o PostGIS, e o componente ArcSDE.</p>
<p>O componente ArcSDE cria uma base de dados no PostgreSQL, chamada &#8220;sde&#8221;, e um utilizador próprio chamado “sde”. É nesta bd que ficam as tabelas de sistema do ArcSDE e a suas próprias funções, triggers, etc.</p>
<p>O nosso servidor PostgreSQL fica também com a estrutura habitual do PostGIS, havendo uma bd denominada &#8220;postgis&#8221;. Nesta bd também são instalados objectos do ArcSDE, como tabelas de configuração da geodatabase que mantém registo dos objectos que são criados através de software ESRI e que compõem o modelo de dados da geodatabase.</p>
<p>Na instalação há um problema com privilégios &#8211; a instalação do ArcSDE pára porque não consegue escrever nas directorias do PostgreSQL (&#8221;lib&#8221; e &#8220;bin&#8221;). Para resolver basta usar o explorador do Windows para adicionar o privilégio de escrita nessas pastas ao nosso utilizador (que estamos a usar ao executar o instalador do ArcSDE). Se usarmos o utilizador “Administrator” o problema não surge.</p>
<p>Outra nota importante é que o PostgreSQL é instalado com as definições pré-definidas. Sucede que estas definições são à prova de equipamento pré-histórico&#8230; ou seja, o PostgreSQL instalado e sem alterações funciona até num Intel 486 com 256MB de memória. Mas claro que a performance não é a desejada e deve-se editar as configurações. Noutro artigo espero discutir um pouco as opções mais comuns a alterar.</p>
<p>A título de curiosidade, os valores default de configuração ocupam cerca de 60MB de memória (sem iniciar o serviço SDE e sem contar com o pg_ctl.exe).</p>
<h4>Tipo de Ligações ArcSDE</h4>
<p>Depois da instalação são criados 2 novos serviços no Windows: o usual do PgSQL, e um próprio do ArcSDE.</p>
<p>O serviço do ArcSDE é o gestor de conexões do ArcSDE. Ou seja, as aplicações da ESRI ligam-se a este serviço, que depois inicia as conexões à base de dados para cada aplicação. A ESRI designa este esquema conexões como “Application Server connections” ou de 3 camadas (<em>3-tier</em>). Cada utilizador de ArcGIS que se liga deste modo vai criar um processo no servidor chamado “gsrvr.exe”, que optimiza a comunicação dos dados entre a bd e o ArcGIS. Cada um destes processos ocupa entre 15MB e 100MB de memória, para além da memória ocupada pelo próprioPgSQL. Se houver 10 postos ArcGIS, serão lançados 10 processos destes no servidor, ocupando 150-1000MB de memória. Isto para além dos processos que o PgSQL irá criar por si.</p>
<p>Nos últimos anos, a ESRI tem vindo a incentivar o uso de outro tipo de conexões – conexões directas.</p>
<p>Nas conexões directas não é necessário usar o serviço ArcSDE, o  ArcGIS liga-se directamente à bd. Isto é possível porque o ArcGIS passou a incluir as dll’s do ArcSDE, e assim a memória que era ocupada no servidor passa a ser consumida no PC com o ArcGIS. O inconveniente é que estas conexões ocupam um pouco mais a rede, mas teoricamente não há impacto perceptível. Com as conexões directas apenas temos de contar com os processos do próprio PgSQL.</p>
<p>Naturalmente, desde que a rede não esteja congestionada, é preferível usar conexões directas. No entanto, o esquema de conexões 3-níveis permite separar o ArcSDE da bd, o que possibilita a utilização de <em>clusters</em>, beneficiando da distribuição de carga que este tipo de sistemas oferece.</p>
<h4>Conexões PgSQL</h4>
<p>O PgSQL quando inicia cria um conjunto de 6 processos em memória no servidor. Em Windows, todos estes processos se chamam “postgres.exe”. Um destes processos é o processo principal do servidor que mantém a cache de dados e outras informação que persistem entre conexões. A configuração do PgSQL influenciará principalmente este processo, que tanto pode ocupar 26MB como 500MB, ou mais.</p>
<p>Por cada cliente que se conecta (QGIS, gvSIG, &#8230;), o PgSQL cria mais 1 processo na memória do servidor, correspondendo a essa conexão (curiosamente, no caso do ArcGIS são sempre criados 2 processos postgres.exe). Este processo ocupará memória consoante as definições do PgSQL, dependendo fortemente do tipo de operações executadas pelo cliente. Assim, uma pesquisa simples consumirá pouca memória, mas a visualização de um layer com 120.000 registos já ocupará +200MB. O caso de maior carga que encontrei foram operações de carregamento de informação em massa ocupando 500MB de memória ou mais.</p>
<p>Confesso que não estou habituado a esta flutuação no consumo de memória. Ao usar Oracle, temos uma certa rigidez no consumo de memória, que orbitará em redor dos parâmetros determinados pelo gestor. Se o Oracle der sinal de necessitar de mais memória, é o gestor que tem de redefinir os parâmetros permitindo que o Oracle consuma mais memória.</p>
<p>No caso do PgSQL, a memória ocupada é também reflexo da configuração definida  pelo gestor, mas a variação da memória ocupada é muitíssimo maior. E varia por  cada utilizador que se liga, e pelas operações que irá efectuar. É um  dimensionamento mais difícil de manter dentro dos limites do servidor.</p>
<p>Suponho que é uma questão de habituação ao processo. Durante uma fase inicial  de implementação será necessário monitorizar de perto a utilização de memória no  servidor, e adaptar as configurações do PgSQL. Tal e qual como se passa com  outros servidores SGDB. Penso ainda regressar a este assunto, continuando esta série de artigos&#8230; até breve.</p>
<img src="http://feeds.feedburner.com/~r/ViaSIG/~4/DQpNT3uuZ9Y" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.viasig.com/2009/12/postgresql-e-esri-parte-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://blog.viasig.com/2009/12/postgresql-e-esri-parte-2/</feedburner:origLink></item>
		<item>
		<title>Cartografia inglesa gratuita</title>
		<link>http://feedproxy.google.com/~r/ViaSIG/~3/LEAKlU4nbpA/</link>
		<comments>http://blog.viasig.com/2009/11/cartografia-inglesa-gratuita/#comments</comments>
		<pubDate>Fri, 20 Nov 2009 11:06:01 +0000</pubDate>
		<dc:creator>duarte</dc:creator>
				<category><![CDATA[Dados]]></category>
		<category><![CDATA[Gestão]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[cartografia]]></category>
		<category><![CDATA[Ensaio]]></category>

		<guid isPermaLink="false">http://blog.viasig.com/?p=460</guid>
		<description><![CDATA[Pois é&#8230; o Ordnance Survey, autoridade nacional de cartografia inglesa, e produtora de vários produtos cartográficos, vai disponibilizar gratuitamente os seus produtos a partir da escala 1:10.000. Incluíndo para fins comerciais.
Esta decisão foi tomada pelo Governo Britânico e anunciada pelo 1º ministro britânico no dia 17 de Novembro de 2009. Aparentemente, foi muito impulsionada pelo [...]]]></description>
			<content:encoded><![CDATA[<p>Pois é&#8230; o Ordnance Survey, autoridade nacional de cartografia inglesa, e produtora de vários produtos cartográficos, vai disponibilizar gratuitamente os seus produtos a partir da escala 1:10.000. Incluíndo para fins comerciais.</p>
<p>Esta <a title="Anúncio do governo britânico" href="http://www.number10.gov.uk/Page21343" target="_blank">decisão</a> foi tomada pelo Governo Britânico e anunciada pelo 1º ministro britânico no dia 17 de Novembro de 2009. Aparentemente, foi muito impulsionada pelo &#8220;inventor&#8221; da web, <a title="Wikipedia sobre TBL" href="http://pt.wikipedia.org/wiki/Tim_Berners-Lee" target="_blank">Tim Berners-Lee</a>, que desempenha um papel de assessor para esta questão desde Junho de 2009.</p>
<p>A questão sobre se os dados cuja produção é financiada pelo Estado devem ou não ser gratuitos é antiga e muito apaixonada. Sempre que alguém refere esta questão desenvolvem-se sempre grandes discussões, e amizades de uma vida podem perder-se!! Na minha perspectiva, existem 2 campos: aqueles a favor da venda dos dados (geralmente pessoas associadas ao IGP ou a empresas de cartografia), e depois o grupo daqueles que são a favor da distribuição tendencialmente gratuita dos dados, constituído pelo restante da humanidade.</p>
<p>Até recentemente, havia o grande fosso Americano-Europeu que mostrava bem a aplicação das 2 políticas. Os EUA aplicam a regra em que se os dados são produzidos com dinheiros públicos então devem ser gratuitos. Na Europa, a regra seria a de que para manter uma elevada qualidade dos dados e para os manter actualizados de forma sustentável, é necessário cobrar, e bem, pelos dados mesmo que sejam produzidos com dinheiro dos impostos. Do ponto de vista europeu, os dados americanos são maus e não servem os grandes interesses do público. Pois, mas por cá continuo sem ter uma rede de estradas nacional em formato SIG como os EUA têm&#8230; (vide <a title="TIGER dataset" href="http://www.census.gov/geo/www/tiger/" target="_blank">TIGER</a>).</p>
<p>Sucede que este fosso está a desaparecer, num movimento lento mas que parece agora acelerar. A Espanha decidiu implementar em 2008 uma <a title="pdf com portaria do Ministério do Fomento" href="http://www.idee.es/resources/leyes/orden_fomento-port.pdf" target="_blank">política de difusão livre dos dados cartográficos do Instituto Geográfico Nacional</a> espanhol. Em Novembro deste ano a Noruega também abriu o acesso a produtos cartográficos, embora de uma forma limitada a fins não lucrativos e individuos. Agora, a OS, uma das mais conceituadas entidades estatais responsáveis pela cartografia, vê-se forçada a libertar grande parte dos seus dados. Foram efectivamente forçados, porque até agora a OS tem defendido energicamente a sua posição de comercializar os dados que produz, numa política de recuperação total ou quase total de custos.</p>
<p>O impacto desta decisão ao nível financeiro parece estar acautelado, já que a decisão foi co-apresentada pelo responsável britânico das Finanças! Até agora não se encontram dados claros sobre o custo desta decisão, mas <a title="artigo que reflecte sobre esta decisão" href="http://geothought.blogspot.com/2009/11/ordnance-survey-free-data-right.html" target="_blank">aparentemente</a> a maior parte das receitas da OS são obtidas dos dados a escalas maiores (1:2500 e 1:1250), produtos que por cá nem existem. As estimativas que encontrei são muito variadas, indo de 5 milhões a 50 milhões de libras em receitas perdidas. Mas a questão parece não ser grave, e as mesmas estimativas apontam para uma geração de receitas muito superior na sociedade civil.</p>
<p>Agora, e relativamente a Portugal, como estamos? Dados livres temos os limites administrativos, e algumas imagens de cartas à escala 1:500.000 ou pior. E ainda algumas cartas temáticas de interesse circunscrito a áreas específicas (Cartografia de Risco de Incêndio Florestal, Rede de Nacional de Estações Permanentes). No total, existem <a title="Catálogo de serviços WMS do IGP" href="http://mapas.igeo.pt/" target="_blank">8 serviços WMS disponibilizados pelo IGP</a>, e 3 deles são limites administrativos.</p>
<p>E dados pagos? Com qualidade e actualizados de forma sustentável? Onde andam? Mas mais importante, que receitas geram ao IGP? Que importância têm no orçamento do IGP? Será assim tão caro disponibilizar os ortofotomapas 1:10.000 de penúltima geração? E quanto custará (em receitas perdidas) disponibilizar alguma informação extraída da cartografia 1:10.000? E por fim, que tipo de actividade económica será gerada por esta disponibilidade de informação? Que receitas podem ser esperadas? Não serão maiores que os custos? Enfim, não será este o caminho a seguir?</p>
<p>Aguardemos o que o futuro nos trará. O presente parece cada vez melhor.</p>
<img src="http://feeds.feedburner.com/~r/ViaSIG/~4/LEAKlU4nbpA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.viasig.com/2009/11/cartografia-inglesa-gratuita/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://blog.viasig.com/2009/11/cartografia-inglesa-gratuita/</feedburner:origLink></item>
		<item>
		<title>Novo fornecedor de alojamento</title>
		<link>http://feedproxy.google.com/~r/ViaSIG/~3/73uCc9XHA7c/</link>
		<comments>http://blog.viasig.com/2009/11/novo-fornecedor-de-alojamento/#comments</comments>
		<pubDate>Thu, 19 Nov 2009 00:41:26 +0000</pubDate>
		<dc:creator>duarte</dc:creator>
				<category><![CDATA[Gestão]]></category>
		<category><![CDATA[PlanetaSIG]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[PostgreSQL]]></category>

		<guid isPermaLink="false">http://blog.viasig.com/?p=444</guid>
		<description><![CDATA[Espero que este seja o meu último post sobre alojamento de sites por muitos e bons anos!
Concluí a transferência do domínio viasig.com (blog e planetasig) para um novo fornecedor.  Já relatei aqui a razão que me levou a mudar da Esoterica para outro fornecedor e não desejo voltar a ter problemas deste género&#8230;
Mas acabou por [...]]]></description>
			<content:encoded><![CDATA[<p>Espero que este seja o meu último post sobre alojamento de sites por muitos e bons anos!</p>
<p>Concluí a transferência do domínio viasig.com (blog e planetasig) para um novo fornecedor.  Já relatei aqui a razão que me levou a mudar da Esoterica para outro fornecedor e não desejo voltar a ter problemas deste género&#8230;</p>
<p>Mas acabou por ser uma experiência positiva porque acabei por ficar melhor servido. Se não vejamos as condições do novo serviço:</p>
<div>
<table class="viasig" style="width: auto; margin-left: auto; margin-right: auto;" border="0" cellspacing="0">
<thead></thead>
<tbody>
<tr>
<td>Preço Anual</td>
<td>29,40€</td>
</tr>
<tr>
<td>Espaço em disco</td>
<td>1 GB</td>
</tr>
<tr>
<td>Tráfego</td>
<td>Ilimitado</td>
</tr>
<tr>
<td>Domínios</td>
<td>1</td>
</tr>
<tr>
<td>Subdomínios</td>
<td>Ilimitados</td>
</tr>
<tr>
<td>PHP</td>
<td>4 e 5</td>
</tr>
<tr>
<td>Python</td>
<td>2.4.3</td>
</tr>
<tr>
<td>Tomcat/JSP</td>
<td>ok</td>
</tr>
<tr>
<td>Ruby</td>
<td>ok</td>
</tr>
<tr>
<td>MySQL</td>
<td>5.0</td>
</tr>
<tr>
<td>PostgreSQL</td>
<td>8.1</td>
</tr>
<tr>
<td>Tarefas Agendadas</td>
<td>Cron</td>
</tr>
<tr>
<td>Acesso Shell</td>
<td>JailedShell</td>
</tr>
</tbody>
</table>
</div>
<p>Por um preço muito semelhante consigo mais 3 características a que não tinha acesso e que fazem uma grande diferença:</p>
<ol>
<li>Tarefas agendadas para controlar facilmente o refrescamento das entradas no Planeta SIG;</li>
<li>Acesso Shell para perceber os problemas com os scripts do Planeta SIG (<a title="Planet Venus source code" href="http://intertwingly.net/code/venus/" target="_blank">Planet Venus</a>);</li>
<li>e ainda&#8230; PostgreSQL!!</li>
</ol>
<p>Na verdade o meu novo fornecedor &#8211; <a title="novo fornecedor de alojamento" href="http://www.yourdotstore.com/techdomain/" target="_blank">Lefatech</a> &#8211; não inclui o acesso à shell de raíz neste pack. Mas bastou-me solicitar, justificando a necessidade, e o acesso foi configurado na hora. Em contraste, quando pedi à Esoterica para criar uma tarefa agendada informaram-me que teria de fazer um upgrade para um plano que custa 108€/ano!</p>
<p>Com este novo alojamento ainda ganho o suporte a PostgreSQL o que poderá ser útil se surgir a oportunidade de criar algum site com mapas dinâmicos. Faltará o módulo PostGIS, mas também faltava o módulo mod_python ao Apache, e foi compilado e configurado pelo suporte técnico em poucos dias. Por isso pode ser que se consiga o PostGIS se for necessário!</p>
<p>A transferência para o novo servidor ficou activada hoje, sem que eu notasse qualquer anomalia. Aproveitei para actualizar o Wordpress para a última versão (2.8.6). Se algum leitor notar algum problema por favor avise-me usando os comentários.</p>
<p>A propósito, o WP ganhou o <a title="2009 Open Source CMS Award" href="http://www.packtpub.com/award" target="_blank">prémio de melhor CMS Open Source de 2009</a>!</p>
<img src="http://feeds.feedburner.com/~r/ViaSIG/~4/73uCc9XHA7c" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.viasig.com/2009/11/novo-fornecedor-de-alojamento/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.viasig.com/2009/11/novo-fornecedor-de-alojamento/</feedburner:origLink></item>
		<item>
		<title>Pequeno problema com feeds do Planeta SIG</title>
		<link>http://feedproxy.google.com/~r/ViaSIG/~3/8rQNXVksLe4/</link>
		<comments>http://blog.viasig.com/2009/11/pequeno-problema-com-feeds-do-planeta-sig/#comments</comments>
		<pubDate>Mon, 16 Nov 2009 00:10:08 +0000</pubDate>
		<dc:creator>duarte</dc:creator>
				<category><![CDATA[PlanetaSIG]]></category>

		<guid isPermaLink="false">http://blog.viasig.com/?p=441</guid>
		<description><![CDATA[Enquanto tentava resolver o problema de executar python para refrescar os artigos no Planeta SIG, parece que acabei por baralhar os feeds, entre o Planeta SIG e o meu próprio blog&#8230; penso ter tudo resolvido, e ficam aqui as minhas desculpas pelo lapso.
Em breve mudarei o domíno viasig.com para uma nova empresa de hosting para [...]]]></description>
			<content:encoded><![CDATA[<p>Enquanto tentava resolver o problema de executar python para refrescar os artigos no Planeta SIG, parece que acabei por baralhar os feeds, entre o Planeta SIG e o meu próprio blog&#8230; penso ter tudo resolvido, e ficam aqui as minhas desculpas pelo lapso.</p>
<p>Em breve mudarei o domíno viasig.com para uma nova empresa de hosting para garantir que este tipo de problemas sejam mais fáceis de resolver!!</p>
<img src="http://feeds.feedburner.com/~r/ViaSIG/~4/8rQNXVksLe4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.viasig.com/2009/11/pequeno-problema-com-feeds-do-planeta-sig/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.viasig.com/2009/11/pequeno-problema-com-feeds-do-planeta-sig/</feedburner:origLink></item>
		<item>
		<title>SASIG II – Notas</title>
		<link>http://feedproxy.google.com/~r/ViaSIG/~3/0q1puM3-xfM/</link>
		<comments>http://blog.viasig.com/2009/11/sasig-ii-notas/#comments</comments>
		<pubDate>Mon, 09 Nov 2009 15:46:58 +0000</pubDate>
		<dc:creator>duarte</dc:creator>
				<category><![CDATA[Gestão]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[SIG]]></category>
		<category><![CDATA[sasig]]></category>

		<guid isPermaLink="false">http://blog.viasig.com/2009/11/sasig-ii-notas/</guid>
		<description><![CDATA[As 2ªs Jornadas de Software Aberto de Sistemas de Informação Geográfica terminaram, e pensei em escrever um pequeno post sobre o evento.
Em relação à organização, foi consensual – a qualidade do evento foi muito acima da média, mesmo comparando com eventos de muito maior dimensão. O espaço estava bem adaptado e equipado, e o evento [...]]]></description>
			<content:encoded><![CDATA[<p>As 2ªs Jornadas de Software Aberto de Sistemas de Informação Geográfica terminaram, e pensei em escrever um pequeno post sobre o evento.</p>
<p>Em relação à organização, foi consensual – a qualidade do evento foi muito acima da média, mesmo comparando com eventos de muito maior dimensão. O espaço estava bem adaptado e equipado, e o evento social (jantar) foi simplesmente fantástico.</p>
<p>Mas o que mais sobressaiu foi o espírito que se viveu na conferência. Falando com várias pessoas, todas apontavam este sentimento de partilha, entre-ajuda, e camaradagem, como algo de especial, que não se vê noutros congressos. Por isso, aconselho vivamente a quem se interesse pela área dos SIG que assista às próximas SASIG em 2010, que serão em Lisboa (temos de aguardar por mais detalhes).</p>
<h4>Convidados</h4>
<p>O facto de termos presentes alguns convidados de fora, envolvidos em projectos de grande projecção, também ajudou e muito a elevar o nível de interesse. Estiveram presentes e fizeram apresentações responsáveis dos projectos World Wind (da NASA), do gvSIG, do Sextante. Também foi muito interessante ouvir as experiências e opiniões de pessoas envolvidas no desenvolvimento de comunidades noutros países, havendo representantes da própria OSGeo internacional, e dos capítulos locais Italiano e Espanhol.</p>
<h4>Comunicações</h4>
<p>Quanto às apresentações, foi apresentado um bom painel de assuntos, muito abrangente. Das apresentações que vi, apreciei muito 2 apresentações de mestrandos, com excelente nível técnico, o que comprova a qualidade do nosso ensino e dos nossos estudantes. Precisamos de mais casos assim, e pessoalmente gostaria de ver mais comunicações universitárias com tão elevado grau de exigência.</p>
<p>Todas as comunicações estão já disponíveis para download (84MB), e parece que teremos o video também em breve:</p>
<p><a title="Apresentações das II SASIG Évora" href="http://evora.sigaberto.org/downloads/apresentacoes.zip">http://evora.sigaberto.org/downloads/apresentacoes.zip</a></p>
<p>Uma apresentação que me chamou a atenção em especial foi a do Sapo Mapas. Este site de mapas aparentemente fez tudo bem: tem cartografia temática de grande qualidade, com uma quantidade impressionante de pontos de interesse (200 mil agora, para breve 600 mil), pesquisa de códigos postais 7 dígitos, itinerários, “trânsito em directo”, fotografias panorâmicas, e ainda uma API que qualquer pessoa e empresa pode usar para incluir mapas no seu próprio site, e totalmente gratuita, mesmo em caso de sites com fins comerciais. A continuar assim, esta é uma grande novidade em Portugal, e penso que o é mesmo a nível mundial. Não conheço outra API que tenha uma licença tão livre, ficando Portugal mais bem servido que todos os outros países. É claro que fica o receio da PT alterar o licenciamento e ficarmos com o nosso site ilegalizado, mas para já o facto é que é gratuita.</p>
<p>A API é muito semelhante à do OpenLayers, pelo que será muito familiar a quem conhece. No site do Sapo Mapas há <a title="Site da API do Sapo Mapas" href="http://mapas.sapo.pt/api/" target="_blank">documentação e exemplos</a> para quem quiser aventurar-se. Mas acho algo penoso que tenham reinventado a API do OpenLayers – podiam ter usado o original.</p>
<h4>Workshops</h4>
<p>Foram realizados diversos worshops, ou sessões práticas de 3-4h, sobre diversos programas: gvSIG, OpenLayers, PostgreSQL/PostGIS, Quantum GIS, World Wind, Linux, Sextante, GISVM, e MapServer.</p>
<p>Pretende-se publicar online os materiais de cada workshop (dados e slides), mas para já temos a possibilidade de obter um zip dos dados de cada workshop no site das jornadas aqui:</p>
<p><a title="Página com ficheiros de dados dos workshops das II SASIG" href="http://evora.sigaberto.org/?q=node/85" target="_blank">http://evora.sigaberto.org/?q=node/85</a></p>
<p>Uma iniciativa que achei interessante foi a de ter sido criada uma distribuição Linux própria para estes workshops, com todo o software pré-instalado. Poderão ter de ainda copiar os dados dos workshops, mas de resto está tudo lá. Podem obter esta distribuição no mesmo link dos workshops.</p>
<p>Se gravarem o ficheiro (iso ou img) para uma pen usb ou para um DVD, podem ligar o computador a partir destes suportes, ficando com uma máquina Linux funcional, sem necessitar de mais instalações de software. Também se quiserem, podem converter estes ficheiros numa máquina virtual, que pode ser usada mesmo em Windows, novamente sem instalações de software (a não ser, claro, o software para utilização de máquinas virtuais – por exemplo o <a title="Download de binários para Windows do Virtual Box Open Source Edition" href="http://vboxwin32.sourceforge.net" target="_blank">Virtual Box OSE</a>).</p>
<p>Para breve está prometido um local para descarga dos materiais incluindo os slides.</p>
<img src="http://feeds.feedburner.com/~r/ViaSIG/~4/0q1puM3-xfM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.viasig.com/2009/11/sasig-ii-notas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.viasig.com/2009/11/sasig-ii-notas/</feedburner:origLink></item>
	</channel>
</rss>
