경사면에 대한 상승 추세를 제거 하시겠습니까?


16

DEM 표면에서 추세를 제거하는 알려진 방법이 있습니까?

예를 들어 강의 DEM이있는 경우 해당 강은 높은 고도 (상류)에서 낮은 고도 (하류)로 흐릅니다. 수면의 상단에서 강바닥의 바닥까지의 거리가 강 전체에 걸쳐 동일하더라도 래스터의 하류 부분은 DEM에서 여전히 낮은 표고 값을 갖습니다. 동일한 깊이의 영역이 동일한 고도를 갖도록 이러한 값을 고르게 할 수 있습니까?

이 추세를 제거 할 때 강바닥의 딥과 같은 DEM의 전체 특성을 유지하는 것이 이상적입니다.여기에 이미지 설명을 입력하십시오

답변:


9

@jul은 "추세 표면을 계산 한 다음 초기 DEM에서 빼서 '추세를 제거한'것을 얻는 것이 맞지만이 경우에는"딥을 유지 "하기 위해 더 간단한 절차가 필요한 것 같습니다. "추세 표면"이 원래 DEM을 너무 가깝게 따르는 경우 잔차는 표면의 로컬 특성을 유지하지 않습니다. 따라서 피해야 할 기술 중에는 모든 로컬 (스플라인, 필터 및 특히 크릭)이 있으며 전체적으로 선호되는 기술이 있습니다.

간단하고 강력하며 직접적인 접근 방식은 강 근처의 비행기를 DEM에 맞추는 것입니다. (유클리드에 따르면) 비행기는 공간에서 3 개의 (비-선형) 점에 의해 결정되기 때문에 멋진 기술이나 무거운 계산은 필요하지 않습니다. 따라서 하천 끝에서 한 지점 (x1 ', y1', z1 ') = (좌표, 고도)를, 하류 끝에서 다른 지점 (x2', y2 ', z2')을 선택하십시오. (x0 ', y0', z0 ')을 선택하면 처음 두 점을 연결하는 선분에서 멀어집니다. (이 좌표는 곧 변경 될 것이므로 소수로 표시됩니다.)이 마지막 점은 그렇지 않습니다지면 위 또는 근처의 지점에 해당해야합니다! 실제로 초기 선택은 표고를 상류 및 하류의 평균 인 z0 '= (z1'+ z2 ') / 2로 설정하는 것이 좋습니다.

점 (x0 ', y0', z0 ')을 로컬 좌표계의 원점으로 채택하면 계산이 쉬워 집니다. 이 좌표에서 다른 두 점은

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

원래 좌표계의 (x ', y')에있는 임의의 위치는이 새 시스템의 좌표 (x, y) = (x'-x0 ', y'-y0')입니다. 원점 (0,0,0)을 통과하는 평면은 z = a * x + b * y 형식의 방정식을 가져야하므로 문제가 다음과 같이 줄어 듭니다.

점 (0,0,0), (x1, y1, z1) 및 (x2, y2, z2)를 통과하는 평면에 대해 z = a * x + b * y 형식의 방정식을 찾으십시오.

독특한 솔루션은 계산하는 것입니다

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

어떤 용어로

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

이 두 개의 숫자 a와 b를 발견하고 두 개의 원래 좌표 x0 '와 y0'을 회상 하여 양식의 래스터 계산

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

DEM에서 "틸트"를 제거합니다 . 이 식에서 [X ']는 원래 좌표 의 x 좌표 그리드 를 나타내고 [Y']는 원래 y 좌표 그리드를 나타냅니다. 결과 DEM은 원래 선택한 세 점 각각에서 동일한 높이 (즉, z0 ')를 갖습니다. 다른 곳에서하는 일은 DEM 자체에 달려 있습니다!


(일부 독자들은이 접근법이 삼각법 또는 최소 제곱 기계에 대한 모든 참조를 피하는 방법을 높이 평가하기를 바랍니다. :-)


에서 래스터 틸팅에 대한 참조를 추가하는 것을 잊지 마세요 forums.arcgis.com/threads/22904-Trouble-with-Hillshading

@ Dan 좋은 지적 : gis.stackexchange.com/questions/10959/ 의 이전 게시물은 이것 과 밀접한 관련이 있습니다.
whuber

이전 질문은 또한 내 질문이었다 – 나는 더 간결하게 질문을하기 위해 그것을 수정해야한다고 느꼈다 (예를 들어, 딥을 보존해야 함). 이러한 유형의 분석을 수행 할 코드를 둘러 보았지만 실패했습니다. 유용하거나 처음부터 시작해야하는 ArcObject를 사용하는 것을 알고 있습니까? 도움 주셔서 감사합니다-그것은 귀중한되었습니다.
레이더

@Radar 먼저이 분석을 직접 시도하십시오. 약간의 판단이 필요하며 (이 세 가지 점을 신중하게 선택해야 함) 종종 올바른 일을 반복해야합니다. 이러한 경험을 통해 계산 방식을보다 잘 이해할 수 있습니다. 이 방법을 ArcGIS에서 제공되는 선형 추세 표면 피팅과 비교할 수도 있습니다.
whuber

충분히 공평-나는 이미 상류와 하류 지점의 파생을 자동화했습니다. 가장 까다로운 부분이 그 세 번째 포인트를 얻는 것이라고 상상합니다. 다시 감사합니다!
레이더

3

강물에 대한 경향 분석이 불만족 스러웠습니다. 중서부와 같은 지역에서는 작동하지만 서구에서는 단일 지형 또는 다항식 표면이 복잡한 지형 때문에 강 구배와 거의 비슷한 것으로 보이지 않습니다. 대신에 사용한 것은 가중 평균입니다. 여기서 커널 밀도를 사용하여 고지대 픽셀의 높이를 강의 가중 평균과 비교합니다 (Winter 2010 ArcUser의 기사 참조). 보다 "현지화 된"결과가 생성됩니다. 음수 값을 얻는 것이 여전히 가능하지만 그 값이 강 수로에 국한된 것으로 보이며 가파른 경사 지역에서 가장 일반적입니다. 더 최근에는 "flood height"를 매핑하기위한 경로 거리 접근법을 실험했지만이 방법은 그렇지 않습니다.


당신의 발언 감사합니다 Tom. 저희 사이트에 오신 것을 환영합니다. 여기서 만나서 반갑습니다.
whuber

2

트렌드 표면을 계산 한 다음 초기 DEM에서 빼면 "추세가있는"것을 얻을 수 있습니다.

트렌드 표면을 계산하기 위해, 임의의 표면 단순화 기능 (필터링, 스플라인 스무딩, 크 래깅 등)이 사용될 수 있습니다. 이 선택은이 추세 표면의 모양에 따라 다릅니다.

다음은 arcGIS 10.0에서 크릭을 사용하는 방법에 대한 예 입니다.


1
예를 들어, 트렌드 표면을 얻는 데 선호되는 방법이 있습니까 (예 : 표면 단순화 유형)?
레이더

그게 문제입니다! "추세"로 간주하여 제거하려는 지형 변형과 유지하려는 지형 변형에 따라 다릅니다. 단순화가 강할수록 지형의 지역 변화를 줄입니다. whuber가 말했듯이, 로컬 평면으로 구성된 트렌드 표면은 만족할 수도 있습니다.
Julien
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.