quarta-feira, 23 de março de 2011

Toponímia de Portugal

Geonames.org é um repositório online de dados toponímicos gratuítos ao abrigo da licença Creative Commons Attribution 3.0. A partir deste repositório podemos descarregar, em formato .txt, a informação toponímica de um dado país. Neste post farei uma demonstração daquela que me parece ser a forma mais simples de transformar estes dados em informação geográfica vectorial.

sexta-feira, 18 de março de 2011

GPS Babel (Google Earth para GPS e viceversa)

A oferta de receptores GPS actualmente disponível é imensa - há para todas as necessidades e para quase todas as carteiras. No entanto isto origina um problema  (em grande parte criado pelo apego dos fabricantes aos formatos de ficheiro proprietários ou fechados) na hora de enviar e receber ficheiros do GPS para o computador e/ou entre receptores de GPS. 

Esta tarefa, teoricamente simples, é dificultada pelo simples facto de cada fabricante GPS ter os seus formatos e, na maioria das vezes, se não tivermos instalado no nosso PC o software desse fabricante não podemos simplesmente retirar a informação do receptor e guardá-la numa directoria no nosso PC.

Suponhamos, por exemplo, que um amigo vos empresta um GPS. Ao longo do dia fazem as vossas medições e, no final do dia, querem descarregar os dados para os visualizar, por exemplo, no Google Earth (GE). Com o software GPS Babel, um projecto open source desenvolvido desde 2002, apenas necessitarão de um cabo USB!

O programa funciona numa lógica de input/output. Neste exemplo, o GPS é um Garmin da série ETreX - será o nosso input  (dados de entrada). O output (dados de saída) será um ficheiro do tipo KML (para podermos abrir com o Google Earth). Após esta operação basta abrirmos o ficheiro criado com o Google Earth para visualizar os nossos dados.

 
O contrário também é possível. Podemos criar trajectos no Google Earth (por exemplo um percurso de uma caminhada), ou pontos de interesse, (por exemplo moínhos, ruínas, manchas "suspeitas"), guardar no formato KML, e depois utilizar o GPS Babel para enviar para o nosso GPS ou, como é o caso na imagem abaixo, converter KML para GDB (formato da Garmin), para editar/visualizar no software da Garmin e/ou enviar para o receptor.

Nota Importante: no caso da conversão KML para GDB (ou possivelmente para outros formatos), a conversão não preserva o nome das geometrias. Por exemplo temos um KML com dois pontos que quando os criámos no GE demos o nome de "ruinas" e "quinta". Depois de convertido para GDB, os pontos assumirão o nome "Waypoint1" e "Waypoint2". Isto obriga a que, depois de feita a conversão, se editem os nomes manualmente caso queiramos que os nomes originais apareçam na hora de utilizarmos o receptor GPS em campo.

domingo, 13 de março de 2011

Melhorar a precisão das medições GPS em tempo real - 3

O último deste ciclo de posts dedicados à precisão de medições GPS com aparelhos de gama baixa tratará  de alguns conselhos práticos relativos ao acto da recolha em si. Pressupondo que os cuidados descritos anteriormente foram tidos, há que saber tirar partido deles no momento em que temos o aparelho na mão.

O primeiro cuidado, e o mais importante, diz respeito ao tempo que se deve dar ao receptor para aferir a coordenada de um ponto. Uma vez chegados ao ponto que pretendemos registar devemos estabilizar o aparelho na mesma posição e orientação durante pelo menos 30 segundos. Durante esses 30 segundos o receptor irá aferir a coordenada várias vezes e a coordenada final que ficará registada resulta das várias medições efectuadas ao longo desses 30 segundos. Consequentemente quanto mais tempo dermos ao aparelho para fazer medições mais precisa será a coordenada final. Em zonas urbanas de malha estreita, florestas ou em falésias/desfiladeiros, aconselho pelo menos 1 minuto - ou mais se tiverem tempo e paciência.

Este princípio também é válido se quiseremos registar áreas - por exemplo manchas de dispersão de materiais arqueológicos. Uma vez que a maioria dos GPS de gama baixa não permite o registo directo de polígonos, a solução será registar os vértices do polígono como pontos e posteriormente - em ambiente SIG  - construir um polígono a partir desses pontos de vértice. Para tal deverão primeiro fazer uma avaliação prévia da forma do polígono de modo a que abranja a área que querem registar, e ficar 30s parados em cada vértice do vosso polígono.


Finalmente há que ter em conta o posicionamento do receptor. No momento de registo de pontos o aparelho  não deve estar encostado ao corpo do utilizador e deve estar num angulo de 45º. A antena (normalmente no parte superior do aparelho) deve estar desobstruída e devemos posicionar-nos de modo a garantir uma abóboda celeste o mais desimpedida possível - por exemplo, se, virados para Norte tivermos uma parede, devemos virar-nos para outra direcção cardeal que esteja mais desafogada.


Estas recomendações ergonómicas - sugeridas pelos fabricantes, têm em vista reduzir ao mínimo possível as distorções de reflectância dos sinais rádio emitidos pelo GPS - o corpo humano ,  à semelhança de outros objectos, é um potencial distorcedor de sinais rádio.

quinta-feira, 10 de março de 2011

Melhorar a precisão das medições GPS em tempo real - 2


Independentemente de termos ou não acesso às correcções diferenciais (DGPS) - mas especialmente se o nosso receptor GPS não trabalhar com nenhum tipo de correcção - podemos potenciar a precisão das nossas medições se optarmos pelas alturas do dia em que temos mais satélites visíveis e em que a geometria dos mesmos é favorável.

O índice DOP - Dilution of Precision, indica qual a geometria dos satélites - quanto mais afastados estiverem os satélites uns dos outros no momento da medição, mais precisa será a a triangulação e consequentemente as nossas medições. Se os satélites estiverem próximos uns dos outros a triangulação poderá não ser tão precisa e consequentemente as nossas medições poderão não ser fiáveis. Sintetizando: um índice DOP até 3 é o ideal - dá garantias de boa precisão, até 8/9 poderá ser aceitável e acima disso o melhor é repetir as medições noutra altura porque potencia uma perda de precisão considerável.

Para não corremos o risco de "repetir as medições noutra altura" - situação particularmente desagradável se pensarmos em zonas de dificil acesso ou terrenos dificeis - o ideal é planear o trabalho de campo de forma ir para o terreno nas horas em que teremos mais satélites visíveis e uma geometria mais favorável. Para sabermos qual a altura ideal para ir recolher dados sugiro o software Planning da Trimble. Esta aplicação permite criar uma "estação", ou seja o ponto onde iremos trabalhar, e, a partir daí, calcula a altura mais favorável. Deixo aqui um exemplo:

1 - Após descarregar e instalar o programa, há que descarregar também o almanaque actualizado com as órbitras dos satélites GPS pois só assim o software poderá calcular as horas mais favoráveis. Em http://www.trimble.com/gpsdataresources.shtml faça salvar como/save as o item GPS/GLONASS alamanac in Trimble Planning file format e certifique-se que o ficheiro fica gravado com a extensão .alm;

2 - Vá a Almanaque -->  Carregar (irá perguntar se deseja fechar o actual almanaque - confirme)
e seleccione o ficheiro de almanaque. Deverá aparecer uma janela semelhante a esta:



3 - Vamos a Ficheiro --> Estação e vamos criar a estação - ou seja a zona onde pretendemos levar a cabo as nossas missões. Para o presente exemplo usei os seguintes dados:

  • Latitude e Longitude - coordenadas de Torres Vedras (tiradas a partir do GoogleEarth por exemplo)
  • Altitude - altitude média da zona de trabalho (estimativa)
  • Elevação - 10º (o software irá ignorar todos os satélites que se elevem a menos de 10º no horizonte - quanto mais razante à linha do horizonte estiver um determinado satélite mais propícios estarão os sinais desse satélite a sofrer distorções)
  • Tempo - defino o dia e as horas em que tenho disponibilidade para ir para o terreno (neste caso o dia 15 de Março de 2011 das 10 às 18h). 

Finalmente certifico-me que o fuso horário é o da minha área de trabalho e clico em Ok para criar a minha estação.


4 - Agora é só ir a Gráficos --> Número de Satélites (para obter o gráfico com as horas em que mais satélites estarão visíveis) e a Gráficos --> DOP --> DOP - Posição (para obter o gráfico com as horas em que terei a geometria mais favorável ;


Com base nestes dois gráficos podemos ter mais garantias de uma boa qualidade das nossas medições GPS. Assim, a melhor hora será entre as 11:30 e as 13:30 - é quando temos mais satélites visíveis e o melhor índice DOP. Relativamente ao índice DOP, o dia 15 de Março é bastante favorável - apenas por volta das 17H é que o índice DOP é superior a 3, pelo que devemos evitar medições por volta desta hora -  não tanto pelo índice DOP mas porque é a altura em que há menos satélites disponíveis.

Este exemplo que aqui trouxe apenas deve ser seguido se a precisão for realmente um desiderarto do vosso trabalho/projecto. Se margens de erro superiores a 4m forem algo aceitávels para os vossos objectivos poderão dispensar-se ao trabalho de fazer este planeamento. Mas pelo contrário se a precisão for importante então é de todo recomendável fazerem-no.

Notas Finais: Este software não faz cálculos para o sistema EGNOS; se o cáclculo da cota/altitude for importante talvez seja aconselhável considerar o gráfico DOP - Vertical (embora para o caso das altitudes o melhor será derivá-las a partir dos pontos projectados sobre uma carta topográfica).

quarta-feira, 9 de março de 2011

Melhorar a precisão das medições GPS em tempo real - 1

A democratização que a tecnologia GPS conheceu nos úiltimos anos tornou os receptores GPS um equipamento acessível - por 200€ já é possível adquirir aparelhos que servem para a maioria das necessidades dos utilizadores. Os próximos posts abordarão formas de melhorar a precisão utilizando equipamentos de gama baixa.

As medições em tempo real devem seguir alguns cuidados de forma a garantir margens de erro aceitáveis (menos de 3m). As medições em tempo de real de objectos (árvores, sítios arqueológicos, sítios de interesse, áreas, etc) podem acarretar margens de erro muito grandes se algumas das origens de erro não forem atenuadas.

O sistema GPS assenta num princípio muito simples: o receptor GPS mede o tempo que os sinais de rádio emitidos pelos satélites levam a chegar ao receptor e a partir dai, por triangulação, calcula a posição do receptor. O problema é que os sinais de rádio podem sofrer distorções ao atravessar a atmosfera terrestre e, se estiveremos a trabalhar em zonas urbanas, no fundo de vales  apertados/desfiladeiros ou em meio florestal estaremos ainda sujeitos aos erros de reflectância - os sinais de rádio chegam em "segunda mão" ao receptor porque fazem "ricochete" nos objectos mais próximos.

A primeira coisa que temos de fazer para diminuir a margem de erro provocada por estes fenómenos é garantir acesso a um sistema de correcção diferencial ou DGPS. Há vários tipos de correcção diferencial, mas todos eles se passam pelo envio de um segundo sinal a partir do qual o receptor GPS calibra as medições dos sinais enviados pelos satélites GPS.


O sistema DGPS mais fácil de usar e mais comum é o SBAS -Satellite-based augmentation system que para o continente europeu está implementado através da rede EGNOS - European Geostationary Navigation Overlay Service. Em condições ideais permite medições com margens de erro inferior a 2m.

Quase todos os receptores de GPS de mão ou de "trecking" trabalham automaticamente com correcções diferenciais SBAS - se procura precisão, esta é uma característrica indispensável que importa assegurar na hora de comprar um GPS. Contudo é fundamental informar-se junto do fornecedor se o aparelho trabalha com correcções EGNOS ou apenas WAAS -Wide Area Augmentation System - que também é um sistema SBAS tal como o EGNOS, mas pensado para a América do Norte, pelo que não tratá vantagens a um utilizador europeu.

Há ainda mais dois aspectos que importa considerar se quereremos assegurar o máximo de precisão com um equipamento de gama baixa - a geometria dos satélites  (índices DOP) e o número de satélites visíveis - tema do próximo post.

terça-feira, 8 de março de 2011

Criar Polígonos a partir de pontos com o QGIS

Quem já utilizou ou utiliza frequentemente um GPS de mão ou de trecking, certamente já reparou que o aparelho permite registar pontos e linhas/trajectos mas não áreas. Podemos registar o ponto central do que geometricamente falando seria um polígono - uma clareira, ruinas dispersas, conjunto de árvores, etc, mas não podemos desenhar directamente o polígono.

Há uma forma de ultrapassar esta limitação. Basta que registemos todos os vértices do que será o nosso polígono como pontos, atribuindo a cada ponto  um nome que permite mais tarde distingui-los como vértices do polígono - por exemplo vertice1; vertice2; etc...

Descarregamos o ficheiro para o computador e guardamos no formato gpx. (formato vectorial universal para ficheiros de GPS). Depois abrimos esse ficheiro .gpx com o QGIS a partir do botão Add Vector Layer. Um ficheiro .gpx contem uma série de entidades geometricamente diferentes e surgirá um quadro a perguntar quais dessas entidades queremos acrescentar. Os nossos pontos estão armazenadas na entidade "Waypoints" e bastará essa informação para construir um polígono.


Vamos agora construir o nosso polígono a partir dos pontos. Vamos a Plugins --> Fetch Python Plugins, no separador Repositories clicamos em Add 3rd party repositories de seguida vamos ao separador Plugins e procuramos e instalamos o plugin "Points2One". Este plugin permite construir polígonos a partir de pontos. Um novo botão é adicionado à barra de ferramentas do Qgis - basta confirmar quais os dados de entrada (o layer pontos) e designar um nome para o polígono de saída que será sempre um shapefile. No final da operação basta confirmar que desejamos adicionar o polígono ao TOC (Table of contents) 

  
Uma vez obtido o polígono podemos, por exemplo, clicar com o botão direito no layer do polígono, escolher Save As e guardar o polígono no formato .kml e visualizar o polígono no Google Earth se assim o desejarmos, ou guardar em qualquer outro formato. Não poderemos voltar a gravar em formato .gpx porque este formato não suporta geometrias do tipo polígono.

Nota importante: esta ferramenta constrói o polígono a partir da ordem em que os pontos foram registados, por isso há que seguir uma ordem quando estamos no terreno a registar o polígono, e respeitá-la. Por exemplo não podemos registar vértices no sentido dos ponteiros do relógio e depois invertermos o sentido para registar outro ponto que nos esquecemos. Se o fizermos o polígono construído sairá recortado e topologicamente incoerente.

sexta-feira, 4 de março de 2011

Google Earth: Identificar zonas ou habitats com base na altitude

Uma das funcionalidades SIG muito apreciadas por investigadores de várias áreas é a identificação de zonas de estudo ou zonas sensíveis com base em determinados critérios. Quando o critério se resume à altitude - determinada espécie só ocorre acima dos Xm de altitude, determinado período de ocupação humana priviligia zonas abaixo dos Xm - o Google Earth poderá ser suficiente e dispensa-nos de recorrer a software SIG mais complexo. Consideremos uma dada zona com, digamos, 50km2. Nessa zona só nos interessam as áreas que se situem acima dos 250m.

1º - Vamos a Adicionar/Add--> Poligono/Polygon e desenhamos um rectângulo que abranja a área em Estudo

2º - Vamos ao separador Estilo, Cor/Style, Color e escolhemos a cor que nos aprouver (neste caso o preto)

3º No separador altitude/altitude selecionamos a opção absoluto/absolut e definimos a altitude absoluta que queremos considerar. Todas as Zonas situadas abaixo dos 250m estão agora cobertas por um manto negro. 


Caso apenas nos interessassem as zonas abaixo dos 250m bastaria alterar a simbologia do polígono aplicando-lhe uma transparência por exemplo. Este tipo de exercício é uma forma muito rápida e simples de identificar zonas inundáveis, obstáculos para a migração de aves ou, como foi o caso, zonas de Habitat.

Finalmente há que ter em conta que as altitudes indicadas pelo GE não tem como referência o mareágrafo de cascais pelo que poderão não ser as mais correctas. No entanto se 10 a 20m de erro for uma margem de erro aceitável poderão apoiar-se neste tipo de exercício.

3D com Google Earth

O Google Earth é uma ferramenta fantástica que, mesmo, na sua versão gratuita é um excelente visualizador de dados - um tema que será explorado muitas vezes. Por vezes os utilizadores do GE queixam-se que o relevo não é representado realisticamente, ou que não permite uma boa leitura das variações do terreno. A imagem seguinte representaa baixa de Lisboa:



À esquerda temos o Bairro Alto e à direita o Castelo de S. Jorge, separados pela Baixa/Terreiro do Paço. Embora seja perceptível que a Baixa é uma zona de vale, podemos ter interesse em salientar as colinas que a rodeiam. Para tal basta ir a Ferramentas/Tools --> Opções/Options e no separador "Visualização 3D/3D Visualization" modificar o índice de exagero de elevação/vertical exaggeration e modificar o índice que vem por default (normalmente 0,5)  para 3 e obtemos uma leitura mais evidente da morfologia da zona:


Esta técnica pode ser especialmente útil se quisermos realçar acidentes topográficos em zonas de planícies onde há poucas dezenas de metros de diferença de altitude entre os objectos.

Finalmente há que ter em conta que nas versões mais antigas do GE (5.x) é necessário activar a camada/layer de terreno/terrain, caso contrário o GE apenas trabalhará em 2D.

Ciclo de formações em software open source

Para iniciar as hostilidades nada melhor que um convite para as formações em software open source promovidas pela Faunalia.pt - especialistas em software aberto para sistemas de informação geográfica. Irão decorrer em Torres Vedras entre Março e Maio de 2011. Tendo sido um frequentador dos cursos promovidos pela Faunalia, recomendo vivamente!