Використання SRTM Global DEM для розрахунку нахилу?


17

Я завантажив SRTM GDEM (роздільна здатність 90 км).

Я використовую ArcGIS 10.

Я намагався використовувати просторовий аналітик для обчислення нахилу.

Однак я не можу обчислити схил.

Вихідні значення мають лише два діапазони 0 і 0,1-90.

Я не дуже впевнений, у чому проблема?


Це залежить від того, де ви аналізуєте у світі. Для кожного місця існують різні прогнози. Де ви обстежуєтесь?
djq

5
Дозвіл насправді ~ 90м, а не ~ 90км.
Ахелое

Лише коментар, якщо ви займаєтесь технічним обслуговуванням для Desktop, ви можете увійти в ArcGIS Online і скористатися послугами їх висоти (без потреби розширення NA). Шар схилу вільний для використання в якості еталонного шару. В Австралії ми маємо 1 секунду даних SRTM (~ 30м. Res) blogs.esri.com/esri/arcgis/2014/07/11/…
Саймон

Відповіді:


29

Це здається хорошим місцем для опису простого, швидкого та більш ніж досить точного способу обчислення схилів для глобально обширної DEM .

Принципи

Нагадаємо, що нахил поверхні в точці є, по суті, найбільшим відношенням "підйом" до "бігу", що зустрічається при всіх можливих підшипниках з цієї точки. Проблема полягає в тому, що коли проекція має спотворення шкали, значення "run" будуть неправильно обчислені. Ще гірше, коли спотворення шкали змінюється залежно від підшипника - що стосується всіх невідповідних проекцій, - як нахил змінюється залежно від підшипника, буде неправильно оцінено, що запобігає точному визначенню максимального коефіцієнта підйому: пробігу (і перекосу розрахунок аспекту).

Ми можемо вирішити це, використовуючи конформну проекцію, щоб переконатися, що спотворення шкали не змінюється залежно від підшипника, а потім виправляючи оцінки нахилу для врахування спотворення шкали (яке змінюється від точки до точки на всій карті). Трюк полягає у використанні глобальної конформної проекції, яка дозволяє просте вираження для її спотворення масштабу.

Проекція Меркатора відповідає законопроекту: якщо припустити, що масштаб правильний у екваторі, його спотворення дорівнює сектанту широти. Тобто відстані на карті, схоже, перемножуються на секант. Це призводить до будь-якого обчислення нахилу для обчислення підйому: (sec (f) * run) (що є відношенням), де f - широта. Щоб виправити це, нам потрібно помножити обчислені нахили на sec (f); або, рівнозначно, розділити їх на cos (f). Це дає нам простий рецепт:

Обчисліть нахил (як підйом: пробіг або відсоток) за допомогою проекції Меркатора, а потім розділіть результат на косинус широти.

Робочий процес

Для цього за допомогою сітки, заданої в десяткових градусах (наприклад, SRTM DEM), виконайте наступні дії:

  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), що становить приблизно 37 градусів, тому що в цих широтах коефіцієнти корекції Меркатора і Стереографії рівні між собою (мають спільне значення 5/4), і було б непогано мінімізувати розміри внесених виправлень. Як перевірка обчислень, сітки повинні бути дуже близькими, коли вони перекриваються (невеликі кількості неточності плаваючої точки і відмінності внаслідок перекомплектування проектованих сіток повинні бути єдиними джерелами розбіжностей).

Список літератури

Джон П. Снайдер, Картографічні проекції - Робочий посібник . Професійний документ USGS 1395, 1987.


7
Як я часто це роблю, я опиняюся вдячний ще раз за те, що описав рішення , а також виклав міркування, що його будують. Мій капелюх до вас, сер.
matt wilkie

Дякую @matt. Раніше я не мав на увазі запропонувати скасувати відповідь на вашу (тепер видалену) відповідь: насправді я її відхилив, оскільки ви поділилися посиланням на цікаву довідку USGS, яка може бути корисною багатьом читачам. (Мій коментар критично ставився лише до другого уривку в цій статті, а не до самої статті.)
whuber

ах. дякую за роз’яснення Я відновив відповідь, довіряючи людям зараз достатньо інформації перед ними, щоб зробити усвідомлений вибір :)
matt wilkie

2
Починаючи з французького походження, мені знадобилося певний час, щоб перекласти необхідну термінологію, щоб краще зрозуміти цю чудову відповідь, тому я подумав, що перестати це посилання - це хороша допомога для новачків, таких як я: webhelp.esri.com/arcgisdesktop/9.2/…
Ехелос

Це чудовий підхід, і я вже використовував ваше рішення для створення глобального растру нахилу. Один натяк на практичний досвід: Оскільки значення широти на південь від екватора є від’ємними, ви повинні використовувати абсолютне значення широти в наступному рівнянні: (1 + sin (широта)) / 2
Салейка

18

Оригінальна відповідь

Я здогадуюсь, що горизонтальні одиниці для вашого растру знаходяться в градусах або в дугових секундах. Вам потрібно відхилити цей растр до просторової проекції, де горизонтальні та вертикальні одиниці однакові (тобто, якщо вертикальні одиниці знаходяться в метрах, то я пропоную використовувати UTM, який має горизонтальні одиниці метрів).

Щоб відхилити растр за допомогою ArcCatalog / ArcGIS, подивіться у:

ArcToolbox> Інструменти управління даними> Проекції та перетворення> Растр> Проектний растр

Виберіть проектовану просторову орієнтир, що охоплює вашу область інтересів, наприклад, спробуйте зону UTM. Є багато інших варіантів, які найкраще зафіксовано в посібнику . Зауважте, ви не можете створити набір даних нахилу для всієї Землі (якщо це намагаєтесь зробити).

Краще відповідь, використовуючи GDAL зі шкалою

Тепер, коли дані SRTM доступні у всьому світі, я фактично можу бачити та працювати з файлами. gdaldemУтиліта від GDAL можна обчислити крутизну і відмивання з використанням шкали опції для співвідношення вертикальних блоків до горизонталі. Посібник рекомендує 111120 м / ° для такого типу, як плитка SRTM. Так, наприклад, з оболонки OSGeo4W:

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

Цей -compute_edgesваріант робить краї більш безшовними, якщо ви хочете зшити кілька плиток разом. Або обчислити плитку для великого регіону. Недоліком методу "масштабу" є те, що відстані в напрямках EW і NS не рівні, крім випадків на екваторі, тому для плиток, розташованих ближче до полюсів, можуть бути деякі дивні хибні подання укосу.


Варто підкреслити ваш остаточний коментар: це невдале рішення для очок, що не поруч з екватором. Це не мала справа "дивних хибних уявлень": результати будуть грубо помилковими, особливо в місцях, ближчих до поляків, ніж екватору. Документація для gdaldemдержав "Для місць, розташованих неподалік від екватора, було б найкраще повторно відремонтувати вашу сітку за допомогою gdalwarp перед використанням gdaldem." На жаль, це не буде працювати для наборів даних, що охоплюють земну кулю, якщо ви не розділите їх на невеликі шматочки (можливо, 74 зони UTM?), Спроектуйте їх, обчисліть нахили та мозаїкуйте результати.
whuber

7

Простіше кажучи, його немає. За визначенням система координат на основі ступенів не проектується. Ми говоримо, що WGS84 - це "географічна" прогноза, але це неправда, просто для зручності.

Я думаю, що пам’ятаю, як читав про програмне забезпечення чи процес для точної роботи з моделями висот у непрогнозованому географічному просторі, але зараз не можу його знайти. У будь-якому випадку це було б експериментально або будувати його самостійно з кодового процесу.


А-а-а, знайшов це: розробка глобального набору даних по схилах для оцінки стану виникнення зсувів, спричинених землетрусами (USGS). Сторінка 4 добре описує проблему

... довжина одного ступеня змінюється залежно від його широтного розташування. На екваторі одноградусовий блок на один градус є розумно квадратним при перетворенні на одиниці метрів (111,321 метр у напрямку x на 110,567 метрів у напрямку у ... але ближче до полюсів відстані в напрямок x зменшується як функція косинуса широти внаслідок конвергенції меридіанів. Більшість пакетів ГІС, включені в ArcGIS, працюють лише на квадратних пікселях і, використовуючи коефіцієнт, регулюють розміри x, y або z на загальний підрозділ неможливий.

У статті йдеться про опис конкретних обчислень та програмних засобів ( , , ), які вони використовували для вирішення цієї основної проблеми. Документ не містить коду, але, якщо їх запитають, вони можуть поділитися. У будь-якому випадку, хоча я, мабуть, просто запитаю, де результати, будучи USGS, це, мабуть, вже десь в Інтернеті. :)


1
Припущення, що азимутальна рівновіддалена проекція може бути використана для обчислення схилів, є помилковим та неправильним. Це дійсно дасть правильні нахили біля початку проектування, але вони також стануть прогресивно менш точними, оскільки відстань до початку почне збільшуватися.
качан

дякую за вказівку на це. Читачі, будь ласка, читайте також gis.stackexchange.com/a/40464/108 , для балансу
matt wilkie

2

Глобальні параметри DEM (де більшість формул базується на припущенні про евклідовий простір) можна ефективно вивести за допомогою системи GRID EQUI7 (Bauer-Marschallinger et al., 2014). EQUI7 GRID розбиває світ на 7 земельних ділянок, усі вони проектуються в рівновіддаленій системі проекції з мінімальною втратою точності. Дивіться на прикладі глобальної DEM з роздільною здатністю 250 м у GRID EQUI7. Тут ви можете знайти зразок коду, який показує, як отримати глобальні параметри DEM за допомогою SAGA GIS. Після завершення отримання параметрів DEM в системі EQUI7 GRID ви можете перетворити всі карти в координати WGS84, longlatа потім створити глобальну мозаїку за допомогою GDAL.


Чи можете ви пояснити, як це відповідає на питання? Якщо ви пропонуєте використовувати проекції на однакові відстані для обчислення нахилу, будь ласка, пам’ятайте, що це погане рішення через великі відносні метричні спотворення, які виникають у міру того, як одна рухається від центру проекції. Хоча зосередження семи таких проекцій на наземних масах допомагає полегшити цю проблему, це все-таки не найкращий вибір.
whuber

Документ Bauer-Marschallinger та ін. (2014) пояснює, чому саме ці прогнози були обрані для відображення глобальних земельних масивів (передбачається, що вони мають мінімальну втрату в точності). Я погоджуюся, що будь-яке двовимірне прогнозування врешті-решт призведе до деформацій, але, наскільки я знаю, EQUI7 - це хороший компроміс між втратою в точності та кодовим (2D алгебра). Сказавши це, шестикутники знову використовуються для представлення глобальних наземних поверхонь (хоча DEM-аналіз із 3D-шестикутниками все ще є громіздким).
Tom Hengl

Дякую за довідку. Анотація дозволяє припустити, що вона вирішує зовсім іншу проблему, як "мінімізація локального перевитрати даних, що з'являються під час проекції загальних супутникових зображень на звичайну растрову сітку". Це не означає, що воно буде добре працювати для інших цілей, наприклад, для оцінки схилів.
whuber

Звичайно, EQUI7 не вирішує абсолютно проблему точного оцінювання локальних схилів, але це, мабуть, більш елегантне рішення, ніж використання запропонованої вище проекції Меркатора. Зрештою, якщо хочеться оцінити схили з ідеальною точністю, то єдиними варіантами є, ймовірно, (1) використання локальних (рівновіддалених) проекцій на плитки меншого розміру (наприклад, 100 на 100 км) з 10-20% перекриттям, як згадувалося також у Вердін та ін. (2007) або (2) для використання шестикутної сітки ( dggridR пакет ).
Том Хенгл

Проблема не в точності - вона полягає у створенні систематично упереджених схилів та аспектів. Оскільки рівнобедрені проекції по-різному спотворюють напрямки, ортогональні геодезичним кодам, що виникають у їхніх центрах, аспекти завжди будуть помилковими (хоча і досить точними близько до центрів, де все спотворення низькі), і помилки на схилах будуть швидко зростати з відстані. Використання багатьох локальних проекцій, звичайно, спрацює, але це зовсім протилежна елегантності, яку ви цінуєте.
whuber

-2

Схил піднімається / бігає. Обчислити підйом і обчислити запуск, і у вас є відповідь. Розрахувати відстань між географічними координатами нескладно. Це призведе до меншої помилки перекомпонування в порівнянні з перетворенням в UTM тощо.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.