Removendo a tendência de elevação sobre superfícies inclinadas?

16

Existe uma metodologia conhecida para remover a tendência de uma superfície DEM?

Por exemplo, se eu tivesse um DEM de um rio, esse rio fluiria de uma elevação alta (a montante) para elevações mais baixas (a jusante). Mesmo que a distância do topo da superfície da água até o fundo do leito do rio fosse a mesma em todo o rio, a porção a jusante da varredura ainda teria valores de elevação mais baixos no DEM. É possível nivelar esses valores para que áreas de igual profundidade também possuam elevações iguais?

Ao remover essa tendência, seria ideal preservar as características gerais do DEM, como mergulhos no leito do rio.insira a descrição da imagem aqui

Radar
fonte

Respostas:

9

@jul está correto: "você precisa calcular uma superfície de tendência e subtraí-la do seu DEM inicial para obter a 'prejudicada'", mas parece que são necessários procedimentos mais simples nesse caso para "preservar os quedas". Se a "superfície da tendência" seguir muito de perto o DEM original, os resíduos não manterão as características locais da superfície. Assim, entre as técnicas a serem evitadas estão todas as locais (splines, filtros e - especialmente - krigagem) e as favoráveis ​​são globais.

Uma abordagem simples, robusta e direta é ajustar um avião ao DEM nas proximidades do rio. Isso não requer nenhuma tecnologia sofisticada ou cálculos pesados, porque (de acordo com Euclid) um avião é determinado por três pontos (não colineares) no espaço. Portanto, selecione um ponto (x1 ', y1', z1 ') = (coordenadas, elevação) na cabeceira do rio, outro ponto (x2', y2 ', z2') na extremidade a jusante e um terceiro ponto em (x0 ', y0', z0 ') de sua escolha fora do segmento de linha que liga os dois primeiros pontos. (Essas coordenadas são indicadas com números primos porque em breve as alteraremos.) Este último ponto nãotem que corresponder a um ponto sobre ou mesmo perto da superfície do solo! De fato, uma boa opção inicial pode ser definir sua elevação para a média das elevações a montante e a jusante, z0 '= (z1' + z2 ') / 2.

Os cálculos são facilitados adotando o ponto (x0 ', y0', z0 ') como a origem de um sistema de coordenadas local. Nestas coordenadas, os outros dois pontos estão em

(x1,y1,z1) = (x1'-x0',y1'-y0',z1'-z0') 
(x2,y2,z2) = (x2'-x0',y2'-y0',z2'-z0'). 

Qualquer localização arbitrária, em (x ', y') no sistema de coordenadas original, possui coordenadas (x, y) = (x'-x0 ', y'-y0') neste novo sistema. Como qualquer plano que passa pela origem (0,0,0) deve ter uma equação da forma z = a * x + b * y, isso reduz o problema ao seguinte:

Encontre uma equação na forma z = a * x + b * y para o plano que passa pelos pontos (0,0,0), (x1, y1, z1) e (x2, y2, z2).

A solução exclusiva é calcular

u = z1 y2 - z2 y1
v = x1 z2 - x2 z1
w = x1 y2 - x2 y1

em que termos

a = u/w, b = v/w.

Tendo encontrado esses dois números aeb, e lembrando as duas coordenadas originais x0 'e y0', um cálculo rasterizado da forma

[DEM] - a * ([X'] - x0') - b * ([Y'] - y0')

remove a "inclinação" do DEM . Nesta expressão, [X '] refere-se à grade de coordenadas x nas coordenadas originais e [Y'] refere-se à grade de coordenadas y originais. É garantido que o DEM resultante tenha a mesma elevação (z0 ') em cada um dos três pontos que você escolheu originalmente; o que ele faz em outros lugares depende do próprio DEM!


(Espero que alguns leitores apreciem como essa abordagem evita todas as referências à trigonometria ou máquinas de mínimos quadrados. :-)

whuber
fonte
Não se esqueça de adicionar o seu referência a inclinar um raster em forums.arcgis.com/threads/22904-Trouble-with-Hillshading
@ Dan Good point: o post anterior em gis.stackexchange.com/questions/10959/… parece intimamente relacionado a este.
whuber
A pergunta anterior também era minha - senti que deveria tê-la refinado para fazer perguntas de forma mais sucinta (por exemplo, necessidade de preservar quedas). Eu procurei por códigos que realizariam esse tipo de análise, mas não obtive êxito. Você está ciente de qualquer coisa que faça uso do ArcObjects que seria útil ou devo começar do zero? Obrigado pela ajuda - foi inestimável.
Radar
@Radar Primeiro tente esta análise manualmente. Requer algum julgamento (você precisa escolher esses três pontos com cuidado) e, com frequência, alguma iteração para fazer o certo. Essa experiência lhe dará uma melhor noção de como os cálculos funcionam. Você também pode comparar essa abordagem com o ajuste de superfície de tendência linear oferecido no ArcGIS.
whuber
É justo - já automatizei a derivação dos pontos a montante e a jusante. Eu imagino que a parte mais complicada será obter esse terceiro ponto. Obrigado novamente!
Radar
3

Descobri que a tendência com a análise de tendências é insatisfatória para os rios. Pode funcionar em regiões como o centro-oeste, mas no oeste uma única superfície linear ou polinomial nunca parece se aproximar muito bem do gradiente do rio devido à complexa topografia. Em vez disso, o que eu usei é a média ponderada, onde comparo a elevação de um pixel de montanha com uma média ponderada do rio usando uma densidade de kernel (consulte o artigo no ArcUser do inverno de 2010). Isso produz um resultado mais "localizado". Ainda é possível obter alguns valores negativos, mas descobri que esses valores parecem estar confinados ao canal do rio e são mais comuns em áreas de gradiente íngreme. Mais recentemente, experimentei abordagens de distância de trajetória para mapear a "altura da inundação", mas isso não ganhou "

Tom Dilts
fonte
Obrigado por suas observações Tom. Bem-vindo ao nosso site - é bom vê-lo aqui!
whuber
2

Você precisa calcular uma superfície de tendência e subtraí-la do seu DEM inicial para obter a superfície "prejudicada".

Para calcular uma superfície de tendência, qualquer função de simplificação de superfície pode ser usada (filtragem, suavização de spline, krigagem, etc.). Essa escolha depende de como você deseja que essa superfície de tendência seja exibida.

Aqui está um exemplo de como usar o kriging no arcGIS 10.0 para isso.

julien
fonte
1
Para o meu exemplo, existe um método preferido para obter a superfície da tendência (por exemplo, tipo de simplificação da superfície)?
Radar
Essa é a questão! Depende de quais variações de terreno você deseja considerar como "tendência" e removidas e quais deseja manter. Quanto mais forte a simplificação, menos você mantém variações locais do seu terreno. Como dito pelo whuber, uma superfície de tendência composta por aviões locais pode até ser satisfatória.
julien