domingo, 4 de dezembro de 2011

Interpoladores I - QGIS Interpolation Plugin (TIN e IDW)

Um dos plugins mais interessantes que o Quantum GIS (QGIS) dispobibiliza é o plugin Interpolation, desenvolvido por Marco Hugentobler. Este plugin permite criar um modelo digital de elevação (MDE - um mapa em que o valor de cada célula representa a altitude do terreno) a partir de valores de altitude (Z) que podem estar contidos numa camada vectorial (layer) de pontos ou de linhas. Os valores das células são obtidos a partir de um de dois interpoladores que a ferramenta disponibiliza: TIN (Triangular Irregular Network) e IDW (Inverse Distance Weighting).

Embora o plugin seja extremamente fácil de usar, o modo de tirar o melhor partido possível desta ferramenta é altamente condicionado pelo tipo de paisagem que se está a modelar. Este post é um estudo comparativo dos resultados altimétricos obtidos por interpolação para dois tipos básicos de terreno: acidentado/falésia e aplanado/colinas. 

Objectivos e Metodologia

O objectivo deste estudo é comparar os valores obtidos pela interpolação com os valores supostamente reais de altitude. Este comparativo nasceu da necessidade que senti de avaliar a fiabilidade dos modelos de risco paleontológico que desenvolvi para a ALT - Sociedade de História Natural. Estes modelos têm como elemento chave o declive (slope), que é calculado com base num MDE que é precisamente o que o plugin Interpolation permite fazer.


Na impossibilidade de verificar os resultados no terreno com uma estação total, optei por  basear este estudo em mapas topográficos de grande escala. Os testes foram feitos com base em excertos do Plano de Ordenamento da Orla Costeira (POOC) disponibilizado pelo Instituto da Água à escala 1:2000, com curvas de nível/isolinhas com uma equidistância de 2m.

Depois de devidamente georeferenciados (Datum Lisboa Militar - EPSG:20790), foram selecionadas duas zonas cada uma com 30.0000m2 (100x300m) - numa dessas zonas predominam as falésias e noutra há uma maior incidência de colinas aplanadas. 


Seguidamente foram vectorizadas todas as curvas de nível. Estas curvas foram divididas em dois conjuntos - curvas de nível para interpolação e curvas de nível de teste. Todas estas curvas de nível foram depois utilizadas para derivar pontos, com base no atributo Z, que distam no máximo 2m entre si. A partir dos pontos derivados do conjunto de curvas de nível para interpolação, e para os dois tipos de paisagem, foram testadas as seguintes configurações de interpolação, sempre com uma resolução de célula de 0,33x0,33m: 

 - TIN Linear (a partir dos pontos extraídos das curvas de nível)
 - TIN Linear (a partir dos pontos extraídos das curvas de nível - modo structured lines
 - TIN Linear (a partir dos pontos extraídos das curvas de nível - modo break lines)
 - TIN Clough-Toucher ou cúbica (a partir dos pontos extraídos das curvas de nível) 
 - TIN Clough-Toucher ou cúbica (a partir dos pontos extraídos das curvas de nível - modo stuctured lines
 - TIN Clough-Toucher ou cúbica (a partir dos pontos extraídos das curvas de nível - modo break lines
 - IDW Coeficiente 1 (a partir dos pontos extraídos das curvas de nível) 
 - IDW Coeficiente 2 (a partir dos pontos extraídos das curvas de nível)
 - IDW Coeficiente 4 (a partir dos pontos extraídos das curvas de nível) 
 - IDW Coeficiente 6 (a partir dos pontos extraídos das curvas de nível)  
 
(Não será abordada a natureza técnico-teórica de cada um destes interpoladores. Quem quiser aprofundar o assunto sugiro a leitura da dissertação de Marco Hugentobler, disponível aqui)

Os pontos derivados a partir do conjunto de curvas de nível de teste serviram para avaliar o grau de exactidão da interpolação - por outras palavras, comparar o valor do ponto (i.e. 24m) com o valor indicado pelo pixel resultante da interpolação (25,172m) e quantificar a discrepância.

Esta quantificação foi precedida de uma comparação visual entre as curvas de nível originais e curvas de nível obtidas a partir dos vários MDE. Apenas se procedeu à quantificação nos casos em que há uma nítida proximidade entre as duas linhas. Confuso? Talvez o esquema ajude:

A última fase do teste consiste em repetir a metodologia acima apresentada mas desta vez com base num  mapa com uma escala mais pequena - 1:25.000 e com curvas de nivel com equidistancia de 10m. Uma vez que a escala é mais pequena, a distância mínima entre os pontos derivados a partir das curvas de nível e a resolução são também maiores (10 e 4,12m respectivamente). Nesta segunda experiência apenas foram testadas as duas melhores configurações  de interpolação (segundo o primeiro teste) para cada um  dos tipos de paisagem serão experimentadas.

Operações

Para obter os dados necessários foram utilizadas as seguintes ferramentas:
  • GDAL Georeferencer - georeferenciação dos rasters com as curvas de nível;
  • GRASS v.to.points - módulo do  que permite extrair pontos com base numa distância máxima entre os pontos;
  • QGIS Interpolation Plugin - para obter os MDE; 
  • GDAL contour - gera curvas de nível a partir dos valores de célula de um raster (neste caso dos MDE gerador pelo Interpolation Plugin). Estas curvas de nível serviram para comparação visual com as originais, vectorizadas a partir do raster do POOC;
  • QGIS Point Sampling Tool - extrai, para a tabela de atributos de um tema de pontos, os valores de célula dos rasters que ocupem a mesma área dos pontos. O resultado é guardado como um novo Shapefile de pontos; 
  • OPEN OFFICE Calc - operações de quantificação a partir do ficheiro .dbf do shapefile de pontos resultante das operações com Point Sampling Tool
Resultados

Para ambos os tipos de paisagem, com uma resolução de 0,33m, a interpolação TIN obteve resultados consideravelmente melhores que a interpolação IDW. No caso das colinas, a interpolação IDW com um coeficiente de 6 obteve valores de exactidão razoáveis mas ainda assim longe dos alcançados pelos outros interpoladores.

No caso da paisagem mais suave - as colinas aplanadas - os três interpoladores que após análise visual justificaram uma análise quantitativa foram os interpoladores TIN Cubic (modo Break e Structured Lines) e IDW com um coeficiente de 6. A interpolação TIN Cubic nas variantes Break e Structured Lines obteve resultados muito próximos um erro médio de 0,64 e 0,60m por por ponto, respectivamente (uma diferença de precisão de apenas 6,25%):


Já no caso das falésias os dois melhores interpoladores foram igualmente TIN na variante Linear e Cubic  em modo Break Lines. A análise quantitativa revelou que o melhor interpolador é o TIN Cubic em modo Break Lines, que revelou ser 21,5% mais preciso com um erro médio de 0,11m por ponto, enqaunto que TIN Linear registou um erro médio de 0,14m por ponto:

Tal como referi anteriormente, para verificar a consistência destes resultados repetiu-se toda a metodologia  utilizando os dois melhores interpoladores mas desta vez sobre uma área maior, com uma equidistância maior entre os pontos e com uma resolução de célula consideravelmente mais alta - 4,12m.

Para a paisagem do tipo colinas, O interpolador TIN Cubic modo Structured Lines continuou a ter resultados ligeiramente melhores - 15,4% mais preciso - que TIN Cubic modo Break Lines:


Já no caso das falésias, o interpolador TIN Cubic modo Break Lines continua a obter melhores resultados que TIN Linear, mas a diferença de precisão entre os dois interpoladores aumentou bastante - a diminuição da resolução e o aumento da equidistância entre os pontos afectou consideravelmente a precisão do interpolador TIN Linear que se revelou 75,6% menos preciso que TIN Cubic modo Break Lines - 2,58 e 0,89m respectivamente:


Análise

Estes resultados indicam que a interpolação TIN Cubic modo Structured Lines é o interpolador mais fiável para obter um MDE de uma zona sem grandes acidentes topográficos.

Já a interpolação TIN Cubic modo Break Lines é a que obtem melhores resultados em zonas de relevo agreste como vales estreitos, ravinas e falésia - fiabilidade que parece ser constante mesmo com resoluções mais baixas.

Contudo há que ter em conta que estes resultados, especialmente os que dizem respeito à interpolação IDW, foram altamente condicionados pelo tipo de dados de entrada - curvas de nível. Se os nossos dados de entrada forem um conjunto de pontos cotados, os resultados da interpolação IDW poderá ser melhor, como veremos no próximo teste.

Estes resultados podem ser considerados válidos se partirem das mesmas permissas deste estudo: informação de Z retirada a partir de curvas de nível e consequentemente os pontos que estiveram na base da interpolação distribuiem-se ao longo de linhas paralelas entre si e não de forma "aleatória" como aconteceria com uma nuvem de pontos cotados. Se a informação Z provier de pontes cotados, a interpolação IDW apresentará resultados mais interessantes como veremos no proximo post.

2 comentários:

  1. Olá,me chamo Guilherme Carneiro sou Técnico em Mineração, e gostaria de saber em qual software se consegue obter este gráficos mostrados acima.

    --Guilherme Carneiro
    - técnico em mineração
    - email:Guilhermemineracao.ifg@gmail.com

    ResponderEliminar
  2. Olá Guilherme. Esses gráficos a que se refere são obtidos através do Interpolation Plugin disponibilizado pelo Quantum GIS - com é referido mais que uma vez. No entanto poderá obter resultados muito melhores através de GDAL. Veja aqui por exemplo: http://linfiniti.com/2011/12/creating-coloured-rasters-with-gdal/

    ResponderEliminar