-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathEx15_DemAnalysis.Rmd
437 lines (273 loc) · 30.8 KB
/
Ex15_DemAnalysis.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
# Цифровое моделирование рельефа {#dem}
[Скачать данные и файл отчета](https://carto.geogr.msu.ru/gis/data/Ex15.zip)
## Введение {#dem-intro}
**Цель** — научиться на основе цифровой модели рельефа выделять водотоки и их водосборные бассейны в автоматическом режиме. Осуществлять расчет статистики по высотам в рамках выделенных бассейнов
Параметр Значение
-------------------------- --------
*Теоретическая подготовка* Растровая модель пространственных данных. Цифровые модели рельефа (ЦМР) и их типы, построение ЦМР, построение производных поверхностей (углы наклона, направление тока, площадь водосбора). Гидрологический анализ ЦМР и его принципы.
*Практическая подготовка* Знание основных компонент интерфейса ArcGIS Desktop (каталог, таблица содержания, карта). Настройка символики и подписей объектов. Создание базы геоданных и классов пространственных объектов. Инструменты геообработки ArcToolbox. Создание компоновки карты: название легенда, масштаб, градусная сетка.
*Исходные данные* Цифровая модель рельефа по данным топографической карты масштаба 1:200 000.
*Результат* Карта водотоков и их водосборных бассейнов, построенная по ЦМР, с указанием средней высотой каждого бассейна.
*Ключевые слова* Цифровая модель рельефа, гидрологический анализ ЦМР.
### Контрольный список {#dem-control}
* Добавить на карту цифровую модель рельефа и визуализировать ее методом послойной окраски
* Построить растр направлений тока
* Построить растр площади водосбора
* Выделить тальвеги путем запроса
* Присвоить тальвегам порядок по методу Стралера
* Векторизовать тальвеги
* Получить устья тальвегов
* Разделить устья впадающих водотоков
* Привязать полученные точки к растру аккумуляции тока
* Построить водосборные бассейны
* Конвертировать полученные бассейны в векторный вид
* Рассчитать статистику по высотам в пределах бассейнов
* Привязать рассчитанную статистику к площадям бассейнов
* Подписать бассейны по значению средней высоты
* Завершить оформление карты в режиме компоновки
### Аннотация {#dem-annotation}
Цифровые модели рельефа играют важную роль в гидрологическом и геоморфологическом анализе. Одно из основных приложений ЦМР, позволивших значительно упростить анализ речных систем, — это автоматизированное построение водосборов и расчет их морфометрических характеристик.
В задании вам предстоит автоматически выделить тальвеги и водосборы по цифровой модели рельефа. Тальвеги будут классифицированы вами согласно их порядкам, а для каждого бассейна определена средняя высота. Задание завершается оформлением карты в режиме компоновки.
## Оформление данных {#dem-design}
[В начало упражнения ⇡](#dem)
1. Скопируйте каталог *Ex15* в свою папку.
2. Подключитесь в окне каталога к вашей папке *Ex15*. Убедитесь, что в ней находится база геоданных *Ex15.gdb*.
3. Используя контекстное меню базы данных, назначьте ее базой данных по умолчанию.
4. Добавьте на карту слой *dem*. Это цифровая модель рельефа в растровом формате.
5. Измените оформление слоя следующим образом:
Параметр Значение
--------------------- --------
*Способ отображения* Classified
*Интервал* С равным шагом (Defined Interval), сечение 20 м.
*Цветовая шкала* Scale\_termo2: ![](images/Ex15/image7.png)
Диалог примет следующий вид:
![](images/Ex15/image8.png)
1. Измените красный цвет шкалы на оранжевый. Для этого в контекстном меню цветовой шкалы выберите команду **Properties...**. В появившемся диалоге дважды щелкните на бело-красном градиенте и замените красный цвет на оранжевый *Electron Gold*:
![](images/Ex15/image9.png)
1. Завершите настройку шкалы, нажав **ОК** и еще раз **ОК**.
2. Измените сортировку значений на вкладке **Symbology** таким образом, чтобы вверху оказались самые большие высоты. Нажмите **ОК**, чтобы закрыть диалог настройки слоя.
3. Измените название слоя *dem* на «Послойная окраска».
4. Дополнительно к послойной окраске постройте горизонтали, чтобы усилить пластику рельефа. Для этого запустите инструмент геообработки **Spatial Analyst Tools > Surface > Contour** и заполните его параметры следующим образом:
Параметр Значение
--------------------------- --------
*Input Raster* Послойная окраска
*Output Polyline Features* `…\Ex15\Ex15.gdb\contours`
*Contour interval* 20
Величина сечения рельефа указывается в параметре **Contour Interval**. Остальные параметры оставьте по умолчанию и нажмите **ОК**. Полученный слой будет добавлен на карту.
1. Переименуйте слой в *«Горизонтали»* и измените его оформление следующим образом:
Параметр Значение
--------------- --------
*Цвет линии* Черный
*Толщина линии* 0,2
*Прозрачность* 90%
Изображение примет следующий вид:
![](images/Ex15/image10.png)
<kbd>**Снимок экрана №1.** Изображение рельефа методом горизонталей с послойной окраской</kbd>
Сохраните документ карты в свою папку *Ex15* под именем *Ex15\_DemAnalysis.mxd*.
## Направление тока {#dem-flowdir}
[В начало упражнения ⇡](#dem)
Растр направления тока показывает в каждой ячейке направление максимального уклона. Он необходим для построения водосборных бассейнов и прочих задач гидрологического и морфометрического анализа.
Для построения растра направлений тока запустите инструмент **Spatial Analyst Tools > Hydrology > Flow Direction** и заполните его параметры следующим образом:
Параметр Значение
------------------------------- --------
*Input Raster* Послойная окраска
*Output flow direction raster* `…\Ex15\Ex15.gdb\dir`
Нажмите **ОК**. Полученный слой будет добавлен на карту:
![](images/Ex15/image11.png)
<kbd>**Снимок экрана №2.** Растр направления тока</kbd>
## Водосборная площадь (аккумуляция тока) {#dem-flowacc}
[В начало упражнения ⇡](#dem)
Растр аккумуляции тока в каждой ячейке хранит количество ячеек, дренируемых выше по склону. Фактически, это число показывает водосборную площадь для каждой ячейки. Площадь водосбора необходима для автоматического выделения водотоков (тальвегов) по цифровой модели рельефа.
1. Для построения растра аккмуляции тока запустите инструмент **Spatial Analyst Tools > Hydrology > Flow Accumulation** и заполните его параметры следующим образом:
Параметр Значение
--------------------------------- --------
*Input Raster* dir
*Output flow accumulation raster* `…\Ex15\Ex15.gdb\acc`
Нажмите **ОК**. Полученный слой будет добавлен на карту.
1. Чтобы сделать отображение растра аккумуляции тока более наглядным, откройте его свойства и на вкладке **Symbology** измените растяжку гистограммы на метод **Histogram Equalize** (Выравнивание гистограммы):
![](images/Ex15/image12.png)
Картографическое изображение примет следующий вид:
![](images/Ex15/image13.png)
<kbd>**Снимок экрана №3.** Растр аккумуляции тока</kbd>
## Выделение и классификация водотоков {#dem-classify}
[В начало упражнения ⇡](#dem)
Выделение тальвегов осуществляется на основе растра аккумуляции тока. Вы просто задаете запрос следующего вида: «*Водотокам принадлежат те пикселы, в которых значение аккумуляции тока больше заданной величины. Остальные пикселы сделать пустыми*».
1. Для реализации этого запроса используйте инструмент **Spatial Analyst > Conditional > Set Null** со следующими параметрами:
Параметр Значение
--------------------------------------- --------
*Input Conditional Raster* acc
*Expression Value* VALUE < 2000
*Input false raster or constant value* 1
*Output raster* `…\Ex15\Ex15.gdb\str`
По результатам выполнения данного инструмента будут выделены все водотоки, в которых значение аккумуляции тока более *2000*.
1. Измените цвет полученных пикселов на белый, чтобы они были хорошо видны. Изображение примет следующий вид:
![](images/Ex15/image14.png)
<kbd>**Снимок экрана №4.** Водотоки, полученные по растру аккумуляции тока</kbd>
Полученные водотоки можно ранжировать по порядкам.
> При упорядочении водотоков методом *Стралера* номер порядка увеличивается только в том случае, когда встречаются водотоки одного порядка. Водотоки, которые не имеют притоков, имеют порядок равный 1.
1. Запустите инструмент **Spatial Analyst Tools > Hydrology > Stream Order** и заполните его параметры следующим образом:
Параметр Значение
----------------------------- --------
*Input Stream Raster* str
*Input Flow Direction Raster* dir
*Output raster* `…\Ex15\Ex15.gdb\strorder`
*Method of Stream Ordering* STRAHLER
Нажмите **ОК**, чтобы запустить инструмент. Растр классифицированных водотоков будет добавлен на экран. Если все выполнено верно, расцветка водотоков должна соответствовать их порядкам от 1 до 4.
![](images/Ex15/image15.png)
<kbd>**Снимок экрана №5.** Водотоки, классифицированные методом Стралера</kbd>
## Векторизация водотоков {#dem-vectorize}
[В начало упражнения ⇡](#dem)
1. Для получения векторных линий водотоков воспользуйтесь инструментом **Spatial Analyst Tools > Hydrology > Stream to Feature** и заполните его параметры согласно следующей таблице:
Параметр Значение
----------------------------- --------
*Input Stream Raster* strorder
*Input Flow Direction Raster* dir
*Output Polyline Features* `…\Ex15\Ex15.gdb\streams`
*Simplify Polylines* Да
После запуска инструмента в таблицу содержания будут добавлены векторные линии водотоков.
1. Переименуйте полученный слой в *Водотоки*.
2. Визуализируйте водотоки в соответствии с их порядками от 1 до 4. Для этого настройте отображение слоя следующим образом:
Параметр Значение
--------------------------------- --------
*Способ отображения* Категории (Categories—Unique Values)
*Поле отображения (Value Field)* grid\_code (*в нем хранится порядок водотока после векторизации)*
*Цвет линий* Steel Blue ![](images/Ex15/image16.png)
*Толщина линий* 1, 1.5, 2 и 3 пункта
Диалог настройки отображения слоя должен выглядеть примерно следующим образом:
![](images/Ex15/image17.png)
1. Нажмите **ОК**, чтобы применить настройки символики.
2. Измените название поля классификации в легенде с *grid\_code* на «*Порядок*».
3. Отключите все слои, кроме слоев *Водотоки*, *Горизонтали* и *Послойная окраска*.
У вас должно получиться следующее картографическое изображение:
![](images/Ex15/image18.png)
<kbd>**Снимок экрана №6.** Классифицированные векторные линии водотоков</kbd>
Сохраните документ карты.
## Выделение и разделение устьевых точек {#dem-mouth}
[В начало упражнения ⇡](#dem)
Водосборный бассейн в рабочем процессе гидрологического анализа ЦМР строится для одной точки. Если в качестве точки выбрать устье реки, то полученный бассейн будет соответствовать бассейну всей реки. Однако если устье является точкой слияния двух водотоков, будет построен бассейн, *общий для обоих водотоков*. Проблему можно решить, немного сдвинув конечные точки водотоков выше по течению. Для этого можно использовать следующую последовательность действий:
* Получить конечные точки водотоков (устья)
* Построить вокруг точек небольшие буферные зоны радиусом в 2*R*, где *R* — размер ячейки растра ЦМР (*разрешение* ЦМР)
* Полученными зонами обрезать исходные линии водотоков, таким образом их несколько укоротив
* Получить обновленные конечные точки водотоков, которые не совпадают для каждой пары сливающихся притоков.
Приведенная последовательность действий является классическим примером интерпретации задачи в терминах инструментов ГИС-анализа.
1. Запустите инструмент **Data Management Tools > Features > Feature Vertices to Points** со следующими параметрами:
Параметр Значение
----------------------- --------
*Input Features* Водотоки
*Output Feature Class* `…\Ex15\Ex15.gdb\streams_ends`
*Point Type* END (конечные точки)
1. Приблизьтесь к одной из точек слияния водотоков, пока не станут видны отдельные пикселы, чтобы внимательно наблюдать за тем, что будет происходить дальше.
![](images/Ex15/image19.png)
1. Запустите инструмент **Analysis Tools > Proximity > Buffer**, который отвечает за построение буферных зон. Заполните его параметры следующим образом:
Параметр Значение
------------------------- --------
*Input Features* streams\_ends
*Output Feature Class* `…\Ex15\Ex15.gdb\streams_ends_Buffer`
*Distance (Linear Unit)* 200
В таблицу содержания будут добавлены буферные зона вокруг устьев водотоков:
![](images/Ex15/image20.png)
1. Обрежьте водотоки с помощью инструмента **Analysis Tools > Overlay > Erase**. Разберитесь самостоятельно, какие слои следует подставить в параметры **Input Features** и **Erase Features**. Назовите выходной слой *streams\_Erase*.
Отключите временно слои *Водотоки* и *streams\_ends\_Buffer*, результат будет выглядеть следующим образом:
![](images/Ex15/image21.png)
1. Воспользовавшись снова инструментом **Data Management Tools > Features > Feature Vertices to Points**, постройте *конечные* точки для обрезанных водотоков. Будьте внимательны при выборе типа точек (параметр **Point type**). Назовите выходной класс *streams\_Erase\_ends*.
Результат должен выглядеть примерно следующим образом:
![](images/Ex15/image22.png)
<kbd>**Снимок экрана №7.** Точки слияния, смещенные выше по течению</kbd>
2. Сохраните документ карты.
## Построение водосборных бассейнов {#dem-watersheds}
[В начало упражнения ⇡](#dem)
Построение водосборных бассейнов состоит из трех операций:
* привязка точек устья к растру аккумуляции тока,
* проведение границ водосборов в растровом режиме,
* векторизация бассейнов.
1. Запустите инструмент **Spatial Analyst Tools > Hydrology > Snap Pour Point** и заполните его параметры следующим образом:
Параметр Значение
--------------------------- --------
*Input raster* streams\_Erase\_ends
*Input accumulation raster* acc
*Output raster* `…\Ex15\Ex15.gdb\pour`
*Snap Distance* 100
Остальные параметры оставьте по умолчанию. Параметр **Snap distance** указывает радиус поиска, в пределах которого вокруг каждой заданной точки устья будет искаться ячейка с максимальной аккумуляцией тока. В данном случае он равен *100* метрам — разрешению ЦМР.
После выполнения инструмента в окрестности каждой точки появится привязанный пиксел:
![](images/Ex15/image23.png)
1. Для построения границ водосборных бассейнов запустите инструмент **Spatial Analyst Tools > Hydrology > Watershed** и заполните его параметры следующим образом:
Параметр Значение
----------------------------------------- --------
*Input flow direction raster* dir
*Input raster or feature pour point data* pour
*Pour point field* Value
*Output raster* `…\Ex15\Ex15.gdb\wsh`
Полученный растр будет добавлен на экран, вы можете его расцветить в уникальных цветах, чтобы границы бассейнов хорошо читались:
![](images/Ex15/image24.png)
<kbd>**Снимок экрана №8.** Растровый слой водосборных бассейнов</kbd>
1. Конвертируйте полученные бассейны в векторные полигоны. Для этого запустите инструмент **Conversion Tools > From Raster > Raster to Polygon** со следующими параметрами:
Параметр Значение
------------------------- --------
*Input raster* wsh
*Field* Value
*Output polygon features* `…\Ex15\Ex15.gdb\watersheds`
*Simplify polygons* Да
1. Переименуйте полученный слой в «Водосборные бассейны» и измените его символ на тонкую красную линию *без заливки*.
2. Оставьте включенными следующие слои:
* Водотоки
* Водосборные бассейны
* Горизонтали
* Послойная окраска
3. Установите масштаб равным *1:400 000*. Картографическое изображение примет следующий вид:
![](images/Ex15/image25.png)
<kbd>**Снимок экрана №9.** Векторный слой водосборных бассейнов</kbd>
## Расчет, привязка и визуализация статистики по водосборным бассейнам {#dem-statistics}
[В начало упражнения ⇡](#dem)
В пределах границ водосборных бассейнов возможно рассчитать различную статистику по данным ЦМР. Вам предлагается рассчитать статистику по высотам. Далее эту статистику необходимо присоединить к исходному слою бассейнов.
1. Запустите инструмент **Spatial Analyst Tools > Zonal > Zonal Statistics as Table** со следующими параметрами:
Параметр Значение
----------------------------------- --------
*Input raster or feature zone data* Водосборные бассейны
*Zone Field* Id
*Input Value Raster* Послойная окраска
*Output Table* `…\Ex15\Ex15.gdb\stats`
*Statistics Type* ALL
1. Откройте полученную таблицу, чтобы ознакомиться с ее содержимым:
![](images/Ex15/image26.png)
<kbd>**Снимок экрана №10.** Таблица статистики высот по водосборным бассейнам</kbd>
1. Присоедините статистические данные к исходному слою с помощью инструмента **Data Management Tools > Joins > Join Field** со следующими параметрами:
Параметр Значение
------------------- --------
*Input table* Водосборные бассейны
*Input join field* Id
*Join table* stats
*Output join field* ID
*Join fields* Выделите все поля (кнопка **Select All**)
Диалог инструмента примет следующий вид:
![](images/Ex15/image27.png)
Нажмите **ОК**, чтобы запустить соединение таблиц. После выполнения инструмента, откройте атрибутивную таблицу слоя Водосборные бассейны, чтобы убедиться, что расчетные столбцы были добавлены:
![](images/Ex15/image28.png)
1. Включите подписи слоя *Водосборные бассейны* по полю *MEAN* (средняя высота в пределах бассейна)
2. Чтобы избавиться от лишних значащих цифр, откройте таблицу слоя Водосборные бассейны и выберите в контекстном меню заголовка столбца *MEAN* команду **Properties** (свойства поля):
![](images/Ex15/image29.png)
1. В открывшемся диалоге нажмите кнопку **Numeric…** и установите в окне **Number Format** округление до 1 знака после запятой:
![](images/Ex15/image30.png)
Если все выполнено верно, на карте должны быть подписаны средние высоты по каждому бассейну:
![](images/Ex15/image31.png)
<kbd>**Снимок экрана №11.** Средние высоты водосборных бассейнов</kbd>
2. Сохраните документ карты.
## Оформление итоговой карты {#dem-result}
[В начало упражнения ⇡](#dem)
1. Установите масштаб карты равным 1:500 000
2. Переключитесь в режим компоновки
3. Измените ориентировку листа на альбомную
4. Добавьте на карту численный масштаб и заголовок «*Водотоки разных порядоков и их водосборные бассейны*».
5. Добавьте легенду со следующими слоями: *Водотоки*, *Водосборные бассейны* и *Послойная окраска*.
6. Добавьте пометку «*Для каждого бассейна указана средняя высота в метрах над уровнем моря*»
7. Приведите внешний вид карты в соответствии с рисунком:
![](images/Ex15/image32.png)
1. Полученную карту вставьте в отчет.
2. Сохраните документ карты.
## Контрольные вопросы {#dem-questions}
[В начало упражнения ⇡](#dem)
1. Что представляет растр направления тока?
2. Что представляет собой растр аккумуляции тока?
3. Как можно выделить водотоки по растру аккумуляции тока?
4. Как получаются порядки рек методом Стралера?
5. После того как выделены водотоки, какую последовательность действий нужно выполнить, чтобы построить для них границы бассейнов?
6. Как можно рассчитать статистику по бассейнам? Опишите последовательность действий.