지형이 주어지면 스트림 흐름 경로를 그리는 방법은 무엇입니까?


23

평소와 같이 지형에 지형이 있다고 가정하면 지형에 산등성이, 개울 및 실제지도에서 찾을 수있는 모든 특성이 있습니다. 물은 산 꼭대기에서 더 낮은 지역으로 흐르며, 물이 흐르는 경로를 스트림 흐름 경로라고합니다.

지형은 삼각형 불규칙 네트워크 (TIN)로 표시되며, 각 점 p (x, y)는 z 값을 갖습니다. 이 정보를 사용하여 스트림 흐름 경로를 구성하는 방법은 무엇입니까? 이것 뒤에 물리학은 무엇입니까?

내가 아는 바로는 이 문제 를 해결하기 위해 가장 가파른 하강 방법을 사용할 수 있습니다 . 내 스트림 흐름 알고리즘을 작성하려고 생각하므로 기존 도구를 사용하는 대신 이론적 배경에 관심이 있습니다.

답변:


26

가능한 구현 방법은 다양하지만 대부분의 절차는 TIN이 아닌 그리드에서 시작됩니다.

가장 간단한 방법은 D8 절차 일 가능성이 높습니다. 물이 흐르는 방향을 계산합니다. 중앙 그리드 셀 옆에 8 개의 가능성이 있습니다. 셀 연결 방법보다 먼저 이러한 방향을 계산하고 마지막으로 선을 그릴 수 있습니다. 쉬운 구현은 SAGA에서 찾을 수 있으며 의사 코드로 거의 읽습니다 . cpp? revision = 911 & view = markup

매우 쉽지만 현실적이지는 않습니다. 모든 셀에서 스트림을 시작할 수는 없습니다. 고급 알고리즘은 일반적으로 먼저 구덩이를 닫고 (특히 상세 DEM이있는 경우) 셀당 집수 면적, 즉 특정 셀에 물을 제공하는 셀 수를 계산 한 다음 임계 값을 사용하여 스트림의 유무를 결정합니다. 존재합니다.

SAGA GIS는 이러한 집수 영역 방법을 많이 구현하므로이 설명서 http://sourceforge.net/settings/mirror_choices?projectname=saga-gis&filename=SAGA%20-%20Documentation/SAGA%20Documents/ 에서 해당 방법에 대한 설명을 찾을 수 있습니다 . SagaManual.pdf

이전 버전의 SAGA GIS 용으로 작성되었지만 알고리즘에 대한 설명은 여전히 ​​정확하며 빠른 참조를 위해 여기에 복사합니다 (120 페이지 정도). 오픈 소스이므로 확인 할 수 있습니다. 코드를보고 구현 세부 사항.

  • 결정 론적 8 (D8) : 고전. 흐름은 셀 중심에서 주변 셀 중 하나의 중심으로 이동합니다. 따라서, 흐름 방향은 45o의 배수로 제한되는데, 이는 방법의 대부분의 단점의 주된 이유이다. (O'Callaghan & Mark 1984).
  • Rho8 : 위와 동일하지만이를 개선해야하는 확률 적 구성 요소가 있습니다. 흐름 방향은 인접한 두 인접 셀의 양상과 방향의 차이에 의존하는 랜덤 인수에 의해 결정됩니다. 별로 유용하지 않습니다. . . (Fairfield & Leymarie 1991).
  • 결정적 무한대 (D∞) : 흐름은 하나의 셀에서 두 개의 인접한 주변 셀로 이동하여 2 차원 흐름을 고려하고 D8 방법의 단점을 극복합니다. (Tarboton 1998).
  • 브라운 슈바이거 디지털 릴리프 모델 : 또 다른 다중 흐름 방향 알고리즘. 유동은 중심 셀의 측면에 가장 가까운 배향을 갖는 주변 셀과 2 개의 인접한 셀 사이에서 분할된다. (Bauer, Bork & Rohdenburg 1985).
  • FD8 (SAGA에서 간단히 다중 흐름 방향으로 나타남) : D8 파생 2 차원 흐름 라우팅 알고리즘. (Quinn et al 1991).
  • 운동학 라우팅 알고리즘 (KRA). 일차원 흐름 추적 알고리즘. 흐름은 셀 중심으로의 위치를 ​​제한하지 않고 DEM을 굴러 내리는 공처럼 행동합니다. (Lea 1992).
  • DEMON (Digital Elevation Model Network) : 가장 복잡한 네트워크. 이차원 흐름 추적 알고리즘. 시간이 많이 걸립니다. (Costa-Cabral & Burgess 1994).

최근에 더 많은 모델이 추가되었습니다.

  • 삼각형 다중 흐름 방향-Seibert, J. / McGlynn, B. (2007) : '그리드 된 디지털 고도 모델에서 경사면 영역을 계산하기위한 새로운 삼각형 다중 흐름 방향 알고리즘', Water Resources Research, Vol. 43, 04501 원. 이것은 TIN에서 직접 작동 할 수도 있기 때문에 흥미로울 수 있습니다.
  • Gruber and Peckham (2008)이 제안한 DEM 기반의 유량 누적 계산을위한 질량 유량 법 (MFM). Gruber, S., Peckham, S. (2008) : 수 문학의 지표면 매개 변수와 대상. 에서 : Hengl, T. and Reuter, HI [Eds.] : Geometryometry : Concepts, Software, Applications. 토양 과학, Elsevier, Bd.33, S.293-308의 발전.
  • 사이드 알고리즘 : http://watershed.montana.edu/Hydrology/Home_files/2010WR009296.pdf 그의 코드는 그의 웹 사이트에도 있습니다 : http://thomasgrabs.com/side-algorithm/

5

본 논문에서 제안한 접근 방식은 다음 과 같습니다 .

Fisher, P., J. Wood 및 T. Cheng (2004). Helvellyn은 어디에 있습니까? 다차원 조경 형태의 어리 석음. 영국 지리학자 협회의 거래 29, 106-128.

퍼지 및 멀티 스케일 표현에 기반한 방법을 제안합니다. 확실하지 않지만이 방법은 LandSerf 에서 구현 된 것일 수 있습니다 .

여기에 이미지 설명을 입력하십시오


위의 종이 링크는 더 이상 접근 할 수 없습니다
Graviton

@ Graviton : 링크가 수정되었습니다!
Julien

4

ArcGIS에서 Spatial Analyst에 액세스 할 수 있으면 스트림 경로를 계산하는 일련의 도구가 있습니다. 전체 워크 플로우는 ESRI의 기준에 제공하지만, 일반적인 워크 플로를 포함한다 :

  1. TIN을 고도 래스터로 변환하십시오.
  2. 흐름 방향을 계산하십시오.
  3. 작은 싱크를 채우십시오.
  4. 유량 누적 계산
  5. 임계 값을 사용하여 지정된 양의 흐름이있는 셀만 선택하십시오.
  6. 스트림을 피처로 도구를 사용하여 스트림을 벡터 모양 파일로 내 보냅니다.

물론 다양한 방법을 설명하는 수많은 학술 논문이 있지만이 방법은 Spatial Analyst에 액세스 할 수있는 모든 사람이 쉽게 이용할 수 있습니다.


처음부터 코드를 작성해야하므로이 소프트웨어 패키지를 사용할 수 없습니다.
Graviton

글쎄, 이것은 대부분의 GIS 패키지에서 사용되는 절차 인 것 같습니다. TerraFlow 는 오픈 소스 옵션이지만 사용하지는 않았습니다. TIN을 처리하기 위해 무엇을 사용할 계획입니까?
패트릭

1
필자가 언급 한 소프트웨어 패키지가 나에게 해당되지 않는 이유는 나만의 스트림 흐름 알고리즘을 작성하는 것에 대해 생각하고있다
Graviton

2
괜찮아. "이 작업을 수행하는 방법이 명확하지 않다"고 말했을 때이 작업을 수행하는 방법에 대한 실질적인 조언을 원한다고 가정했습니다. 이 소프트웨어 패키지가 사용하는 워크 플로우는 알고리즘의 전체 구조에 대한 지침을 제공 할 수 있습니다. 거기에서 구체적인 내용에 대해서는 학술 문헌을 참조하십시오. 예를 들어, Tarboton, 1997 은 흐름 방향 알고리즘 검색에서 여러 번 참조되었습니다.
패트릭

3

그리드 기반 디지털 고도 모델에서 D8-LTD 방법으로 경사 선을 안정적으로 측정 할 수 있습니다.

Orlandini, S. 및 G. Moretti (2009), 격자 표고 데이터, Water Resour에서 표면 흐름 경로 결정. Res., 45 (3), W03417, doi : 10.1029 / 2008WR007099.

Orlandini, S., G. Moretti, M. Franchini, B. Aldighieri 및 B. Testa (2003), 그리드 기반 디지털 고도 모델 인 Water Resour에서 비 분산 배수 방향 결정을위한 경로 기반 방법. Res., 39 (6), 1144, doi : 10.1029 / 2002WR001639.

등고선 기반 디지털 입면 모델에서 다음 논문에 설명 된 (복잡한) 모델을 사용하여 복잡한 지형 구조를 해결하여 경사 선을 자동으로 결정할 수 있습니다.

Moretti, G. 및 S. Orlandini (2008), 골격 구성 기술인 Water Resour를 사용하여 등고선 데이터에서 배수 유역을 자동으로 묘사. Res., 44 (5), W05403, doi : 10.1029 / 2007WR006309.


1

이것은 처음부터 도구를 작성하는 작업이 될 것 같습니다. ESRI는 수십 년 동안 사용되어 왔으며 여전히 옳지 않습니다.

AutoCAD (Civil 3D)는 TIN을 사용하여이를 수행 할 수 있습니다. 나는 장면 뒤에서 무슨 일이 일어나고 있는지 알지 못하지만 ArcGIS에서는 스트림 네트워크를 식별하는 래스터 분석을 통해 처리됩니다.

(각각의 셀이 X, Y, Z 값을 갖는 경우) 간단히 말해서, 입력 DEM 래스터는 입력으로서 사용되며, 알고리즘의 계산은 인용이 "입력 래스터 각 내리막 셀에 흐르는 모든 셀 (누적 중량 등)의 흐름을 누적. " 곱은 각 셀에 흐름 누적 값이있는 래스터입니다. 스트림 네트워크를 식별하기 위해 "집중 흐름"영역 인 높은 흐름의 셀을 분리합니다. 선택적 무게 계수, 수 문학적 정확한 입력 DEM 등과 같은 다른 고려 사항이 있습니다.

나는 단지 몇 가지 아이디어를 던질 것이다 : 그러한 알고리즘의 "역학"이라는 용어에서 나는 그것이 매우 간단하다고 생각한다. 재귀 적으로 그리고 각 셀에 대해, 모든 주변 셀의 위치와 높이를 결정하고 그 높이에 기초하여 셀에 흐르는 셀의 수를 더합니다. TIN의 경우 각 삼각형의 두 점 (가장 높은 꼭지점과 가장 낮은 꼭지점)으로 선을 만든 다음이 모든 것을 네트워크에 결합 할 수 있습니다.


1
싱크대와 평평한 지역을 다룰 때 합병증이 발생합니다. 극단적 인 예로, 산악 호수를 나타내는 DEM을 고려하여 대부분의 DEM이 완벽하게 평평하게하십시오. 정확히 재귀 적 구현이 모든 유입을 호수로 유출 지점으로 라우팅하는 방법은 무엇입니까?
whuber
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.