Использование SRTM Global DEM для расчета уклона?


17

Я скачал SRTM GDEM (разрешение ~ 90 км).

Я использую ArcGIS 10.

Я попытался использовать пространственный аналитик для вычисления наклона.

Тем не менее, я не могу вычислить для склона.

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

Я не совсем уверен, в чем проблема?


Это зависит от того, где вы анализируете в мире. Есть разные прогнозы для каждого места. Где вы обследуете?
DJQ

5
Разрешение на самом деле ~ 90 м, а не ~ 90 км.
Ахелес

Просто комментарий, если вы на обслуживании для Desktop, вы можете войти в ArcGIS Online и использовать их сервисы повышения прав (без необходимости расширения NA). Слой наклона может свободно использовать в качестве опорного слоя. В Австралии у нас есть 1-секундные данные SRTM (~ 30 млн. Разрешений
Саймон,

Ответы:


29

Это кажется хорошим местом для описания простого, быстрого и более чем достаточно точного способа вычисления уклонов для глобальной матрицы высот .

принципы

Напомним, что уклон поверхности в точке по существу является наибольшим отношением «подъема» к «пробегу», встречающегося на всех возможных опорах с этой точки. Проблема заключается в том, что когда проекция имеет искажение масштаба, значения «прогон» будут неправильно рассчитаны. Еще хуже, когда искажение шкалы изменяется в зависимости от направления - что имеет место со всеми неконформными проекциями - то, как наклон изменяется в зависимости от направления, будет неверно оценено, что не позволит точно определить максимальное отношение подъема: пробега (и искажать расчет аспекта).

Мы можем решить эту проблему, используя конформную проекцию, чтобы гарантировать, что искажение масштаба не изменяется в зависимости от направления, а затем скорректировав оценки наклона, чтобы учесть искажение масштаба (которое изменяется от точки к точке по всей карте). Хитрость заключается в том, чтобы использовать глобальную конформную проекцию, которая допускает простое выражение для ее искажения масштаба.

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

Вычислите наклон (как подъем: пробег или процент), используя проекцию Меркатора, затем разделите результат на косинус широты.

Workflow

Чтобы сделать это с сеткой, заданной в десятичных градусах (такой как ЦМР SRTM), выполните следующие шаги:

  1. Создайте сетку широты. (Это просто сетка с координатами y.)

  2. Вычислить его косинус.

  3. Спроецируйте как DEM, так и косинус широты, используя проекцию Меркатора, масштаб которой истинен на экваторе.

  4. При необходимости преобразуйте единицы измерения высоты, чтобы согласовать их с единицами проецируемых координат (обычно в метрах).

  5. Вычислить уклон проектируемой матрицы высот либо в виде чистого уклона, либо в процентах ( не в качестве угла).

  6. Разделите этот наклон на спроектированную косинусную (широтную) сетку.

  7. При желании перенесите сетку уклона в любую другую систему координат для дальнейшего анализа или картирования.

Ошибки в расчетах уклона будут составлять до 0,3% (поскольку в этой процедуре используется модель сферической земли, а не эллипсоидальная, которая сглаживается на 0,3%). Эта ошибка существенно меньше, чем у других ошибок, которые входят в расчеты уклона, и поэтому ими можно пренебречь.


Полностью глобальные расчеты

Проекция Меркатора не может справиться ни с одним полюсом. Для работы в полярных регионах рассмотрите возможность использования полярной стереографической проекции с истинным масштабом на полюсе. Искажение шкалы равно 2 / (1 + sin (f)). Используйте это выражение вместо sec (f) в рабочем процессе. В частности, вместо того, чтобы вычислять сетку косинуса (широты), вычислите сетку, значения которой (1 + sin (широта)) / 2 ( правка : используйте -latitude для Южного полюса, как обсуждалось в комментариях). Затем действуйте точно так же, как и раньше.

Для получения полного глобального решения рассмотрите возможность разбиения наземной сетки на три части - по одной вокруг каждого полюса и по одной вокруг экватора - выполнение вычисления наклона отдельно в каждой части с использованием подходящей проекции и составление мозаики результатов. Разумное место для разделения земного шара - вдоль окружностей широты на широтах 2 * ArcTan (1/3), что составляет около 37 градусов, потому что на этих широтах поправочные коэффициенты Mercator и Stereographic равны друг другу (имеют общее значение 5/4) и было бы неплохо минимизировать размеры внесенных исправлений. В качестве проверки вычислений сетки должны находиться в очень тесном согласии в тех случаях, когда они перекрываются (небольшие неточности с плавающей запятой и различия из-за повторной выборки проектируемых сеток должны быть единственными источниками расхождений).

Ссылки

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


7
Я нахожусь в положении, как я часто делаю, еще раз поблагодарить whuber за описание решения, а также за обоснование, которое его строит. Моя шляпа снята вам, сэр.
Мэтт Уилки

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

ааа. благодарю за разъяснение. Я восстановил ответ, доверяя людям достаточно информации, чтобы сделать осознанный выбор :)
matt wilkie

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

Это отличный подход, и я уже использовал ваше решение для создания глобального растра с уклоном. Один совет из практического опыта: поскольку значения широты к югу от экватора отрицательны, вы должны использовать значение абсолютной широты в следующем уравнении: (1 + грех (широта)) / 2
Saleika

18

Оригинальный ответ

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

Чтобы перепроектировать растр с помощью ArcCatalog / ArcGIS, посмотрите:

ArcToolbox> Инструменты управления данными> Проекции и преобразования> Растр> Project Raster

Выберите прогнозируемую пространственную привязку, которая охватывает интересующий вас регион, например, попробуйте зону 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 метра в направлении y ... но ближе к полюсам расстояния в Направление x уменьшается в зависимости от косинуса широты из-за сходимости меридианов. Большинство пакетов ГИС, включая ArcGIS, работают только с квадратными пикселями, и поэтому используют коэффициент для корректировки размеров x, y или z, чтобы общая единица невозможна.

Далее в статье описываются конкретные вычисления и программные инструменты ( , , ), которые они использовали для решения этой фундаментальной проблемы. Документ не содержит код, но если его спросить, они могут поделиться. В любом случае, хотя я бы, вероятно, просто спросил, где результаты, будучи USGS, он, вероятно, уже где-то онлайн. :)


1
Предложение этой статьи, что азимутальная эквидистантная проекция может использоваться для вычисления уклонов, ошибочно и неверно. Это действительно даст правильные наклоны около начала проекции, но они также будут становиться все менее и менее точными с увеличением расстояния до начала.
whuber

спасибо за указание этого. Читатели, пожалуйста, прочитайте также gis.stackexchange.com/a/40464/108 , для баланса
Matt Wilkie

2

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


Не могли бы вы объяснить, как это отвечает на вопрос? Если вы предлагаете использовать эквидистантные проекции для расчета уклона, имейте в виду, что это плохое решение из-за больших относительных метрических искажений, возникающих при выходе из центра проекции. Хотя сосредоточение семи таких прогнозов на суше помогает облегчить эту проблему, это все же не лучший выбор.
whuber

Бумага Bauer-Marschallinger et al. (2014) объясняет, почему эти прогнозы были выбраны для представления глобальных массивов суши (предполагается, что они имеют минимальные потери в точности). Я согласен, что любая 2D проекция в конечном итоге приведет к деформациям, но, насколько мне известно, EQUI7 является хорошим компромиссом между потерей точности и комодности (2D алгебра). Сказав это, шестиугольники снова используются для представления глобальных земных поверхностей (хотя анализ матрицы высот с использованием трехмерных шестиугольников по-прежнему громоздок).
Том

Спасибо за ссылку. Его реферат предполагает, что он решает совершенно другую проблему - «минимизацию избыточной выборки локальных данных, появляющейся при проецировании общих спутниковых изображений в обычную растровую сетку». Это не означает, что он будет хорошо работать для других целей, таких как оценка уклонов.
whuber

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

Проблема не в точности - она ​​заключается в создании систематически смещенных склонов и аспектов. Поскольку эквидистантные проекции дифференциально искажают направления, ортогональные геодезическим, исходящим из их центров, аспекты всегда будут неправильными (хотя и достаточно точными вблизи центров, где все искажения низкие), и ошибки на склонах будут быстро расти с расстоянием. Использование многих местных проекций, конечно, будет работать, но это полная противоположность элегантности, которую вы цените.
whuber

-2

Склон является подъем / бег. Вычислите рост и вычислите пробег, и у вас есть свой ответ. Это просто вычислить расстояние между географическими координатами. Это приведет к меньшей ошибке повторной выборки по сравнению с преобразованием в UTM и т. Д.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.