Qgis рельеф по точкам

Работа с цифровой моделью рельефа¶

This tutorial is now obsolete. A new and updated version is available at Working with Terrain Data (QGIS3)

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

Обзор задачи¶

Нужно создать карту с изолиниями и теневой отмывкой для окрестности горы Эверест.

Вы научитесь также¶

искать и загружать бесплатно доступные пространственные данные;

экспортировать векторный слой в формат KML и просматривать в Google Earth.

Получение данных¶

Мы будем работать с набором данных GMTED2010 от Геологической службы США. Эти данные могут быть загружены с сайта USGS Earthexplorer. GMTED (Global Multi-resolution Terrain Elevation Data) — это глобальный набор данных о рельефе, который является новой версией набора данных GTOPO30.

Как искать и загружать релевантные данные с сайта USGS Earthexplorer:

Зайдите на сайт USGS Earthexplorer . На вкладке :guilabel: Search Criteria , введите в строку поиска Mt. Everest . Нажмите на результат поиска, чтобы выбрать место.

    На вкладке Data Sets разверните группу Digital Elevation и выберите GMTED2010 .

    Теперь вы можете перейти ко вкладке Results и увидеть часть набора данных, удовлетворяющую критериям поиска. Нажмите кнопку Download Options . Теперь вам нужно будет авторизоваться. Вы можете создать бесплатную учетную запись, если ее у вас нет.

    Выберите опцию 30 ARC SEC и нажмите Select Download Option .

Теперь у вас есть файл с именем GMTED2010N10E060_300.zip . Данные высот распространяются в различных растровых форматах, таких как ASC, BIL, GeoTiff и т.д. QGIS поддерживает широкий спектр растровых форматов через библиотеку GDAL. Данные GMTED поставляются в виде файлов GeoTiff, содержащихся zip-архиве.

Для удобства вы можете загрузить копию данных напрямую по приведенной ниже ссылке:

Методика¶

Откройте меню Layer ‣ Add Raster Layer и найдите загруженный zip-файл.

    В нем содержится много различных файлов, сгенерированных по различным алгоритмам. Для этого урока мы будем использовать файл с именем 10n060e_20101117_gmted_mea300.tif .

    Вы увидите данные рельефа, отрисованные на карте QGIS. Каждый пиксель растра рельефа характеризует среднюю высоту в метрах в этой точке. Чем светлее пиксель, тем большую высоту он представляет.

    Let’s find our area of interest. From Wikipedia, we find that the coordinates for our area of interest — Mt. Everest — is located at the coordinates 27.9881° N, 86.9253° E. Note that QGIS uses the coordinates in (X,Y) format , so you must use the coordinates as (Longitude, Latitude). Paste 86.9253,27.9881 these at the bottom of QGIS window where it says Coordinate and press Enter. The viewport will be centered at this coordinate. To zoom in, Enter 1:1000000 in the Scale field and press Enter. You will see the viewport zoom to the area around the Himalayas.

    We will now crop the raster to this area of interest. Select the Clipper tool from Raster ‣ Extraction ‣ Clipper .

    The Raster menu in QGIS comes from a core plugin called GdalTools . If you do not see the Raster menu, enable the GdalTools plugin from Plugins ‣ Manage and install plugins ‣ Installed . See Использование модулей расширения for more details.

    In the Clipper window, name your output file as everest_gmted30.tif . Select the Clipping mode as Extent .

    Keep the Clipper window open and switch to the main QGIS window. Hold your left mouse button and draw a rectangle covering the full canvas.

    Now back in the Clipper window, you will see the coordinates auto-populated from your selection. Make sure the Load into canvas when finished option is checked, and click OK.

    Once the process finishes, you will see a new layer loaded in QGIS. This layer covers only the area around Mt. Everest.Now we are ready to generate contours. Select the contour tool from Raster ‣ Extraction ‣ Contour .

    In the Contour dialog, select everest_gmted30 as the Input file . Name the Output file for contour lines as everest_countours.shp . We will generate contour lines for 100m intervals, so put 100 as the Interval between contour lines. Also check the Attribute name option so elevation value will be recorded as attribute of each contour line. Click OK .

    Once the processing is complete, you will see contour lines loaded into the canvas. Each line in this layer represents a particular elevation. All points along a countour line in the underlying raster would be at the same elevation. The closer the lines, the steeper the slope. Let’s inspect the contours a bit more. Right click on the contours layer and choose Open Attribute Table .

    You will see that each line feature has an attribute named ELEV . This is the height in metres that each line represents. Click on the column header a couple of times to sort the values in descending order. Here you will find the line representing the highest elevation in our data, i.e. Mt. Everest.

    Select the top row, and click on the Zoom to selection button.

    Switch to the main QGIS window. You will see the selected contour line highlighted in yellow. This is the area of the highest elevation in our dataset.

    Now let us create a hillshade map from the raster. Select Raster ‣ Analysis ‣ DEM (Terrain Models) .

    In the DEM (Terrain Models) dialog, choose everest_gmted30 as the Input file . Name the Output file as everest_hillshade.tif . Choose Hillshade as the Mode . Leave all other options as is. Make sure the Load into canvas when finished option is checked, and click OK.

    Once the process finishes, you will see yet another raster loaded into QGIS canvas. Since you maybe zoomed-in near the Mt.Everest region, right click on the everest_hillshade layer and choose Zoom to Layer Extent .

    Now you will see the full extent of the hillshade raster.

    Вы также можете визуализировать слой горизонталей и проверить свой анализ, экспортировав слой в формат KML и загрузив его в Google Earth. Щелкните правой кнопкой мыши на слое горизонталей, выберите Save as.. .

    Выберите Keyhole Markup Language [KML] в строке Format . Назовите результирующий файл contours.kml и нажмите OK .

    Перейдите к файлу с результатом на вашем диске и двойным кликом откройте его в Google Earth.

© Copyright 2021, Ujaval Gandhi.
Обновлено: нояб. 14, 2022.
Created using Sphinx 4.0.1.

Источник

7.3. Занятие: Анализ рельефа местности

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

Цель этого урока: Использовать инструменты анализа местности для того, чтобы получить дополнительные сведения о местности.

7.3.1. Идем дальше: Вычисляем отмывки

Мы будем использовать все тот же слой ЦМР, который был использован в предыдущем уроке. Если вы начинаете этот раздел с нуля, вам надо использовать панель Browser и загрузить raster/SRTM/srtm_41_19.tif .

Слой ЦМР показывает вам высоту местности, но иногда это может показаться немного абстрактным. Он содержит всю необходимую вам трехмерную информацию о местности, но она не выглядит похожей на трехмерный объект. Для того, чтобы получить лучшее представление о местности, можно вычислить отмывку / Hillshade, которая представляет собой растр, отображающий местность с использованием света и тени для создания трехмерного изображения.

Нам надо использовать алгоритмы в меню Raster ► Raster terrain analysis .

Надо кликнуть на меню Hillshade .

Алгоритм позволит вам указать положение источника света: Azimuth имеет значения от 0 (север) до 90 (восток), 180 (юг) и 270 (запад), а Vertical angle настраивает высоту источника света (от 0 до 90 градусов).

Нам надо использовать следующие значения:

Azimuth (horizontal angle) на 300.0 °

Vertical angle на 40.0 °

Сохраните файл в новой папке exercise_data/raster_analysis/ с названием hillshade .

И кликните на кнопку Run

У вас будет новый слой под названием hillshade , который выглядит так:

Красиво выглядит и трехмерно, но можем ли мы улучшить картинку? Сама по себе отмывка выглядит как гипсовая повязка. Разве мы не можем как-то использовать его вместе с другими, более красочными растрами? Конечно, можем, используя отмывку в качестве наложения.

7.3.2. Идем дальше: Используем отмывки в качестве наложения (оверлей)

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

Надо изменить символы исходного слоя srtm_41_19 , чтобы использовать схему Pseudocolor как в предыдущем упражнении.

Надо скрыть все слои, за исключением слоев srtm_41_19 и слоев hillshade .

Кликните на srtm_41_19 и перетащите его и поместите под слой hillshade в панели Layers .

Настроите слой hillshade на прозрачность, кликнув по вкладке Transparency в свойствах слоя.

Настройте Global opacity на 50% .

Вы получите такой результат:

Отключите слой hillshade и включите снова в панели Layers , чтобы увидеть разницу.

Используя отмывку таким образом, вы сможете улучшить топографию ландшафта. Если эффект кажется вам недостаточно сильным, вы можете изменить прозрачность слоя hillshade ; но, конечно, чем ярче становится отмывка, тем тусклее будут цвета за ней. Вам надо найти баланс, который вас устроит.

Не забудьте сохранить проект, когда закончите.

7.3.3. Идем дальше: Поиск наилучших мест

Вспомните о проблеме агента по недвижимости, которую мы в последний раз рассматривали на уроке по векторному анализу. Предположим, что покупатели теперь хотят приобрести здание и построить на его территории небольшой коттедж. Мы знаем, что в Южном полушарии идеальным местом для этого должен быть участок, который:

смотрит на север,

с уклоном менее 5 градусов,

но если уклон меньше 2 градусов, то аспект не имеет значения.

Давайте найдем лучшее место для них.

7.3.4. Идем дальше: Вычисляем уклон

Уклон показывает, уровень отвесности рельефа. Если, например, вы хотите построить на этой земле дома, то вам нужна относительно ровная земля.

Чтобы вычислить уклон, вам надо использовать алгоритм Slope в Processing ► Raster terrain analysis .

Вам надо открыть алгоритм.

Выберите srtm_41_19 в качестве Elevation layer .

Установите Z factor на 1.0 .

Сохраните выход как файл с названием slope в той же папке, что и hillshade .

Кликните на кнопку Run .

Теперь вы увидите уклон рельефа. Каждый пиксель показывает соответствующее значение уклона. Черные пиксели показывают ровный рельеф, а белые – крутой рельеф:

7.3.5. Попробуйте сами вычислить аспект

Аспект — направление по компасу, к которому обращен уклон местности. Значение аспекта 0 означает, что уклон обращен на север, 90 на восток, 180 на юг и 270 на запад.

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

Вам надо использовать алгоритм Aspect в Processing ► Raster terrain analysis для того, чтобы сохранить слой aspect вместе с slope .

7.3.6. Идем дальше: Находим северную сторону

У вас теперь есть растры, которые показывают уклон, а также аспект, но вы пока не знаете, каковы идеальные условия. Как можно было бы провести этот анализ?

Ответ сидит внутри Raster calculator .

У QGIS есть различные калькуляторы растра:

Raster ► Raster Calculator

Raster Analysis ► Raster calculator

GDAL ► Raster miscellaneous ► Raster calculator

SAGA ► Raster calculus ► Raster calculator

Каждый инструмент дает один и тот же результат, но синтаксис может немного отличаться, а наличие операторов может отличаться.

Нам надо использовать Raster Analysis ► Raster calculator в панели инструментов обработки.

Надо открыть инструмент, дважды кликнув по нему:

В верхней левой части диалогового окна перечислены все загруженные растровые слои как name@N , где name это название слоя и N это группа.

В правой верхней части вы увидите много разных операторов. На мгновение подумайте и представьте, что растр — это изображение. Вы должны представить его как 2D-матрицу, заполненную числами.

Север находится под углом 0 (ноль) градусов, поэтому, чтобы местность смотрела на север, его аспект должен быть больше 270 градусов или меньше 90 градусов. Поэтому, формула такова:

Теперь вам нужно настроить детали растра, например, размер ячейки, масштаб и ССК. Можно вручную или автоматически, выбрав Reference layer . Выберите эту последнюю опцию, нажав на кнопку … рядом с параметром Reference layer(s) .

В диалоговом окне надо выбрать слой aspect так как мы хотим получить слой с таким же разрешением.

Сохраните слой как aspect_north .

Диалоговой окно должно выглядеть так:

И наконец надо кликнуть на кнопку Run .

Вы получите такой результат:

Выходные значения 0 или же 1 . Что это означает? Для каждого пикселя в растре написанная нами формула, показывает, соответствует ли она условиям или нет. Поэтому окончательный результат будет Неверно (0) и Верно (1).

7.3.7. Попробуйте сами: Больше критериев

Теперь после того как вы закончили аспект, создайте два новых слоя из ЦМР.

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

Второй аналогичен, но уклон должен быть меньше или равен 5 градусам.

Сохраните их внутри exercise_data/raster_analysis как slope_lte2.tif и slope_lte5.tif .

7.3.8. Идем дальше: Объединяем результаты анализа растра

Вы теперь получили три растровых слоя из ЦМР:

aspect_north : местность, обращенная на север

slope_lte2 : уклон, равный 2 градусу или ниже

slope_lte5 : уклон не более 5 градусов

Если условие выполняется, значение пикселя равно 1 . В остальных случаях он равен 0 . Поэтому, если вы умножите эти растры, пиксели со значением 1 для всех они получат значение 1 (остальные получат 0 ).

Условия, которые должны быть выполнены:

при уклоне 5 градусов или ниже местность должна быть обращена на север,

при уклоне 2 градуса или ниже направление местности не имеет значения.

Поэтому, вам нужно найти местность, где уклон не превышает пяти градусов AND местность смотрит на севр, OR уклон не более 2 градусов. Такая местность подойдет для постройки.

Чтобы вычислить ту местность, которая соответствует этим критериям, необходимо сделать следующее:

Надо открыть снова Raster calculator .

Используйте это выражение в Expression :

Надо настроить параметр Reference layer(s) на aspect_north (неважно, выберете ли вы другой – они все были вычислены из srtm_41_19 ).

Сохраните выход/результат внутри exercise_data/raster_analysis/ как all_conditions.tif .

Кликните на кнопку Run

Предыдущие шаги можно было упростить с помощью следующей команды:

7.3.9. Идем дальше: Упрощаем растр

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

Надо открыть инструмент Sieve ( GDAL ► Raster Analysis внутри Processing Toolbox ).

Настройте Input file на all_conditions , а Sieved на all_conditions_sieve.tif (внутри exercise_data/raster_analysis/ ).

Установите Threshold до 8 (минимум восемь смежных пикселей) и отметьте Use 8-connectedness .

После завершения обработки будет загружен новый слой.

Что происходит? Ответ кроется в метаданных нового растрового файла.

Просмотрите метаданные внутри вкладки Information диалогового окна Layer Properties . Посмотрите на значение STATISTICS_MINIMUM :

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

Надо открыть Raster Calculator и построить это выражение:

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

Сохраните выход/результат внутри exercise_data/raster_analysis/ как all_conditions_simple.tif .

Ваш выход/результат выглядит так:

Что и следовало ожидать: упрощенная версия предыдущих результатов. Помните, что если результаты, которые вы получаете, не соответствует вашим ожиданиям, надо посмотреть на метаданные (и атрибуты вектора, если есть), которые помочь решить эти проблемы.

7.3.10. Идем дальше: Пере-классификация растра

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

Вернемся к слою aspect . Нам известно, что он имеет числовые значения в диапазоне от 0 до 360. Нам надо пере-классифицировать этот слой на другие дискретные значения (от 1 до 4) в зависимости от аспекта:

1 = север (от 0 до 45 и от 315 до 360);

2 = Восток (от 45 до 135);

3 = Юг (от 135 до 225);

4 = Запад (от 225 до 315).

Эту операцию можно выполнить с помощью калькулятора растра, но формула станет очень длинной.

Альтернативный инструмент это инструмент Reclassify by table в Raster analysis внутри Processing Toolbox .

Надо открыть этот инструмент.

Выберите aspect как Input raster layer .

Кликните на кнопку … из Reclassification table . Появится диалоговое окно в виде таблицы, в котором вы можете выбрать минимальные, максимальные и новые значения для каждого класса.

Кликните на кнопку Add row и добавьте 5 строк. Заполните каждую строку, как показано на следующем рисунке, и кликните на кнопку OK :

Метод, используемый алгоритмом для обработки пороговых значений каждого класса, определяется Range boundaries .

Сохраните слой как reclassified.tif внутри папки exercise_data/raster_analysis/ .

Кликните на кнопку Run .

Если вы сравните исходный слой aspect со слоем reclassified , вы не увидите больших различий. Но посмотрев на символы, вы увидите, что значения начинаются от 1 до 4 .

Давайте улучшим стиль этого слоя.

Надо открыть панель Layer Styling .

Выберите Paletted/Unique values , вместо Singleband gray .

Кликните на кнопку Classify для того, чтобы автоматически получить значения и присвоить им случайные цветов:

Выход/результат должен выглядеть следующим образом (цвета у вас могут быть разными, если они были сгенерированы случайным образом):

Применив к слою данную пере-классификацию и стиль палитры, вы можете сразу различать области аспекта.

7.3.11. Идем дальше: Запрос к растру

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

Все растровые слои, которые мы использовали в этом упражнении, состоят только из одной полосы. В зависимости от слоя значения пикселей могут показывать значения высоты, аспекта или уклона.

Как мы можем запросить растровый слой, чтобы получить значение пикселя? Мы можем использовать кнопку Identify Features !

Надо выбрать инструмент в панели инструментов «Атрибуты».

Кликните на случайное место в слое srtm_41_19 . Появится Identify Results со значением полосы в месте, которое вы выбрали:

Вы сможете изменить выход панели Identify Results из текущего режима tree на режим table , выбрав Table в меню View внизу панели:

Через некоторое время вам может надоесть нажимать на каждый пиксель для получения значения растра. Мы можем использовать плагин Value Tool для решения этой проблемы.

Надо перейти на Plugins ► Manage/Install Plugins…

Во вкладе All наберите value t в поле поиска.

Выберите плагин Value Tool, кликните на Install Plugin , а потом Close диалоговое окно.

Появится новая панель Value Tool .

Если вы закроете панель, вы сможете снова открыть ее, активировав ее в View ► Panels ► Value Tool или кликнув на значок на панели инструментов.

Чтобы использовать плагин, просто кликните на флажок Enable и убедитесь, что слой srtm_41_19 является активным (отмечен) в панели Layers .

Наведите курсор на карту, чтобы увидеть значение пикселей.

Но есть еще кое-что. Плагин Value Tool позволяет запрашивать все активные растровые слои в панели Layers . Сделайте слои aspect и slope снова активными и наведите указатель мыши на карту:

7.3.12. В заключении

Вы посмотрели, как можно получить все виды аналитических продуктов из ЦМР. К ним относятся вычисление отмывки, уклона и аспекта. Вы также узнали, как использовать калькулятор растра для дальнейшего анализа и объединения этих результатов. И наконец, вы узнали, как пере-классифицировать слой и как запрашивать результаты.

7.3.13. Что дальше?

Теперь у вас есть два анализа: векторный анализ, показывающий вам потенциально подходящие участки, и растровый анализ, который показывает потенциально подходящую местность. Как их можно объединить, чтобы получить окончательный результат для решения этой проблемы? Это будет темой следующего урока, который начинается со следующего модуля.

© Copyright 2002-now, QGIS project. Обновлено: апр. 02, 2022 16:05.

Источник

По теме:  Физико географическая характеристика кольского полуострова
ТОПоГИС
Adblock
detector