기울기 계산에 SRTM Global DEM을 사용하십니까?


17

SRTM GDEM (~ 90km 해상도)을 다운로드했습니다.

ArcGIS 10을 사용하고 있습니다.

공간 분석을 사용하여 기울기를 계산하려고했습니다.

그러나 경사를 계산할 수 없습니다.

출력 값은 0과 0.1-90의 두 가지 범위 만 있습니다.

문제가 무엇인지 잘 모르겠습니다.


이것은 세계에서 분석하는 위치에 따라 다릅니다. 각 위치마다 다른 투영법이 있습니다. 어디에서 검사하고 있습니까?
djq

5
해상도는 ~ 90km가 아니라 ~ 90m입니다.
Akheloes

데스크탑에 대한 유지 관리를 수행하는 경우 ArcGIS Online에 로그인하여 해당 고도 서비스를 사용할 수 있습니다 (NA 확장 필요 없음). 기울기 레이어는 참조 레이어로 자유롭게 사용할 수 있습니다. 호주에는 1 초 SRTM 데이터 (~ 30m res) blogs.esri.com/esri/arcgis/2014/07/11/…
Simon

답변:


29

이것은 전 세계적으로 광범위한 DEM에 대한 경사를 계산하는 간단하고 빠르며 합리적으로 정확한 방법을 설명하기에 좋은 장소 인 것 같습니다 .

원칙

점에서 표면의 기울기는 그 점에서 가능한 모든 베어링에서 발생하는 "상승"대 "런"의 비율이 본질적으로 가장 크다는 점을 상기하십시오. 문제는 투영에 스케일 왜곡이있는 경우 "run"값이 잘못 계산된다는 것입니다. 더 나쁜 것은, 스케일 비틀림이 베어링에 따라 변할 때 (이것이 컨 포멀하지 않은 모든 돌출의 경우) 베어링에 따라 슬로프가 어떻게 변하는가가 잘못 추정되어 최대 상승 : 런 비율의 정확한 식별을 방해 할 수 있다는 것입니다. 측면의 계산).

컨 포멀 프로젝션을 사용하여 스케일 왜곡이 베어링에 따라 변하지 않도록하고 스케일 왜곡 을 설명하기 위해 슬로프 추정값을 수정 하면 (맵 전체에서 포인트마다 다름) 이 문제를 해결할 수 있습니다 . 트릭은 스케일 왜곡에 대한 간단한 표현을 허용하는 전역 컨 포멀 프로젝션을 사용하는 것입니다.

메르카토르 투영법은 계산서에 적합합니다. 적도에서 스케일이 정확하다고 가정하면 왜곡이 위도의 종과 같습니다. 즉,지도의 거리에 시컨트가 곱해진 것으로 보입니다. 이로 인해 경사 계산에서 상승 : (sec (f) * run) (비율)이 계산됩니다. 여기서 f 는 위도입니다. 이 문제를 해결하려면 계산 된 경사에 sec (f)를 곱해야합니다. 또는 동등하게 cos (f)로 나눕니다. 이것은 우리에게 간단한 레시피를 제공합니다.

메르카토르 투영법을 사용하여 경사 (상승 : 런 또는 백분율)를 계산 한 다음 결과를 위도의 코사인으로 나눕니다.

워크 플로우

SRTM DEM과 같은 10 진수 각도로 그리드를 사용하려면 다음 단계를 수행하십시오.

  1. 위도 격자를 만듭니다. (이것은 y 좌표 그리드입니다.)

  2. 코사인을 계산합니다.

  3. 프로젝트 모두 DEM에 규모가 적도에서 사실 인 메르카토르 투영을 사용하여 위도의 코사인.

  4. 필요한 경우, 투영 좌표의 단위 (보통 미터)와 일치하도록 높이 단위를 변환하십시오.

  5. 투영 된 DEM의 기울기를 순수한 기울기 또는 백분율 ( 각도가 아닌) 로 계산합니다.

  6. 이 경사를 투영 된 코사인 (위도) 그리드로 나눕니다.

  7. 원하는 경우 추가 분석 또는 매핑을 위해 경사 그리드를 다른 좌표계로 다시 투영합니다.

기울기 계산의 오차는 최대 0.3 %입니다 (이 절차에서는 0.3 %로 평평한 타원체 모델이 아닌 구형 지구 모델을 사용하기 때문에). 이 오차는 기울기 계산에 들어가는 다른 오차보다 실질적으로 작으므로 무시할 수 있습니다.


완전 글로벌 계산

메르카토르 투영법은 극을 처리 할 수 ​​없습니다. 극지방에서 작업하려면 극점에서 실제 배율로 극좌표 입체 투영을 사용하는 것이 좋습니다. 스케일 왜곡은 2 / (1 + sin (f))와 같습니다. 워크 플로우에서 sec (f) 대신이 표현식을 사용하십시오. 구체적으로, 코사인 (위도) 그리드를 계산하는 대신 값이 (1 + sin (위도)) / 2 인 그리드를 계산합니다 ( 편집 : 주석에서 논의 된대로 남극에- 위도 사용). 그런 다음 이전과 동일하게 진행하십시오.

완벽한 글로벌 솔루션을 위해서는 지상 그리드를 각 극 주위와 적도 주변의 세 부분으로 나누고, 적절한 투영을 사용하여 각 부분에서 개별적으로 경사 계산을 수행하고 결과를 모자이크 처리하는 것이 좋습니다. 지구를 분할하기에 적당한 장소는 2 * ArcTan (1/3)의 위도에서 위의 원을 따라 있으며,이 위도에서는 메르카토르와 입체 보정 계수가 서로 같기 때문에 (공통 값이 있음) 수정 사항의 크기를 최소화하는 것이 좋습니다. 계산을 점검 할 때 그리드는 서로 겹치는 곳에 매우 밀접하게 일치해야합니다 (투영 된 그리드의 리샘플링으로 인한 작은 양의 부동 소수점 부정확성과 차이는 유일한 불일치 원인이되어야합니다).

참고 문헌

John P. Snyder, 맵 프로젝션-작업 매뉴얼 . USGS Professional Paper 1395, 1987.


7
내가 너무 자주 솔루션을 설명하는 whuber 다시 한 번 직접 감사,처럼 나는 위치에 자신을 찾을 뿐만 아니라 등을 구축 추론을 넣어. 내 모자는 당신에게 떨어져 있습니다.
매트 윌키

감사합니다 @matt. 나는 당신의 (현재 삭제 된) 답변을 철회해야한다고 일찍 말하지 않았다. 사실, 나는 많은 독자들에게 유용 할 수있는 흥미로운 USGS 참조에 대한 링크를 공유했기 때문에 그것을 찬성했습니다. (내 의견은 논문 자체가 아니라 해당 논문의 2 차 본문에만 중요했습니다.)
whuber

아 설명 주셔서 감사합니다. 나는 사람들이 현명한 선택을 할 수 있도록 충분한 정보를 가지고 있다고 믿는 답을 회복했다 :)
matt wilkie 5

2
프랑스어 배경에서 왔을 때,이 위대한 대답을 더 잘 이해하기 위해 필요한 용어를 번역하는 데 시간이 걸렸
Akheloes

훌륭한 접근 방식이며 이미 글로벌 슬로프 래스터를 생성하기 위해 솔루션을 사용했습니다. 실제 경험의 힌트 : 적도 남쪽의 위도 값이 음수이므로 다음 방정식에서 절대 위도 값을 사용해야합니다. (1 + sin (위도)) / 2
Saleika

18

원래 답변

래스터의 가로 단위가도 또는 아크 초 단위라고 생각합니다. 수평 및 수직 단위가 동일한 공간 래스터로이 래스터를 재 투영해야합니다 (예 : 수직 단위가 미터 인 경우 수평 미터가있는 UTM을 사용하는 것이 좋습니다).

ArcCatalog / ArcGIS로 래스터를 재 투영하려면 다음을 참조하십시오.

ArcToolbox> 데이터 관리 도구> 투영 및 변환> 래스터> 프로젝트 래스터

관심 영역을 포함하는 투영 된 공간 참조를 선택하십시오 (예 : UTM 영역 사용). 매뉴얼에 가장 잘 설명 된 다른 옵션이 많이 있습니다 . 지구 전체에 대해 경사 데이터 세트를 만들 수는 없습니다 (원하는 경우).

스케일과 함께 GDAL을 사용하여 더 나은 답변

SRTM 데이터를 전 세계적으로 사용할 수있게되었으므로 실제로 파일을보고 작업 할 수 있습니다. gdaldemGDAL유틸리티 는 수직 단위와 수평의 비율에 대한 스케일 옵션을 사용하여 경사와 언덕 음영을 계산할 수 있습니다 . SRTM 타일과 같은 경우 111120 m / °를 권장합니다. 예를 들어 OSGeo4W 쉘에서 :

$ gdaldem slope -s 111120 -compute_edges N44E007.hgt N44E007_slope.tif

-compute_edges옵션은 몇 개의 타일을 함께 연결하려는 경우 가장자리를 더 매끄럽게 만듭니다. 또는 넓은 지역의 타일을 계산합니다. "스케일"기술의 단점은 적도를 제외하고 EW 및 NS 방향의 거리가 동일하지 않기 때문에 극에 가까운 타일의 경우 경사에 대해 약간의 잘못된 표시가있을 수 있다는 것입니다.


최종 의견을 강조 할 가치가 있습니다. 이것은 적도 근처에 있지 않은 점에 대한 나쁜 해결책입니다. 이것은 "이상한 허위 진술"의 작은 문제가 아니다 : 특히 적도보다 폴란드에 더 가까운 곳에서는 결과가 심각하게 잘못 될 것이다. 에 대한 문서 gdaldem상태 "하지 적도에 가까운 위치의 경우, 그것은 당신의 그리드 gdaldem를 사용하기 전에 gdalwarp를 사용하여 재 투영하는 가장 좋은 것입니다." 불행히도 지구본을 덮는 데이터 세트에는 작은 조각 (74 UTM 영역, 아마도?)으로 나누고 투영하고 경사를 계산하고 결과를 모자이크 처리하지 않는 한 작동하지 않습니다.
whuber

7

간단히 말해서, 하나는 없습니다. 정의에 따라 각도를 기준으로 한 좌표계는 투영되지 않습니다. 일반적으로 우리는 WGS84가 "지리적"투영법이라고 말하지만 이는 편의상 사실이 아닙니다.

투영되지 않은 지리적 공간에서 고도 모델로 정확하게 작업하기위한 소프트웨어 또는 프로세스에 대해 읽은 것을 기억하지만 지금은 찾을 수 없습니다. 어쨌든 그것은 실험적이거나 코드 종류의 프로세스에서 직접 빌드했을 것입니다.


Ahhh, 그것을 발견 : USGS ( 지진으로 인한 산사태 발생 추정을위한 글로벌 슬로프 데이터 세트 개발 ). 4 페이지는 문제를 잘 설명합니다

... 1 도의 길이는 위도 위치에 따라 다릅니다. 적도에서 1도 x 1도 블록은 미터 단위 (x 방향으로 111,321 미터, y 방향으로 110,567 미터)로 변환 할 때 합리적으로 정사각형이지만 ... 자오선의 수렴으로 인해 위도의 코사인에 따라 x 방향이 더 작아집니다 대부분의 GIS 패키지, ArcGIS는 정사각형 픽셀에서만 작동하므로 x, y 또는 z 치수를 공통 단위는 불가능합니다.

이 백서는 이 근본적인 문제를 해결하는 데 사용한 특정 계산 및 소프트웨어 도구 ( , , ) 에 대해 설명합니다 . 이 논문에는 코드가 포함되어 있지 않지만 훌륭하게 요청하면 공유 할 수 있습니다. 어쨌든 나는 아마도 결과가 어디에 있는지 물어볼 것입니다 .USGS이기 때문에 이미 어딘가에 온라인 일 것입니다. :)


1
경사를 계산하기 위해 방위각 등거리 투영이 사용될 수 있다는 그 논문의 제안은 잘못 안내되고 잘못되었습니다. 실제로 투영 원점 근처에 올바른 경사를 제공하지만 원점까지의 거리가 증가함에 따라 점진적으로 정확도가 떨어집니다.
whuber

지적 해 주셔서 감사합니다. 독자 여러분, 균형을 위해 gis.stackexchange.com/a/40464/108 도 읽어주십시오
matt wilkie 5

2

EQUI7 GRID 시스템 (Bauer-Marschallinger et al. 2014)을 사용하여 전역 DEM 매개 변수 (대부분의 공식이 유클리드 공간을 가정 한 경우)를 효율적으로 도출 할 수 있습니다. EQUI7 GRID는 세계를 7 개의 토지 영역으로 분할하며, 모두 최소 정밀도 손실로 등거리 투사 시스템에 투사됩니다. EQUI7 GRID 에서 250m 해상도 의 글로벌 DEM 예를 참조하십시오 . 다음 은 SAGA GIS를 사용하여 전역 DEM 매개 변수를 파생시키는 방법을 보여주는 샘플 코드 입니다. EQUI7 GRID 시스템에서 DEM 매개 변수 도출을 완료하면 모든 맵을 WGS84 longlat좌표 로 역변환 한 다음 GDAL을 사용하여 전체 모자이크를 생성 할 수 있습니다 .


이것이 어떻게 질문에 대답하는지 설명해 주시겠습니까? 경사 계산에 등거리 투영을 사용하도록 제안하는 경우 투영 중심에서 멀어 질 때 발생하는 상대적인 메트릭 왜곡이 크기 때문에 솔루션이 좋지 않습니다. 이러한 질량의 7 가지 예측을 토지 질량에 집중시키는 것이 그 문제를 완화시키는 데 도움이되지만 여전히 최선의 선택은 아닙니다.
whuber

Bauer-Marschallinger 등 의 논문 . (2014) 는 이러한 예측이 왜 전세계 토지 질량을 나타 내기 위해 선택된 것인지를 설명합니다 (최소 정밀도 손실이없는 것으로 가정). 나는 2D 프로젝션이 결국 변형으로 이어질 것이라는 데 동의하지만, 내가 아는 한, EQUI7은 정밀도와 상용 성 손실 (2D 대수) 사이의 좋은 절충안입니다. 그러나 육각형 은 다시 전체 지표면을 나타내는 데 사용됩니다 (3D 육각형을 사용한 DEM 분석은 여전히 ​​번거롭지 만).
Tom Hengl

참조 주셔서 감사합니다. 이 논문의 요약은 "일반 위성 이미지를 일반 래스터 그리드로 투영하는 동안 나타나는 로컬 데이터 오버 샘플링을 최소화하는"문제와는 상당히 다른 문제를 해결한다는 것을 시사합니다. 그렇다고 기울기 추정과 같은 다른 목적으로 잘 작동한다는 것을 의미하지는 않습니다.
whuber

물론 EQUI7은 로컬 경사를 정확하게 추정하는 문제를 절대적으로 해결하지는 않지만 위에서 제안한 메르카토르 투영법을 사용하는 것보다 더 우아한 솔루션 일 것입니다. 궁극적으로, 완벽한 정밀도로 슬로프를 추정하려는 경우 유일한 옵션은 (1) 10-20 % 겹침과 함께 더 작은 크기의 타일 (예 : 100 x 100km) 당 로컬 (등거리) 투영을 사용하는 것입니다. Verdin et al. (2007) 또는 (2) 육각 격자를 사용합니다 ( dggridR 패키지 ).
Tom Hengl

문제는 정밀도가 아닙니다. 체계적으로 기울어 진 경사 및 측면을 생성하는 데 있습니다. 등거리 투영은 중심에서 시작하는 측지선과 직교하는 방향을 차등 적으로 왜곡하기 때문에 측면은 항상 틀리며 (모든 왜곡이 적은 중심에 합리적으로 정확하더라도) 경사면의 오차는 거리에 따라 빠르게 커집니다. 물론 많은 지역 투영법을 사용하면 효과가 있지만 우아함과는 정반대입니다.
whuber

-2

경사가 상승 / 실행합니다. 계산 상승 및 계산 실행과 답이 있습니다. 지리적 좌표 간의 거리를 계산하는 것은 간단합니다. 이것은 UTM으로의 변환 등에 비해 리샘플링 오류가 적습니다.

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