Algoritmo de ponto de amostra de perfil de elevação

10

Ao gerar um perfil de elevação, devem ser coletadas amostras da varredura subjacente. Se o objetivo é criar um perfil de qualidade máxima, como devem ser determinadas as localizações dos pontos de amostra? Que abordagem deve ser adotada para interpolar esses pontos de amostra?

Matthew Snape
fonte

Respostas:

6

Se você deseja criar um perfil de qualidade máxima , seu algoritmo deve incluir basicamente cada célula que é interceptada pelo caminho da consulta e, em seguida, torna-se um simples problema de ajuste de curva 2D . No entanto, se você quiser apenas provar um subconjunto desses pontos e criar um perfil que seja mais agradável visualmente, você pode achar que este documento da geocomputação tem muitas técnicas de interpolação diferentes para amostragem de elevação, bem como a matemática por trás disso.

Ragi Yaser Burhum
fonte
7

Um perfil de elevação calcula a interseção de duas superfícies . Uma delas é uma folha vertical determinada por um caminho. (Ou seja, consiste em todas as coordenadas (x, y, z) onde (x, y) está no caminho e z é qualquer número.) A outra é a superfície representada pelo DEM raster. Como tal, equivale a encontrar os valores z acima dos pontos na curva. Isso o torna idêntico ao problema de interpolar valores da varredura. Em particular, embora partilha muitas características do problema unidimensional simples de ajuste de uma curva de (distância, altitude), de dados, que é nãoa mesma situação. A visualização como tal provavelmente produzirá perfis de elevação subótimos, porque você não terá aproveitado as informações na extensão 2D completa dos dados de varredura em ambos os lados da curva.

Evidentemente, todas as considerações relacionadas às superfícies de interpolação são relevantes aqui . Existem muitos métodos concorrentes, cada um com vantagens e desvantagens, cada um apropriado para usos variados e cada um com sua própria "qualidade". Eles incluem (mas não estão limitados a):

Todos esses são algoritmos para estimar um valor z (x, y) dos dados, em um local arbitrário (x, y) que não é necessariamente coincidente com nenhum ponto de dados. É assim que um conjunto de dados raster é desenhado , a propósito: para determinar a cor em um pixel específico (u, v) na tela ou no papel (o mapa), as coordenadas mundiais (x, y) do pixel são computadas, o valor z (x, y) é calculado usando o interpolador e esse valor é convertido em uma cor usando uma rampa ou uma tabela de pesquisa. (Por eficiência, suspeito que muitos GISs não executam esse procedimento a cada pixel: em vez disso, eles pegam uma subamostra regular de pixels, descobrem suas cores e, em seguida, executam alguma interpolação simples da cor na tela ou no papel.)

Podemos pensar nos pixels como determinando uma amostra regular de locais planares para interpolação. Criar um perfil de elevação envolve uma consideração semelhante: onde localizar os "pixels" ao longo do caminho? A resposta é desenvolvida da mesma maneira que responderíamos à pergunta correspondente para a criação de mapas: qual escala você precisa? Em grandes escalas (ampliada), você precisa de uma amostragem muito mais próxima; em pequenas escalas, você pode experimentar com um espaçamento maior. Se você é esperto, pode até usar métodos adaptativos ou recursivos para focar na amostragem onde os valores z variam mais rapidamente, têm a maior curvatura ou atingem valores extremos. Se você não é tão inteligente ou não precisa da melhor representação, pode criar um conjunto de valores igualmente espaçados ao longo do caminho nas distâncias d (0) <d (1) <... <d (n) ao longo do caminho e, a partir dos valores de varredura próximos, interpole as elevações correspondentes z (0), z (1), ..., z (n). Você plotaria os pares (d (0), z (0)), ..., (d (n), z (n)) e justo em algum tipo de curva em torno deles - geralmente um spline - assumindo que as variações z (i + 1) - z (i) são suficientemente pequenas para que a forma como a curva seja ajustada não importe. (Os métodos adaptativos inspecionam essas variações e obtêm valores mais interpolados a distâncias intermediárias, onde parece haver grande variação.)

Isso nos leva ao cerne da questão: quais devem ser as distâncias iniciais da amostra? A resposta depende da escala pretendida do perfil de elevação, da precisão dos valores do DEM, da precisão com que a curva é registrada nos locais do DEM e da taxa de variação das elevações ao longo e próximo do perfil. Em geral, escalas maiores (ou seja, ampliação), melhores precisões nas elevações e georreferenciamento e taxas mais altas de variação exigem espaçamentos mais próximos. Como eles interagem de maneiras complexas, não há regra geral para o melhor espaçamento . Para começar, porém, você pode esperar que qualquer espaçamento mais fino que o tamanho da célula de varredura não o compre muito. Portanto,se você puder calcular o perfil de elevação usando esse espaçamento relativamente apertado, é melhor fazer isso . Pode ser um exagero, mas e daí?

Observe que esses métodos, na melhor das hipóteses , reproduzirão com precisão os valores de elevação interpolados . Essas quase sempre são uma versão degradada das elevações que a varredura está representando. Por exemplo, muitos DEMs em áreas montanhosas não atingem as alturas dos picos, porque os picos geralmente caem entre as células raster. Quando você interpola entre as elevações abaixo do pico, geralmente obtém algum tipo de média ponderada, que ainda será menor que a altura do pico. Assim, o perfil de elevação de um caminho que passa exatamente sobre o pico de uma montanha raramente alcançará a elevação do pico. (Convolução cúbica e algumas formas de krigagem (incluindo simulação estocástica com krigagem) pode superar formas leves desse problema. Procure-os se desejar reproduzir as características estatísticas do perfil de elevação em vez de optar por um "melhor ajuste" que calcule a média dos extremos.

whuber
fonte
obrigado whuber. O espaçamento precisa ser fixo?
Matthew Snape
1
@ Matthew O espaçamento pode ser adaptado às elevações e suas mudanças, como mencionei. É difícil avaliar a qualidade de outros espaçamentos, como espaçamentos aleatórios ou espaçamentos arbitrários. No entanto, não há nada com o uso de informações externas para colocar alguns dos pontos de amostra. Por exemplo, se você tiver uma camada de fluxos, poderá incluir todos os cruzamentos de fluxo em seus pontos para garantir que você experimente os mínimos locais da elevação ao longo do caminho. Para certos fins especializados, os espaçamentos de elevação elevam-se bem.
whuber
Mas, em alguns pontos, a linha de perfil passará por várias células a uma curta distância. Em outros, a linha de perfil passará por menos (se estiver viajando com o eixo). Certamente um intervalo fixo não será responsável por isso?
Matthew Snape
@ Matt O ponto é que apenas a passagem pelas células não é relevante. Qualquer procedimento de interpolação espacial pode fornecer uma estimativa de elevação nos infinitos pontos do caminho. Isso reduz seu problema em uma dimensão: o interpolador fornece elevação em função da distância (você pode representá-lo graficamente em coordenadas cartesianas) e o problema é o de amostrar esse gráfico. Em outras palavras, depois de escolher um interpolador, você também pode perguntar "Eu tenho uma função y = f (x). Como posso melhor representá-lo?" Meu conselho é: (a) escolha um bom interpolador e (b) faça um gráfico bem!
whuber