Время прочтения: 5 минут
Что такое меш в ГИС
Меш-данные — относительно новая модель данных. Это коллекция вершин, ребер и граней, представленная комбинацией слоев. Модели данных меш используются для визуализации процессов, у которых есть какие-либо потоки: в метеорологии, гидрологии и океанографии. Потоки в данных также позволяют делать эффектные визуализации меш-датасетов. Например, визуализация меш-данных об ураганах эффектно красуется на книге Discover QGIS 3.x от Курта Менке.
В разных изданиях книги меш визуализирован на обложке по-разному. Если поставите эмодзи снеговика к нашему посту в телеграм, то скину фото с обложкой издания в доступной мне библиотеке.
Структура меша
Меш — это необычный тип данных, который не относят ни к растру, ни к вектору. Для него даже написана отдельная библиотека MDAL (Mesh Data Abstraction Library). Работая в QGIS или в ArcGIS с растровыми и векторными файлами, мы используем библиотеку GDAL. Не будем на этом останавливаться, но если вы работаете с кодом, а не с готовой программой, и вас вдруг жизнь довела до меша, а вы не знаете, что с этим делать и как открывать, то стоит начать гуглить MDAL.
Меш — неструктурированная сетка, у которой обычно есть своего рода таблица атрибутов, координаты и временные переменные.
С точки зрения пространственной организации, меш состоит из следующих структурных элементов:
- вершины (vertices) — координаты точек (XY(Z)) в какой-либо системе координат;
- ребра (edges) — отрезки, обе точки которых являются вершинами;
- грани (faces) — группа отрезков, которые формируют замкнутую фигуру, например, прямоугольник или четырехугольник. Фигуры с большим количеством вершин встречаются редко.
Меш бывает разной размерности в зависимости от целей его создания:
- одномерный меш состоит из вершин и ребер, формируя своего рода граф. Такой меш может быть использован для моделирования городской системы водостоков;
- двухмерный меш состоит уже из граней, представляющих собой нерегулярную сетку;
- трехмерный меш состоит из множества двухмерных мешей, каждый из которых имеет вертикальную координату. Такие меши используются в трехмерном графическом моделировании. В ГИС же трехмерные меши используются как центры объемов или для некоторых параметрических функций.
Виды мешей по размерностям в пространстве. Разные виды мешей могут комбинироваться в один сложный объект. Источник
Как было сказано ранее, меш представляет собой нерегулярную сетку, что и отличает его от растра. Связано это с тем, что меш создавался в том числе для моделирования наводнений и иных явлений, в которых присутствуют потоки.
Виды сеток меша. Источник
Чем хорош меш своей нерегулярной структурой, так это тем, что он адаптирован под потоки и окружающую действительность, на которую они в той или иной степени влияют. Источник
Содержание данных
Взглянем на меш поближе, держа в голове всё, что было сказано ранее. Если посмотреть на скриншот, то мы видим растровый снимок, но это не так. Это и есть наш меш, и в свойствах слоя — не размерность в пикселях, а указаны количество вершин, граней, ребер и число групп в наборе данных. Число групп в наборе данных — это, грубо говоря, количество колонок в таблице атрибутов.
Как писал Антон Павлович Чехов, если в статье про меш упомянуты потоки, то рано или поздно будет сказано про направление. Цитата не совсем (совсем не) точная, но как раз подходит для нашей статьи.
В группах данных меш есть два “типа данных”: скалярные и векторные. Причем одна группа данных может иметь как скалярные значения, так и векторные. Скалярные значения — это обычные числа, подобные тем, что мы встречаем в таблице атрибутов. Если речь идет о температуре, то это просто цифры в градусах: 10, 12, 24.
Векторные же значения состоят из двух компонент X и Y, которые показывают направления потоков, например, ветра.
На практике меш — это тип данных, который сочетает в себе растровый и векторный компоненты. Последний в свою очередь может иметь как скалярные значения (обычные числа), так и векторные, которые представляют собой пары чисел. А еще они могут содержать в себе временные компоненты, например скорость ветра за каждый час суток.
Что можно сделать с мешем?
Меш очень интересно визуализировать. Помимо типичного для растров и векторов раскрашивания карты в разные цвета в зависимости от значений, меш можно и нужно анимировать благодаря имеющемуся в нём временному компоненту. Данные о времени не всегда есть в меше, но это скорее исключение из правил.
Помимо этого с группами данных меша можно проводить математические операции подобно тем, что производятся с растрами и векторами: складывать, вычитать, умножать и прочее. Кроме визуализации и математических операций меш также можно редактировать, создавать и удалять грани, вершины и ребра, и делать это как в настольных ГИС, так и в специальном программном обеспечении, предназначенном для создания мешей.
Форматы данных
Несмотря на относительную новизну мешей, для них уже создано множество форматов поддерживающих этот тип данных: GRIB, NetCDF, HDF (HEC-RAS), XMDF, XDMF, FLO-2D, Selafin files, SMS DAT и SWW (Anuga). Так что, если наткнетесь на один из таких форматов, не пугайтесь — это меш!
Источники информации
- https://courses.gisopencourseware.org/mod/book/tool/print/index.php?id=1014
- https://www.youtube.com/watch?v=OBi4wuxLiAE
- https://docs.qgis.org/3.28/en/docs/user_manual/working_with_mesh/mesh_properties.html#what-s-a-mesh
- https://www.youtube.com/watch?v=0GfEQE0lkJU
- Discover QGIS 3.x A Workbook for Classroom or Independent study. Kurt Menke
Материал подготовил Александр Зуев