예상치 않은 데이터와 예상 된 데이터를 사용하여 계산의 오류 평가


10

이 질문은 제목 방향이 "흐름 방향 계산 및 예측 된 데이터와 비 투영 된 데이터에서 유역을 묘사합니다"라는 주제를 바탕으로합니다 : 흐름 방향 계산 및 예측 된 데이터와 비 투영 DEM 데이터에서 유역을 묘사합니다

그러나 이것은 전술 한 질문이 구형 / 미 추출 지리 좌표 시스템에서 데이터에 대한 유클리드 거리를 가정하는 알고리즘 (예를 들어, ArcGIS 흐름 방향)을 사용하는 데 문제가 있음을 입증했기 때문에 완전히 별개의 질문입니다.

지도 투영은 주황색 껍질을 벗기고 책상에서 평평하게 펴는 것과 같습니다.지도 투영에 의해 본질적으로 오류가 발생할 수 있습니다. 그러나 투영의 이점은 특히 직교 / 예상 평면 표면을 가정하는 계산을 실행할 때 발생하는 모든 오류를 상쇄하는 것으로 보입니다. 이 경우, 내가 관심있는 알고리즘은 거리를 계산하기 위해 유클리드 접근 방식을 사용하기 때문에 데이터가 투영된다고 가정하고 (내 연구에 기반한 대부분의 응용 프로그램에서 가정 한 것으로 가정) ArcGIS Flow Direction 알고리즘입니다.

내 질문은 : 투영되지 않은 DEM 데이터 (지리 좌표계의 DEM 데이터) 대 투영 된 데이터 (예 : UTM 또는 컨 포멀 한 것)?

물론 투영되지 않은 다음 동일한 DEM 데이터를 사용하여 흐름 방향 래스터를 도출 할 수 있습니다. 그러나 그때 무엇? 우리의 목표는 지구 표면을 가능한 한 정확하게 모델링하는 것이므로 (원래의 DEM 등을 만드는 과정에서 발생할 수있는 오류는 다루지 않습니다. .... 우리는 투영 된 DEM에서 파생 된 흐름 방향 데이터가 더 좋다고 가정 한 다음 두 래스터의 개별 셀 값을 비교하여 방향 값이 다른 셀을 식별합니다 (일반 D-8 모델의 맥락에서) )? 이 작업을 수행하려면 투영되지 않은 데이터에서 파생 된 흐름 방향 래스터를 가져 와서 투영 된 흐름 방향 래스터와 동일한 투영을 적용해야합니다.

가장 의미가있는 것은 무엇이고, 투사되지 않은 DEM을 정확도의 벤치 마크와 비교해야하는 것은 무엇입니까?

수학 방정식의 핵심적인 세부 사항을 이해하면 그것을 이해하는 사람들에게지면 수준의 증거를 제공하고 일부는 충분하지만 그 안에는없는 사람에게 오류를 전달할 수있는 것 수학에 대한 깊이있는 이해는 위험하지만 지리 / GIS가 충분히 충분하다는 것을 알 수 있습니다 (이상적으로는 두 수준이 모두 좋을 것입니다. 하드 코어 지리 전문가 및 평균 GIS dabbler와 공명 할 것입니다). 더 높은 수준의 사람들에게는 증거가 수학에 있다고 말하는 것이 아마도 논쟁의 여지가 다소 열려 있습니다. 나는 더 확실한 것을 찾고 있습니다 (예를 들어, 정부의 비 효율성에 달러 수치를 붙이는 것과 유사 함).

이것을 정량화하는 방법에 대한 생각이나 아이디어는 크게 감사하겠습니다.


1
나는 이것이 흥미로운 질문이라고 생각하지만 수 문학 모델링의 맥락에서 투영 된 공간과 투영되지 않은 공간의 차이에서 오류에 대한 문의를 제한하는 것은 너무 제한적 인 것처럼 보입니다 .D8 알고리즘을 선택하여 도입 된 오류는 초과 할 가능성이 높습니다 프로젝션 높은 수준의 정확도에 관심이 있습니까, 아니면 예상 대 비 예상으로 제한해야하는 특정한 이유가 있습니까?
scw

1
@scw 좋은 의견. 그러나, 프로젝트 실패 오류는 위도 40도 이상에서 최대 d8 오류 (적어도 일부 흐름 방향의 경우)를 초과하기 시작하며 일반적으로 크기가 비슷합니다 (유동 각도의 변화로) . 따라서 영사 오류와 d8 오류도주의를 기울여야합니다. 또한, d8 에러 (정렬)는 모든 방향에서 평균화되지만 프로젝션 에러는 체계적인 바이어스를 생성합니다. 따라서 투영 오차는 거의 모든 위도에서의 d8 오차보다 아마도 아마도 훨씬 더 나쁘다.
whuber

1
의견 주셔서 감사합니다-나는 당신이 말한 것을 이해합니다 : D8과 그 문제, 그러나이 전체 토론 (및 프로젝트에 더 나은지 아닌지 묻는 이전 게시물)에 대한 원동력은 그 질문에만 집중했습니다. : 데이터를 투영하는 것이 더 좋습니까, 아니면 중요하지 않습니까? 그렇기 때문에이 질문은 우리 팀과 업무를 수행하는 데 사용하는 일반적인 도구에 실질적인 영향을 미치기 때문에 이러한 측면에만 초점을 맞췄습니다.
turkishgold

이 질문과 사전 질문에 감사드립니다. 소프트웨어에 구애받지 않고 "program-x를 어떻게 수행 할 수 있습니까?"라는 이론 / 기본 원리 토론을하는 것이 중요합니다. . 나는 그들의 깊이와 세부 사항을 더 잘 이해할 수 있기를 바랍니다. ;-)
matt wilkie 17:53에

@ matt wilkie- 의견을 보내 주셔서 감사합니다. 동의합니다 ... 이러한 유형의 것들을 다루는 것이 중요합니다. 도구 및 블랙 박스 도구에 "기본 설정"이있는 ArcGIS와 같은 GUI 패키지를 사용하면 클릭 및 실행이 쉽고 세부 사항에 신경 쓰지 않아도됩니다. 따라서이 주제에 필요한 자세한 답변을 얻는 데 왜 그렇게 오래 걸렸습니까? 전문가로서 우리는 무엇을하고 있는지 이해해야합니다!
turkishgold

답변:


6

분석은 선행 질문 에 대한 답변으로 이미 수행 되었지만 설명이 도움이 될 것입니다.

오류의 두 가지 주요 구성 요소가 있습니다. "d8"알고리즘은 8 개의 기본 방향으로 만 흐름을 나타내며 투영 효과 (또는 그 부족)입니다. 후자에 집중하자. 이것이 주요 관심사 인 것처럼 보이기 때문이다.

오차는 투영 왜곡과 지형 자체에 따라 다릅니다. 국소 적으로 작은 영역에서 지구 표면의 모든 투영 왜곡은 수직 방향과 비교하여 한 방향으로의 스트레치에 해당합니다. 이는 타원이 그냥 뻗은 원이기 때문에 (적절하게 계산 된) Tissot Indicatrix 가 완벽한 타원 인 이유입니다. 지형은 모든 측면 (흐름 방향)을 가질 수 있습니다. 이를 처리하기 위해 가능한 모든 방향으로 간단한 흐름 선이있는 지형 인 원뿔을 살펴 보겠습니다 .

콘 1

이 원뿔 고도의이 음영 처리 된 등고선지도 에는 물이 흐르는 방향을 보여주는 유선형 모음이 있습니다. 윤곽선을 직각으로 교차하는지 확인하여 이러한 유선이 올바른지 확인할 수 있습니다.

좌표계에 대한 적절한 측정 단위와 적절한 원점 (원뿔의 정점)을 선택하면 좌표 (x, y) 측면의 표고 방정식은 간단합니다.

z = -Sqrt (x ^ 2 + y ^ 2).

유선형은 xy에 대해이 공식을 차별화하여 계산 된 z 의 기울기와 항상 평행합니다 (역방향) .

-Grad (z) = (x, y) / Sqrt (x ^ 2 + y ^ 2).

계수 1 / Sqrt (x ^ 2 + y ^ 2)는 방향을 변경하지 않으므로 유선을 이해하기 위해 무시할 수 있습니다. 따라서 임의의 위치 (x, y)에서 유선은 방향 (x, y)을 가리 킵니다.

콘 2

좌표에서 수평 스트레치 효과 (이 이미지에서 2 배)는 모든 컨투어를 스트레치하는 것입니다 (컨투어 레벨을 변경하지 않고 높이는 투영에 영향을받지 않음). (물론) 등고선 실제 원을 나타내지 만 더 이상지도에서 실제 원처럼 보이지 않습니다. 그럼에도 불구하고 유선은 이러한 좌표 로 계산 될 때 이전과 마찬가지로 직각으로 윤곽선을 가로 질러야합니다.

스트레치의 효과는 새 좌표 (스트레치 x, y) 에서 임의의 좌표 지점 (x, y)에 입면을 배치하는 것 입니다. 이것을 반대로 고려하십시오 : 좌표에서의 고도 (X, Y) = (stretch x, y)는 (x, y) = (X / stretch, Y)에서 계산 된 z 의 값이어야합니다 . 따라서이 투영에서 겉보기 표면 의 방정식 은

z = -Sqrt ((x / stretch) ^ 2 + y ^ 2).

차별화, 우리는 계산

-Grad (z) = (x / stretch ^ 2, y) / Sqrt ((x / stretch) ^ 2 + y ^ 2).

다시 공통 요소는 중요하지 않습니다. 따라서, 임의의 위치 (x, y)에서 계산 된 유선은 방향 (x / stretch ^ 2, y)을 가리 킵니다 . 이것은 앞의 그림에서 유선을 그리는 데 사용 된 공식이었습니다. 윤곽선이 직각으로 올바르게 교차하는 것을 볼 수 있습니다.

콘 3

이 세 번째 이미지 는 이전 사진을 다시 투영합니다. 표면이 왜곡없이 한 번 더 표시됩니다. 그러나 유선은 더 이상 직각으로 형상을 가로 지르는 것처럼 보이지 않습니다. 이전 사진에서도 마찬가지였습니다. 왜곡 된 왜곡으로 인해 각도는 직각으로 만 나타납니다 . 교차점이 모두 잘못되었습니다. 그렇기 때문에 투사하지 않거나 (비정형 투사를 사용하는) 실수는 아닙니다. 문제는 얼마나 큰 실수 일지에 대한 것입니다. 일부는 그 결과가 거의 없다고 주장했다.

이 재 투영 (맵에서 왜곡을 제거하기 위해)은 (x * stretch, y)에서 점을 (x, y)로 다시 이동합니다. 이 지점에서 이전에 계산 된 스트림 방향은 그리드 (각도 또는 방향 코드)로 저장되었습니다 . 변경되지 않습니다. 따라서 (x, y)에서 계산 된 스트림 방향은 (x / stretch ^ 2, y)입니다.

이것은 첫 번째 그래픽과 마지막 그래픽의 차이로 표시된 것처럼 모든 가능한 흐름 방향에 대한 재 투영의 효과를 정량화합니다. 산만에 대한 등고선 플롯이없는 오버레이는 다음과 같습니다.

흐름 비교 오버레이

재 투영은 Tissot Indicatrix의 장축에 대해 흐름의 방향에 따라 방향에 다르게 영향을줍니다. 투영에서 상대적인 선형 왜곡 의 2 차 함수입니다. 따라서 약간의 왜곡도 과장합니다. (여기에 표시된 두 가지 요소는 다소 극단적이지만 현실적입니다. 영사 를 실패 ( 즉, 지리적 좌표를지도 좌표로 사용하여 위도 60도)로 사용 하면 발생하는 왜곡 입니다.)

약간의 삼각법을 사용하면 이러한 결과를 사용하여 흐름 방향의 각도 오차를 올바른 방향의 함수로 계산할 수 있습니다. 다음은 위도 20, 30, 40, 50 및 60도에서 지리적 (투영되지 않은) 좌표계를 사용하는 것과 관련된 오류의 그래프입니다. 물론 오류가 클수록 위도가 높아집니다.

각도 오차 플롯

"진정한 방향"은 북쪽에서 동쪽으로 도입니다. 양의 각도 차이는 겉보기 방향 (lat, lon을 투영하지 않고 계산 된)이 실제 방향과 반 시계 방향 일 때 발생합니다.

이 위에 d8 오류를 겹쳐 야합니다!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.