Использование ГИС GRASS для работы с цифровыми моделями рельефа

Материал из GIS-Lab
Перейти к навигации Перейти к поиску
Версия для печати больше не поддерживается и может содержать ошибки обработки. Обновите закладки браузера и используйте вместо этого функцию печати браузера по умолчанию.
Эта страница является черновиком статьи.


Особенности GRASS

  • Старейшая и мощнейшая из открытых ГИС
  • Работает почти на любом «железе»: от телефонов до суперкомпьютеров
  • Собственный, архитектурно-независимый и переносимый (32/64 bit) формат данных
  • Кроссплатформенность: Linux/Unix, Windows, Mac OS
  • Развитый и стабильный API (С/Python)
  • Быстрое создание модулей и документации по шаблонам
  • Unix-происхождение: «1 функция — 1 модуль»; командная строка + сочетание модулей
  • Скрипты: shell, Python, Perl, PHP ...
  • Возможность параллельной обработки данных
  • Взаимодействие с другим СПО (GDAL, R, OSSIM ...)
  • Импорт/экспорт ЦМР многих форматов

GRASS + ЦМР

  • Модули:
  • GRASS 6.4.* — более 40 модулей для работы с ЦМР;
  • десятки спец. модулей, разработанных сообществом
  • ЦМР = растр:
  • собственный растровый формат + свой обменный формат (GRASS ASCII Grid);
  • многие «общие» растровые операции работают с ЦМР;
  • регистрация растра по центру ячейки;
  • охват и разрешение — по текущему вычислительному региону.
  • Поддерживаемые типы данных: 32-битные целые числа, числа c плавающей точкой одинарной и двойной точности
  • 3D-растры («voxel») — работа с настоящим объёмом


Импорт, экспорт, конвертация

∙ Импорт/экспорт растровых форматов: ∙ Форматы GDAL: r.in.gdal/r.out.gdal; ∙ ASCII Grid: r.in.arc, r.in.ascii/r.out.ascii ∙ Двоичные растры: r.in.bin/r.out.bin ∙ Matlab — r.in.mat/r.out.mat ∙ POV-Ray — r.out.pov ∙ VTK — r.out.vtk ∙ Конвертация данных: ∙ Вектор ⇒ растр: v.to.rast ∙ Растр ⇒ вектор: r.to.vect ∙ 2D-растр ⇒ 3D-растр: r.to.rast3, r.to.rast3elev ∙ 3D-растр ⇒ 2D-растр: r3.to.rast, r3.cross.rast


Интерполяция по точкам и изолиниям

∙ По точкам: ∙ Интерполяция методом обратно-взвешенных расстояний (IDW) — v.surf.idw ∙ Растровые диаграммы Вороного — v.surf.idw ∙ Сплайн-интерполяция с регуляризацией Тихонова (B-splines) — v.surf.bspline ∙ Интерполяция методом «регуляризованных сплайнов с натяжением» (RST): v.surf.rst, v.vol.rst ∙ Интерполяция методами «естественного соседства» и триангуляцией Делоне: r.surf.nnbathy ∙ Кригинг (через R): v.krige ∙ По изолиниям (линейная интерполяция): r.surf.contour ∙ Интерполяции с разрывами («breaklines») НЕТ.

Передискредитация/интерполяция растров

∙ Заполнение «пустот» в растре (3 способа): r.fillnulls ∙ Увеличение разрешения: ∙ Методом «ближайшего соседа»: r.resample ∙ Билинейная и бикубическая интерполяция: r.resamp.interp ∙ Методом «регуляризованных сплайнов с натяжением» (RST): r.resamp.rst ∙ Огрубление разрешения (11 способов агрегации): r.resamp.stats


Создание «случайных» и других поверхностей

∙ «Случайные» поверхности: ∙ r.random.surface ∙ r.surf.random — равномерные случайные отклонения ∙ r.surf.fractal — фрактальные поверхности ∙ r.surf.gauss — растры по гауссовым отклонениям ∙ «Плоские» поверхности в точке по углу наклона и азимуту: r.plane


Триангуляционные нерегулярные сети (TIN)

∙ TIN в GRASS — набор стандартных 3D-полигонов ∙ 3D-триангуляция Делоне (TIN): v.delaunay, на рис. в центре ∙ Триангуляция Делоне со структурными линиями: v.triangle (доп. модуль), на рис. справа. Использует Triangle (J. R. Shewchuk).


Фильтрация, сглаживание

∙ Фильтрация растров: ∙ r.neighbors — «скользящее окно» (11 способов) ∙ r.mfilter — матричный фильтр с «весами» ∙ r.mapcalc — растровый калькулятор ∙ Сглаживание, удаление «шума»: r.denoise, доп. модуль (алгоритм Sun и др., 2007)


Редактирование ЦМР и другие действия

∙ «Ручное» редактирование растра: d.rast.edit

∙ Редактирование растра с помощью r.mapcalc (замена значений, условия и т.д.) ∙ Редактора TIN нет, можно редактировать 2D-векторные данные. ∙ Переклассификация и масштабирование значений ЦМР: r.rescale, r.reclass ∙ Задание цветовой шкалы для ЦМР: r.colors ∙ Создание изолиний: r.contour ∙ Получение профилей рельефа: r.profile

Геоморфометрия

∙ Светотеневая отмывка рельефа: r.shaded.relief ∙ Уклоны, экспозиция склонов, кривизна поверхности: r.slope.aspect, v.surf.rst, r.resample.rst ∙ Анализ освещённости: r.sun, r.sunmask ∙ Анализ видимости: r.los, r.viewshed ∙ Расчёт угла горизонта: r.horizon ∙ Расчёт площади поверхности по рельефу: r.surf.area ∙ Стоимостные поверхности: r.cost, r.walk

r.param.scale — спец. модуль для геоморфологического анализа: генерализация поверхности; уклоны, экспозиция склонов; кривизна: профильная, плановая . . . элементы рельефа (выпуклые/вогнутые склоны, вершины/седловины . . . ); см. ниже


Моделирование затопления

∙ Простое моделирование (создание «озера») r.lake ∙ «Быстрая» оценка возможности затопления по ЦМР: r.hazard.flood* ∙ С учётом формы долины и профиля водотока: r.inund.fluv*


Анализ потоков, гидрологическое моделирование

∙ Коррекция ЦМР, анализ потоков: ∙ r.fill.dir — создание гидрологически корректной ЦМР (заполнение впадин) ∙ r.carve — «прожиг» водотоков в ЦМР ∙ r.drain— трассировка водотока по наименьшему пути ∙ r.flow — расчёт направлений, длин и плотности потоков ∙ r.topidx — расчёт «топографического» индекса ∙ Гидрологическое моделирование: ∙ r.sim.water — модель SIMWE ∙ r.sim.sediment — модель SIMWE ∙ r.topmodel — модель TOPMODEL

Бассейновый анализ

∙ r.watershed — Водотоки, SFD(D8)/MFD; бассейны; аккумуляция; получение параметров для уравнения USLE ∙ r.basins.fill — Создание суббасейнов ∙ r.water.outlet— Выделение бассейнов по устьевым точкам ∙ r.terraflow — Анализ потоков/бассейнов + индекс конвергенции (TCI) для больших массивов данных


Анализ речной сети по Хортону

∙ Серия модулей r.stream.*: r.stream.angle, r.stream.basins,

r.stream.del, r.stream.distance, r.stream.extract, r.stream.order, r.stream.pos, r.stream.preview, r.stream.stats