II. БАЗОВЫЕ ПРОЦЕДУРЫ ОПЕРИРОВАНИЯ С ДАННЫМИ В ГЕОЭКОЛОГИИ 7. ИЗВЛЕЧЕНИЕ ДАННЫХ И ОВЕРЛЕЙ СЛОЕВ В ГИС: ОСНОВНЫЕ СЮЖЕТЫ И ИНСТРУМЕНТЫ 7.1. ГИС-моделирование в геоэкологии: типичные блоки 7.2. Типы слоев ОТЕ и переменных в составе модели 7.3. Извлечение данных и взаимоотношения слоев в оверлее 7.4. Инструменты извлечения данных растровых "полей" 7.5. Инструменты извлечения данных растровых "мозаик" 7.6. Инструменты извлечения дисперсных векторных данных 7.7. Инструменты извлечения данных векторных "мозаик"

II. БАЗОВЫЕ ПРОЦЕДУРЫ ОПЕРИРОВАНИЯ С ДАННЫМИ В ГЕОЭКОЛОГИИ

7. ИЗВЛЕЧЕНИЕ ДАННЫХ И ОВЕРЛЕЙ СЛОЕВ В ГИС: ОСНОВНЫЕ СЮЖЕТЫ И ИНСТРУМЕНТЫ

7.1. ГИС-моделирование в геоэкологии: типичные блоки

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

  1. Представление о содержании модели (гипотеза);
  2. Представление о «сценах», т.е., пространственном охвате и границах ареала моделирования (экорегион или ландшафт, физико-географический район или речной бассейн, административная область или муниципальный район, городской район, и т.д.);
  3. Представление об алгоритме и методах анализа (набор и последовательность шагов моделирования, применяемые инструменты);
  4. Представление об операционно-территориальных единицах моделирования (ландшафтные урочища, элементарные водосборы, сельскохозяйственные угодья, единицы административно-территориального деления и т. д.);
  5. Представление о характере исходных данных, способах «добычи», извлечения, (Data Mining) преобразовании.

Очевидно, что блоки тесно связаны между собой, поскольку гипотеза моделирования определяет размерность и конфигурацию сцены, тип и набор операционно-территориальных единиц (ОТЕ), состав и последовательность используемых инструментов (алгоритм). В свою очередь, инструменты гис-моделирования требуют определенный тип данных «на входе», что обусловливает специфику их поиска и характер предварительного преобразования.

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

  1. Загрузка и отображение данных - переменных, показателей, индикаторов (например, открытие растрового слоя абсолютных высот, с автоматическим оформлением в виде так называемой "растяжки"|"stretching" в "тонах серого" ArcMAP10.x) или в цвете SAGA GIS;
  2. Ранжирование и классифицирование данных (например, классификация растрового слоя абсолютных высот одним из способов – естественные границы, квантиль, равный интервал и т.д.);
  3. Извлечение данных в элементы выбранной сетки ОТЕ (районов АТД, речных бассейнов, физико-географических районов, квадратов принятой размерности, и проч.);
  4. Осуществление операций ранжирования, классифицирования, группирования, кластеризации ОТЕ по набору переменных (например классификация районов города по наличию и составу зеленой инфраструктуры или кластеризация речных бассейнов по удельной длине русловой сети, проценту лесистости, распаханности и застроенности).

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


7.2. Типы слоев ОТЕ и переменных в составе модели

От того, какими типами слоев представлены операционно-территориальные единицы (ОТЕ) и привлеченные для анализа данные будут завесить состав и содержание алгоритмов будущей модели. Операционно-территориальные единицы, как правило, представлены векторными слоями. Растровые ОТЕ встречаются редко, и, как правило, представляют собой промежуточной вариант, используемый для получения каких-то значений, например - значений зональной статистики по набору других растровых слоев.

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

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

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

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

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

Растровые форматы данных в составе моделей весьма разнообразны; различают данные - непрерывные «поля значений», например, так называемые Цифровые Модели Рельефа (и большая часть производных от них метрик), растры атрибутированных классов (например данные LULC - растры земельного и ландшафтного покрова). В свою очередь, атрибутированные растровые данные могут быть разделены в зависимости от характера исходных значений и используемых шкал.

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

Таблица 7.1 Основные виды шкалирования данных, используемых в геоинформационных моделях
Виды шкалирования данных Векторные данные Растровые данные
Виды геометрии слоя данных Точки Линии Полигоны Пиксели растра (грида)
Номинальные Название города
(Орел, Тула, Кострома
Наименование трассы ("Дон", "M8") Почтовый индекс городского квартала Типы покрытий согласно классификатору Land Cover (леса, акватории)
Порядковые Классификации городов по
численности / размерам / функциям
(мегаполисы, города-миллионники,
областные центры,
райцентры)
Классификации трасс (федеральная, областная, районная) Морфотипы кварталов (купеческие, "сталинский ампир") Классы возраста лесов (молодые, зрелые, перестойные леса)
Интервальные Индекс комфортности
городской среды
Ширина проезжей части дороги Интервалы плотности застройки квартала (высокая, средняя, низкоплотная застройка) Интервалы высотной поясности
Количественные Численность
населения города
Нагрузка в экипажах в час Плотность застройки квартала (63%) Абсолютная высота

Устанавливать тип данных, привлекаемых в модель, чрезвычайно важно по двум причинам: во-первых, для разных типов данных могут быть рассчитаны разные статистики, и эта специфика во-многом определяет содержание выстраиваемой модели; во-вторых, разные данные «диктуют» свои отношения в паре «переменные» - «ОТЕ».

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

7.3. Извлечение данных и взаимоотношения слоев в оверлее

Экологические оценки, а следовательно, и геоэкологическое моделирование (и картографирование) предполагают прежде всего извлечение данных в сетку ОТЕ. Действительно, мы редко рассуждаем о «загрязнении вообще», но, как правило, говорим о загрязнении того или иного района. Точно также мы анализируем заболеваемость по муниципальным районам или заболоченность по речным бассейнам, или пожароопасность по лесным кварталам; во всех этих случаях заболеваемость, заболоченность и пожароопасность представляют собой данные (признаки, переменные, факторы), а районы, бассейны, и лесные кварталы - сетки операционно-территориальных единиц. Виды Исходных Данных (ИД) и виды операционно-территориальных единиц (ОТЕ) определяют и типологию возможных взаимоотношений между слоями в геоинформационной модели.

Отношение слоев исходных данных (ИД) и слоев ОТЕ, часто называемые оверлеем (overlay – наложение) реализуется при ГИС-моделировании в принципиально разной логике.

Таблица 7.2 Типы взаимоотношений слоев ОТЕ и Исходных Данных в рамках формальной логики
Логические типы взаимоотношений ИД и ОТЕ Типы слоев ИД и ОТЕ Решаемая задача извлечения (пример)
1.1 «Континуальное поле ко Многим» ИД: растр-«поле»; ОТЕ: полигональный вектор Извлечение статистик (среднее, медиана, максимальное, минимальное, дисперсия и разброс значений) в полигоны - например, высот растра ЦМР в сетку районов города ("средняя высота поверхности" в районе)
1.2 «Континуальное поле ко Многим» ИД: растр-«поле»; ОТЕ: вектор полилиний Извлечение значений растра ЦМР в отрезки полилиний для построения профиля земной поверхности
1.3 «Континуальное поле ко Многим» ИД: растр-«поле»; ОТЕ: вектор точек Извлечение значений растра ЦМР в точки для выявление абсолютной высоты для набора точек заложения разведочных геологических скважин на территории
2.1 «Дисперсное поле ко Многим» ИД: атрибутированный номинальный бинарный растр (0,1); ОТЕ: полигональный вектор Расчет числа пикселей в каждом полигоне ОТЕ для определения доли площади древесного полога (по растру Tree Cover, со значениями "1-древесный полог", "0-отсутствие древостоя") от общей площади административных районов
2.2 «Дисперсное поле ко Многим» ИД: вектор полигонов с бинарным атрибутом 1,0 и параметром площади для значения "1"; ОТЕ: полигональный вектор Пересечение (Intersection) векторных полигональных слоев ИД и ОТЕ для определения доли лесопокрытой площади от общей площади водосбора для сетки речных бассейнов
2.3 «Дисперсное поле ко Многим» ИД: вектор полигонов с бинарным атрибутом 1,0 и параметром площади для значение "1"; ОТЕ: вектор полилиний Пересечение (Intersection) векторного слоя полилиний ЛЭП с полигональным слоем лесной растительности для выявления участков ЛЭП, проходящих через лесные массивы
2.4 «Линейный граф ко Многим» ИД: вектор полилиний с геометрическим атрибутом (длина); ОТЕ: вектор полигонов Пересечение (Intersection) векторного слоя полилиний автодорог с полигональным слоем сельских районов для вычисления плотности автомобильных дорог по районам
2.5 «Точки наблюдения/явления ко Многим» ИД: вектор точек единственного класса; ОТЕ: вектор полигонов Пересечение (Intersection) векторного слоя точек со слоем полигонов сельских районов для вычислений числа и общей площади несанкционированных свалок ТБО по районам
3.1 «Мозаика или Многое ко Многим» ИД: атрибутированный номинальный растр, ОТЕ: вектор точек Извлечение значений растра по классам в точки для определения типов гидрогеологических слое, подстилающих водозаборные скважины
3.2 «Мозаика или Многое ко Многим» ИД: атрибутированный номинальный растр, ОТЕ: полигональный вектор Извлечение значений растра по классам (сумма) в полигоны ОТЕ для определения доли площади разных видов землепользования в каждом муниципальном районе
3.2 «Мозаика или Многое ко Многим» ИД: полигональный вектор с классифицированным атрибутом, ОТЕ: полигональный вектор Пересечение (Tabulate Intersection) полигонов с классифицированным атрибутом с полигонами сетки ОТЕ для определения доли площади разных видов землепользования в каждом муниципальном районе
3.3 «Мозаика или Многое ко Многим» ИД: атрибутированный номинальный растр, ОТЕ: вектор полилиний Извлечение значений растра по классам (сумма) в отрезки полилиний для определения типов LULC земельно-ландшафтного покрова вдоль автомагистрали


7.4. Инструменты извлечения данных растровых "полей"

«Континуальное поле ко Многим»: ИД - растр-«поле», ОТЕ - векторный полигональный слой. Извлечение данных растровых полей в один из вариантов векторной матрицы – едва ли не наиболее распространенная процедура начальных этапов геоинформационного моделирования. Классическим примером «сырого» растра является Цифровая Модель Рельефа (DEM) земной поверхности, работа с которым привела к возникновению теории так называемого «рельеф-поля» [Ласточкин, 1987]. Варианты извлечения значений из ЦМР (1.1 - 1.3, Табл. 7.2) различаются инструментально для разных типов векторных матриц, но во всех случаях отражают отношение Континуальное поле ко Многим». Мы будем рассматривать инструменты извлечения на примере растрового слоя ЦМР и векторного слоя районов АТД «Старой» Москвы (Рис. 7.1).

Рис. 7.1 a) Цифровая модель рельефа на территорию "Старой" Москвы - отображение "растяжка" при загрузке в ArcMAP10.x, b) сетка административных районов «Старой» Москвы, c) визуальный оверлей слоев районов АТД и растра ЦМР

Итак, если в модели в качестве сетки операционно-территориальных единиц используются полигоны, а в качестве данных – растр-поле, то можно извлечь значения растра в единицы сетки, в данном случае значение поля высот в районы АТД. В ArcMAP10.x для решения этой задачи используется инструмент Zonal Statistic|Зональная Статистика из набора Zone (Зональные) группы Spatial Analyst Tools|Инструменты Пространственного Анализа.



Рис. 7.2 Диалоговое окно инструмента Zonal Statistic ArcMAP10.x

В диалоговом окне инструмента Зональная Статистика необходимо выбрать интересующий нас вид статистики из десяти предлагаемых (Таблица 7.3).

Таблица 7.3 Описание основных статистик, используемых в операциях извлечения растровых значений в векторные ОТЕ
Вид статистики Значение Содержание
1 MEAN Среднее Вычисляет среднее значение в пределах данной единицы матрицы ОТЕ (района, бассейна, квартала и проч.)
2 MEDIAN Медиана Значение в пределах зоны (района, бассейна, квартала и проч.) характеризующееся тем, что половина всех значений ячеек больше данного, а половина - меньше
3 MAJORITY Большинство Определяет значение, которое чаще всего встречается во всех ячейках растра значений, принадлежащих к той же зоне (району, бассейну, кварталу и проч.)
4 MINORITY Меньшинство Определяет самое редкое значение в пределах данной зоны (района, бассейна, квартала и проч.)
5 MAXIMUM Максимум Максимальное значение в пределах зоны
6 MINIMUM» Минимум Минимальное значение в пределах зоны
7 RANGE Диапазон Разница между минимальным и максимальным значением в пределах данной зоны, таким образом характеризует разброс значений внутри каждого полигона
8 VARIETY Разнообразие Вычисляет количество уникальных значений для всех ячеек растра значений, принадлежащих к той же зоне (полигону), таким образом характеризуя «кучность» облака значений
9 STD Среднеквадр. откл. Среднеквадратическое отклонение значений каждой зоны (полигона)
10 SUM Сумма Общая сумма всех значений данной зоны (полигона)

Выбор определяется задачами моделирования: если для примера использовать в качестве "поля" грид высот (ЦМР), то максимум и минимум - это самые высокие и самые низкие точки в районе, они могут быть полезны, если мы ищем видовую точки (самое высокое место), или место, куда будут собираться загрязненные стоки в случае аварии и разлива нефтепродуктов (самое низкое место). Соответственно среднее арифметическое - некая обобщенная характеристика высоты, но лучшее представление об «высотности» района на самом деле даст медиана. Диапазон характеризует общий перепад высот и может пригодится если нас интересует сложность проектируемой трассы лыжной трассы. Среднее квадратическое отклонение дает представление о разбросе или наоборот - монотонности значений, т.е., в данном случае о сложности и пересеченности рельефа. На выходе инструмента Зональная Статистика – новый растр, «мозаика» которого образована контурами районов АТД. В ряде случаев такой результат приемлем - поскольку дает наглядное представление о демонстрируемом свойстве. Полученное значение выбранной статистики можно затем извлечь в векторный файл полигонов; однако ArcMAP10.x предоставляет значительно более удобный инструмент для этой цели Zonal Statistics as Table|Зональная Статистика в Таблицу.



Рис. 7.3 Инструмент Zonal Statistics as Table

Zonal Statistics as Table|Зональная статистика в таблицу, находится в том же наборе Zone|Зональные группы Spatial Analyst Tools, и позволяет получить сразу все возможные статистики в виде таблицы, которую потом придется «подшивать», т.е., присоединять к векторному файлу полигонов ОТЕ, используя поле уникального идентификатора ID.



Рис. 7.4 Результат расчета инструмента Zonal Statistics as Table со статистиками грида высот для районов "Старой" Москвы

Поля таблицы (Рис. 7.4) содержат выбранные характеристики (опция All позволяет выбрать все сразу). Соединение с шейпом районов устанавливается обычным способом - подсвечиванием слоя и выборкой опции Join по щелчку правой кнопки мыши.



Рис. 7.5 Присоединение таблицы с извлеченными значениями статистик к шейп-файлу районов

После присоединения лучше создать копию исходного слоя ОТЕ с новым названием, используя функцию DATA >> Export DATA. Далее можно оформлять полученный составной слой по любому выбранному признаку.



Рис. 7.6 Значение диапазона высот в административных районах «Старой» Москвы

В SAGA GIS для извлечения значений растра в сетку полигонов запускаем инструмент Grid Statistic for Polygon|Статистика грида в полигон из набора Shapes-Grid Tools|Шейп-Грид инструменты группы Shapes (Шейп-файлы).



Рис. 7.7 Инструмент Grid Statistic for Polygon SAGA GIS

Инструмент Grid Statistic for Polygon предлагает получить полный комплект возможных статистик за один «прогон», причем данные будут «подшиты» к шейпу (новый файл не образуется) в виде добавленных полей (столбцов таблицы слоя), названия которых можно корректировать на вкладке установок слоя Setting в позиции Name.



Рис. 7.8 Диалоговое окно Grid Statistic for Polygon SAGA GIS

По сути это та же зональная статистика, однако в SAGA GIS реализована возможность выбор метода расчета Method: можно применить «простой и быстрый», либо учитывающий площадь и/или вес ячеек с тем или иным значением. Целесообразно также выбрать способ наименования новых полей во вкладке Field naming >> Method: лучше чтобы оставался только номер грида – тогда остается место для самой переменной, в противном случае придется переименовывать названия вручную.

В SAGA для просмотра результата надо «встать» на наименование слоя в DATA и по правой кнопке мыши запросить показ атрибутов Attributes >> Show.

Также как и в ArcMAP10.x, шейп в SAGA GIS может быть оформлен по любому из полей. Для этого выбираем Fill style >> Opaque; Type >> Graduated Color; Attribute >> Признак H_Mean и любое количество цветов в палитре.



Рис. 7.9 Оформление карты средней высоты поверхности по сетке районов "Старой" Москвы в SAGA GIS

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

Предположим, что нас интересуют свойства центральных точек (центроидов) районов АТД Москвы, в частности – параметры рельефа.



Рис. 7.10 Центроиды районов АТД "Старой" Москвы на фоне растра ЦМР в отображении "растяжка"

В ArcMAP10.x для решения этой задачи служит инструмент Extract Values to Points|Извлечь Значения в Точки или его «родной брат», извлекающий значение из нескольких растров Extract Multi Values to Points|Извлечь Значения Многих Растров в Точки. Результат «подшивается» в виде нового поля DEM_Moscow.


Рис. 7.11 Скриншот таблицы шейпа - выходные значения высот точек центроидов

В SAGA GIS аналогичная задача решается с использованием инструмента Add Grid Values to Points|Добавить Значения Грида в Точки группы Shape-Grid-Tools набора Shapes. Результат расчета добавляется в виде нового поля к таблице шейпа точек. Однако большие возможности предоставляет другой инструмент SAGA GIS для векторных точек Grid Statistics for Points|Статистика Грида в Точки набора Shape-Grid-Tools, позволяющий рассчитать полный набор из восьми статистик.




Рис. 7.12 Окно Карты (Map) SAGA GIS с растром абсолютных высот и векторным слоем центроидов административных районов "Старой" Москвы

Рис. 7.13 Диалоговое окно инструмента Grid Statistics for Points SAGA GIS

7.5. Инструменты извлечения данных растровых "мозаик"

Дисперсное "поле" ко Многим: ИД - атрибутированный номинальный бинарный растр (0,1), ОТЕ - полигональный вектор. Зачастую пространственные данные представляют собой прерывистое, несплошное поле, т.е., являются «дискретными». Таковы, например, данные, характеризующие «распаханность» (сельскохозяйственные угодья – это отдельные ареалы на «вмещающем» общем фоне территории с другими видами землепользования), «лесистость» (лес редко покрывает собой всю территорию без разрывов), «заозеренность» (озера разбросаны по территории «тут и там»), или «застроенность/запечатанность» городских кварталов. Важным общим свойством таких данных является то обстоятельство, что они отражают единственный признак (свойство) либо через число пикселей (растровый слой), либо через геометрию векторных примитивов (полигонов с площадью и периметром разной длины), либо через общее число объектов (точечный векторный слой через суммарное количество точек). В подобных случаях мы определяем «распаханность в целом», никак не разделяя это свойство на виды сельхозкультур, лесистость относительно «лесов вообще», не интересуясь при этом долей хвойных и лиственных лесов, или совокупную запечатанность - не дифференцируя на застроенность жилыми домами, промышленными зданиями и сооружениями.

Извлечение таких данных в сетки ОТЕ – едва ли на самая распространенная (можно сказать – «рутинная») операция в геоэкологических исследованиях разной тематики. Однако эта «рутина» имеет свои особенности для растровых и векторных исходных данных. Растровые данные подобного типа обычно несут только два значения:

True/False,
1/0,
1/No Data

При любом из вариантов записи первое значение означает наличие «сущности», а второе – ее отсутствие. Пример данных такого типа - растры древесного покрова (Tree canopy cover) университета Мэриленда США, часто используемые для "валовых" оценок озелененности урбанизированных территорий, а также утрат и «приобретений» его отдельных фрагментов за фиксированные промежутки времени.

В ArcMAP10.x для извлечения данных дисперсных "полей" в сетку ОТЕ обычно используется инструмент Tabulate Area набора Zonal группы Spatial. На входе утилиты - дискретный растр (в иллюстрируемом здесь случае - растительный покров с бинарными значениями 1,0) и матрица полигонов ОТЕ, на выходе – таблица с суммарным количеством пикселей растра в каждом районе (величина, которая может быть пересчитана в абсолютные единицы площади, поскольку абсолютный размер пикселя всегда известен). Таблица может быть присоединена к шейпу районов по идентификатору поля Zones (в данном случае FID).



Рис. 7.14 Диалоговое окно инструмента Tabulate Area ArcMAP10.x

Следует отметить, что Tabulate Area – полезный и часто используемый инструмент ArcMAP10.x, единственным недостатком которого является выходной «табличный» формат, поэтому чтобы не присоединять вручную каждый раз результаты, а сразу же получать шейп с новым полем, имеет смысл составить простенькую модель в Model Builder, в которой кроме собственно Tabulate Area будет задействован инструмент Join Field|Добавить соединение группы Join набора Data Management Tools.



Рис. 7.15 Схема модели Model Builder с расчетом площадей по векторной сетке и присоединением таблицы к исходному шейпу полигонов ОТЕ


В SAGA GIS для решения аналогичной задачи используется уже знакомый нам инструмент Grid Statistics for Polygons, но в качестве статистики в данном случае имеет смысл рассчитывать только Summ|Сумма.



Рис. 7.16 Окно Карты (Map) SAGA GIS с наложением полигонального слоя районов "Старой" Москвы (ОТЕ) на дискретный растровый слой древесного покрова

Рис. 7.17 Диалоговое окно инструмента Grid Statistics for Polygons с опцией расчета Summ

В результате операции у шейпа полигонов ОТЕ появится новое поле, название которому дает пользователь, например - Veget_SUMM. Не забываем, что в SAGA GIS необходимо сохранить результат, нажав на иконку сохранения Save Project панели управления.

Мозаика или Многое ко Многим: ИД "мозаика" - классифицированный растр со многими классами, ОТЕ - вектор полигонов. Немного усложняем нашу задачу: пусть растр содержит не два (1,0), а большее число классов. Отметим, что в растр может быть и дискретным (т.е., может содержать разрывы в данных - ареалы No Data) и сплошным (т.е., перекрывать всю территорию исследования): относительно применяемых инструментов извлечения это не имеет значения. В качестве примера возьмем растр геоморфологических условий Москвы, содержащий девять обобщенных типов рельефа. Предположим, что нам необходимо знать соотношение площадей разных типов в пределах каждого района города.




Рис. 7.18 Классифицированный растр типов рельефа Москвы (слева) и легенда (справа)

В ArcMAP10.x запускаем инструмент Tabulate Area набора Zonal. В отличии от предыдущего кейса, когда растр был «простым» (т.е., содержал только один класс «зеленки»), в данном растре у нас 9 классов, следовательно необходимо указать поле, в котором «зашиты» значения – Class field.


Рис. 7.19 a) Поля исходного вектора ОТЕ, b) диалоговое окно Tabulate Area с выбором значения Value в качестве поля класса

Справка говорит нам о том, что значение может быть Integral (простое число) или String (текст), но в выходной таблице текст будет выглядеть громоздко, поэтому выбираем поле Value растра, т.е., числа.



Рис. 7.20 Скриншот выходной таблицы операции Tabulate Area для мозаичного классифицированного растра; поле Value содержит числовые обозначения классов геоморфологических поверхностей

Результат (выходная таблица) отображает сумму площадей (в пикселях) каждого класса в каждом районе. Для оформления слоя таблицу необходимо присоединить к полигональному файлу районов. Заметим, что под термином «оформление» здесь скорее идет речь о серии репрезентаций – слой может быть «раскрашен» по доле любого класса форм рельефа (скажем по доле, занимаемой поймами, террасами или зандрами).



Рис. 7.21 График доли пойменных поверхностей в разных районах Москвы

Итоговый файл с присоединенной таблицей может использоваться как источник для построения аналитических графиков: View >> Graphs >> Create Graph. Можно, например, выяснить какую долю занимает тот или иной тип геоморфологической поверхности во всех районах Москвы (Рис. 7.21), или определить долю разных форм рельефа в пределах любого отдельного района (Рис. 7. 22).



Рис. 7.22 График доли разных типов геоморфологических поверхностей в пределах отдельного района

В SAGA GIS для извлечения значений из классифицированного растра с многими значениями классов используется инструмент Grid Classes Area for Polygons|Площадь Классов Грида в Полигоны из того же набора Shapes-Grid tools группы Shapes.


Рис. 7.23 Диалоговое окно инструмента Grid Classes Area for Polygons SAGA GIS

Здесь важны опции и прежде всего Class Definition (Определитель Класса) (в нашем случае это Value, простые числа) и вид результата – его можно получить в процентах доли каждой формы рельефа в каждом районе, что значительно более информативно для целей последующей классификации районов. В SAGA GIS результат может быть добавлен в виде новых полей к существующему шейпу ОТЕ или сформирован как новый отдельный новый файл, который в этом случае надо будет сохранять под выбранными именем.


Рис. 7.24 Скриншот таблицы Attributes выходного файла Grid Classes Area for Polygons SAGA GIS

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


7.6. Инструменты извлечения дисперсных векторных данных

Мозаика или Многое ко Многим: ИД "мозаика" - классифицированный векторный файл со многими классами, ОТЕ - вектор полигонов. Разумеется, исходные (изучаемые данные) могут быть и в векторной форме: таковы, например, полигоны LandUse/LandCover, линии автодорог разного класса, или торговые точки принадлежащие разным ритейлерам. Для извлечения таких данных в сетку Операционно-Территориальных Единиц используются уже другие инструменты (как в SAGA GIS, так и в ArcMAP10.x).

Исходные данные точечный вектор с гомогенной атрибутикой, ОТЕ - векторные полигоны. В качестве примера посмотрим, как учесть число «интересных» точек по сетке районов. Точки – площадки для выгула собак в Москве. Таблица содержит информацию о площади площадок в га. Предположим, что требуется подсчитать число площадок в каждом районе и общую площадь площадок по району.



Рис. 7.25 Общий вид оверлея точечных данных и полигональной матрицы районов "Старой" Москвы в ArcMAP10.x

В ArcMAP10.x есть несколько способов, приводящих к одинаковому результату. Первый способ - инструмент Tabulate Intersection набора Statistic группы Analysis Tools, который позволяет получить таблицу с числом интересующих объектов N и суммой площадей Summ (если они включены в качестве полей в атрибуты точек); таблицу придется присоединять к шейпу полигонов ОТЕ по универсальному идентификатору районов.


Tabulate Intersection
Input Zone Features: ... Old_Moscow_reg
Zone Fields: FID
Input Class Features: ... Dog_Park_Points
Out Table: Dog_Park_Values
Class Field: leave blanc (* оставляем пустым, принимая, что все парки принадлежат к одному типу)
Sum Fields: S (* суммируется площадь площадок)

После присоединения выходной таблицы к полигонам районов можно оформить слой с отображением площади "парков" для выгула собак. Чтобы не присоединять всякий раз таблицы пересечения вручную готовим простую модель, связывающую два инструмента Tabulate Intersection и Join Field пользуясь модулем Model Biulder.

Два других способа обобщить результат пересечения таблиц относительно "зон" (операционно-территориальных единиц) входного файла в ArcMAP10.x это инструмент Dissolve стандартного набора Geoprocessing и инструмент Pivot Table.

В алгоритме Dissolve|Слияние по атрибуту шейп-файл (результат процедуры пересечения) подается на вход с указанием в качестве Dissolve_Field(s)|Поле Слияния уникального идентификатора зон, в поле Statistics Field(s) указываются статистические операции (в данном случае - это сумма площадей, можно также подсчитать среднюю, минимальную и максимальную площади).

Руководства по ArcMAP10.x рекомендуют обобщать результаты Tabulate Intersection с помощью утилиты Pivot Table|Сводная таблица. Соответственно на вход подается таблица Tabulate Intersection Output Table, в качестве входного поля Input Fieldуказываем уникальный идентификатор (в данном случае номер района Москвы), поле учета Pivot Field - площадь участков для выгула. Далее в позиции Value Field|Поле Переменной можно отметить необходимые статистические переменные. Таким образом оба инструмента приведут к одинаковым результатам, но в обоих случаях удобнее составить простейший скрипт Model Builder для объединения алгоритма Tabulate Intersection с алгоритмом Dissolve или алгоритмом Pivot Table.

SAGA GIS предлагает инструмент Point Statistics for Polygons|Статистика Точек в Полигоны в наборе Shapes группа Polygons выглядит более интересно, поскольку позволяет считать не только объекты (т.е., "парки" для выгула собак) и суммы их площадей, но также и статистики – можно например вычислить средний размер площадки для выгула по каждому району.


Рис. 7.26 Диалоговое окно инструмента Point Statistics for Polygons (слева) SAGA GIS и фрагмент таблицы слоя ОТЕ: N - индивидуальные номера районов с добавленными значениями числа площадок NUM, суммарной площади SUM и средней площади в каждом районе (справа)

Результат – на выбор (как практически во всех инструментах SAGA GIS) - либо новый шейп и таблица Statistic, либо новые поля, добавляемые к исходному файлу полигонов ОТЕ; таким образом, не требуется больше никаких действий для отображение исследуемого признака.

Исходные данные вектор полилиний с гомогенной атрибутикой, ОТЕ - вектор полигонов. Многие объекты внешнего мира представлены в ГИС как полилинии: таковы авто- и железные дороги, различного рода инженерные сети, малые и средние реки. Соответственно может возникнуть потребность выявить плотность такого рода объектов по сетке операционно-территориальных единиц, например – плотность эрозионной сети или плотность автодорог в районах города.

В ArcMAP10.x используем все тот же инструмент Tabulate Intersection. Программа "понимает" тип и размерность геометрического примитива и в данном случае считает суммарную длину отрезков автодорог. На выходе - таблица районов с суммой длин всех отрезков дорог в появившемся поле LENGTH, для каждого конкретного района. Таблица присоединяется к шейпу районов по полю FID, после чего можно оформить слой «плотность дорог» в районах Москвы.



Рис. 7.27 a) Общий вид оверлея слоя автодорог (полилинии) и полигонального вектора ОТЕ - районов Москвы, b) оформленный слой суммарной длины автодорог в районах "Старой" Москвы

В SAGA GIS оверлей и извлечение данных из полилинейного слоя в полигональный осуществляется инструментом Line-Polygon Intersection набора Lines группы Shapes. На входе - файл полилиний дорог и полигональный векторный файл ОТЕ, на выходе - два файла полилиний: Highway Intersection: Intersect и Highway Difference: Intersect. Интерес представляет первый, поскольку именно он содержит рассеченные границами районами отрезки дорог. Сумма по району может быть рассчитана утилитой Line Dissolve этой же группы (Lines). В поле Dissolve Fild указывается наименование района NAME, в поле Statistic Field - L (длина отрезов), в выпадающем списке статистик - Sum (сумма). Наконец, придется еще присоединять таблицу полилинейного слоя к полигонам ОТЕ, так что можно констатировать, что эта процедура оверлея полигонов и полилиний в SAGA GIS пока не слишком удобна.


7.7. Инструменты извлечения данных векторных "мозаик"

Дисперсное поле ко Многим: Исходные данные вектор полигонов с гомогенной атрибутикой, ОТЕ - полигоны. К гомогенным полигонам относятся полигональные объекты, не разделенные как «классы» и различающиеся только размерностью – площадью., периметром и формой. Типичный пример таких объектов - здания и сооружения полигонального слоя building карт Open Street Map. Данные такого рода позволяют решать стандартную задачу геоэкологической оценки городской среды – определяем застроенность ("запечатанность") районов Москвы.

Инструмент ArcMAP10.x Tabulate Intersection выдает таблицу с полем площади AREA (в метрах) и процентом перекрытия зданиями и сооружениями территории районов - поле PERCENTAGE.

Далее необходимо рассчитать Summary Statistics|Суммарную статистику указав в качестве Case field поле универсального идентификатора FID полигонов-кварталов, а в Statistics Field(s)|Поле статистики поле площади зданий Area и поле Percentage|Процентное соотношение. Скрипт просуммирует площадь всех оснований зданий по каждому кварталу и долю в процентах, т.е., по сути - "запечатанность" квартала.

Присоединив таблицу Суммарной Статистики (обычным образом - через Join или с помощью специального инструмента Join Fields) получаем возможность построить по слою ОТЕ карту запечатанности районов.


Рис. 7.28 a) Общий вид оверлея полигональных слоев - слой зданий и сооружений и слой административных районов, b) итоговый слой запечатанности административных районов "Старой" Москвы

Поскольку подобного рода наложение представляет собой одну из самых рутинных операций в разнообразных геоэкологических оценках (например, расчеты озелененности городских кварталов, заболоченности или заозеренности речных бассейнов, распаханности территорий сельских поселений и т.д.) имеет смысл использовать несложную модель Model Builder, объединяющую три процедуры (Tabulate Intersection, Summary Statistic, Joint) в один общий скрипт.


7.29 Вариант модели Model Builder для пересечения слоев, когда исходные векторные данные представлены единственным классом объектов


Мозаика или Многое ко Многим: Исходные данные вектор полигонов c номинальными классами, ОТЕ -вектор-полигоны. Предположим, что у нас есть слой Landuse|Виды землепользования из обычного одноименного слоя полигонов набора Open Street Map. Необходимо выяснить долю, которые занимают земли различного назначения в пределах каждого района.


Рис. 7.30 Общий вид оверлея полигональных слоев сетки АТД Москвы и слоя Landuse OSM, источник данных - классифицированный вектор полигонов

В ArcMAP10.x инструмент все тот же Tabulate Intersection, но существенный момент – наличие опции Class Field: необходимо отметить поле с классами, в противном случае программа просто сосчитает процент покрытия всеми видами землепользования в районе. Поле класса в таблице Землепользование - LandUse. Иным будет и результат в выходной таблице для каждого района (мы различаем их по FID), в которой будут указаны все виды землепользования. Таким образом каждый район распределен по N-строк, где N - число видов землепользования. Но такая таблица для нас бесполезна, ибо нам нужен спектр видов землепользования в каждом районе.



Рис. 7.31 a) Диалоговое окно инструмента Tabulate Intersection с отмеченным полем Class, b) выходная таблица Tabulate Intersection с полями FID (номера районов) LANDUSE, AREA и PERCENTAGE

Следующий шаг - сбор значений по каждому району инструментом ArcMAP10.x Summary Statistic. Для облегчения "рутинных" сторон процедуры целесообразно использовать модель, построенная в Model Builder.

Другой простой и надежный способ - собрать значения в Excel, используя возможности Сводной Таблицы. Данная процедура включает следующую последовательность действий (Рис. 7.32):

  • Конвертация таблицы Intersction в формат Excel - Conversion Tools >> Excel >> Table to Excel,
  • Загрузка сконвертированной таблицы в Excel;
  • Использование приема Сводная таблица, для расчета суммы площадей по каждому вида землепользования в пределах каждого отдельного района;
  • Корректировка Сводной таблица в Excel (ликвидация лишних полей названия таблицы и приведение к виду, когда таблица помимо расчетных данных содержит только название строк и столбцов);
  • Экспорт обратно в формат таблиц ArcMAP - Conversion Tools >> Excel >> Excel to Table;
  • Присоединение к шейпу районов Join Fields (ОТЕ).

Рис. 7.32 Использование возможностей сводных таблиц в Excel

Для получения Сводной таблицы в Excel переходим в диалог Вставить Сводную таблицу. На открывшемся листе в поле строк перетаскиваем названия или индивидуальные номера районов FID. В поле столбцов перетаскиваем LANDUSE; в центральный большой прямоугольный блок значений перетаскиваем PERCENTAGE. Далее копируем на новый лист содержательную часть таблицы так, чтобы сверху были названия видов землепользования в качестве наименования колонок, а в крайне левой колонке оставались только FID районов. Сохраняя таблицу, запоминаем номер сводного листа именно его мы должны экспортировать обратно – в формат ArcMAP10.x. Перед сохранением на вкладке Параметры надо убрать "галку" в позиции Общие итоги – чтобы не было ненужного суммирования по строкам и столбцам. Заодно можно через формат ячейки избавиться от лишних разрядов десятичных чисел. Лист-источник (Лист 1) можно удалить. Утилита ArcMAP Excel to Table Table конвертирует таблицу формата xlsx обратно в формат dbf (составную часть shape-файла). Данная процедура достаточно «капризна» и поэтому имеет смысл учитывать некоторые детали:

  • целесообразнее сохранять файл Excel в версии Книга Excel 97-2003<
  • в качестве конечной папка сохранения таблицы лучше использовать Geodata Base

Результат преобразований (после присоединения таблицы к шейпу ОТЕ) открываем и просматриваем в ArcMAP10.x: название видов землепользования должны быть названиями полей, поле FID должно быть целочисленным INTEGER. Теперь у нас есть возможность оформлять слой разными способами - в зависимости от задач. например, раскрашивать слой по доле заводской застройки (т.е., по значению industrial).

Рис. 7.33 Оформление слоя Землепользования по двум видам доля промышленной застройки (a) доля жилой застройки (b)

Как видим способ «один ко многим» в векторном варианте выглядит достаточно хлопотным и предполагает использование «стороннего софта» – программы Excel. Заметим в этой связи что полученная в Excel электронная таблица может сама по себе быть полезной для составления разного рода графиков и таблиц по теме исследования.

К сожалению, и SAGA GIS не предложит нам ничего более «простого». Инструмент Intersect группа Shape, набор Polygon совершенно аналогичен – создает множественные строки для каждого пересечения конкретного района с данным участком LandUse. Итоговая таблица выглядит аналогично. В дальнейшем придется сохранять файл как dbf, открывать его в Excel, делать сводную таблицу и возвращать ее уже как DBF в SAGA GIS.