Алгебра карт
Алгебра карт — это алгебра для манипулирования географическими данными , в первую очередь полями . Разработанный доктором Даной Томлином и другими в конце 1970-х годов, он представляет собой набор примитивных операций в географической информационной системе (ГИС), который позволяет одному или нескольким растровым слоям («картам») аналогичных размеров создавать новый растровый слой ( карта) с использованием математических или других операций, таких как сложение, вычитание и т. д.
История [ править ]
До появления ГИС принцип наложения развивался как метод буквального наложения различных тематических карт (обычно изарифмической карты или хорохроматической карты ), нарисованных на прозрачной пленке (например, из ацетата целлюлозы ), чтобы увидеть взаимодействия и найти места с конкретными комбинации характеристик. [1] Эта техника была в значительной степени разработана ландшафтными архитекторами и градостроителями , начиная с Уоррена Мэннинга и далее усовершенствована и популяризирована Жаклин Тирвитт , Яном МакХаргом и другими в 1950-х и 1960-х годах. [2] [3] [4]
В середине 1970-х годов студент ландшафтной архитектуры К. Дана Томлин разработал некоторые из первых инструментов для анализа наложения в растре в рамках проекта IMGRID в Гарвардской лаборатории компьютерной графики и пространственного анализа , которые он в конечном итоге преобразовал в Map Analysis Package. (MAP), популярная растровая ГИС в 1980-х годах. Будучи аспирантами Йельского университета , Томлин и Джозеф К. Берри переосмыслили эти инструменты как математическую модель, которую к 1983 году они назвали «алгеброй карт». [5] [6] Это усилие было частью разработки Томлином картографического моделирования , техники использования этих растровых операций для реализации процедур ручного наложения МакХарга. Хотя основные операции были определены в его докторской диссертации 1983 года, к 1990 году Томлин усовершенствовал принципы алгебры карт и картографического моделирования до их нынешней формы. [7] [8] Хотя термин «картографическое моделирование» не получил такого широкого признания, как такие синонимы, как «анализ пригодности» , «моделирование пригодности» и «принятие многокритериальных решений», «алгебра карт» стала основной частью ГИС. Поскольку Томлин опубликовал исходный код MAP, его алгоритмы были реализованы (с различной степенью модификации) как инструментарий анализа почти каждого пакета программного обеспечения растровой ГИС, начиная с 1980-х годов, включая GRASS , IDRISI (теперь TerrSet ) и модуль GRID ARC/INFO (позже включен в модуль Spatial Analyst ArcGIS).
Эта широко распространенная реализация в дальнейшем привела к разработке множества расширений алгебры карт после попыток расширить модель растровых данных , таких как добавление новых функций для анализа пространственно-временных и трехмерных сеток. [9] [10]
Операции алгебры карт [ править ]
Как и другие алгебраические структуры , алгебра карт состоит из набора объектов ( домена ) и набора операций , которые манипулируют этими объектами с замыканием (т. е. результат операции сам находится в домене, а не что-то совершенно другое). В этом случае домен представляет собой набор всех возможных «карт», которые обычно реализуются в виде растровых сеток . Растровая сетка — это двумерный массив ячеек (Томлин называл их местоположениями или точками ), каждая ячейка занимает квадратную область географического пространства и закодирована значением, представляющим измеренное свойство данного географического явления (обычно поля ) в точке это место. Каждая операция 1) принимает одну или несколько растровых сеток в качестве входных данных, 2) создает выходную сетку с совпадающей геометрией ячеек, 3) сканирует каждую ячейку входной сетки (или пространственно совмещает ячейки нескольких входных данных), 4) выполняет операцию над значение(я) ячейки и записывает результат в соответствующую ячейку в выходной сетке. [7] Первоначально входные и выходные сетки должны были иметь одинаковую геометрию ячеек (т. е. охватывать один и тот же пространственный экстент с одинаковым расположением ячеек, чтобы каждая ячейка соответствовала входным и выходным данным), но многие современные реализации ГИС этого не требуют. , выполняя интерполяцию по мере необходимости для получения значений в соответствующих местах. [11]

Томлин классифицировал множество возможных операций алгебры карт на три типа, к которым некоторые системы добавляют четвертый: [12]
- Местные операторы
- Операции, которые выполняются в одной ячейке одновременно на этапе сканирования. Простым примером может служить арифметический оператор, такой как сложение: для вычисления MAP3 = MAP1 + MAP2 программное обеспечение сканирует каждую совпадающую ячейку входных сеток, добавляет числовые значения в каждую, используя обычную арифметику, и помещает результат в совпадающую ячейку. выходной сетки. Благодаря такому разложению операций над картами на операции над отдельными значениями ячеек любая операция, которую можно выполнять над числами (например, арифметика, статистика, тригонометрия, логика), может быть выполнена в алгебре карт. Например, оператор LocalMean будет использовать две или более сетки и вычислять среднее арифметическое каждого набора пространственно соответствующих ячеек. Кроме того, был определен ряд операций, специфичных для ГИС, таких как реклассификация большого диапазона значений в меньший диапазон значений (например, от 45 категорий земельного покрова до 3 уровней пригодности среды обитания), что восходит к первоначальной реализации IMGRID. 1975 года. [13] Обычно локальные функции используются для реализации математических моделей , таких как индекс , которые предназначены для вычисления результирующего значения в определенном месте из набора входных переменных.
- Координационные операторы
- Функции, которые работают с геометрической окрестностью каждой ячейки. Типичным примером является расчет уклона по сетке значений высот. Глядя на одну ячейку с одной высотой, невозможно судить о такой тенденции, как наклон. Таким образом, уклон каждой ячейки вычисляется на основе значения соответствующей ячейки во входной сетке высот и значений ее непосредственных соседей. Другие функции позволяют указать размер и форму окрестности (например, круг или квадрат произвольного размера). Например, оператор FocalMean можно использовать для вычисления среднего значения всех ячеек в пределах 1000 метров (круг) от каждой ячейки.
- Зональные операторы
- Функции, которые работают с областями одинакового значения. Они обычно используются с дискретными полями (также известными как категориальные покрытия), где пространство разделено на области однородного номинального или категориального значения свойства, такого как земельный покров , землепользование , тип почвы или геологическое образование поверхности . В отличие от местных и фокальных операторов, зональные операторы не работают с каждой ячейкой индивидуально; вместо этого все ячейки данного значения принимаются в качестве входных данных для одного вычисления, при этом во все соответствующие ячейки записываются идентичные выходные данные. Например, оператор ZonalMean будет использовать два слоя: один со значениями, представляющими регионы (например, доминирующие виды растительности ), а другой — с соответствующим количественным свойством (например, процент покрытия растительного покрова ). Для каждого уникального значения, найденного в первой сетке, программа собирает все соответствующие ячейки во второй сетке, вычисляет среднее арифметическое и записывает это значение во все соответствующие ячейки выходной сетки.
- Глобальные операторы
- Функции, которые суммируют всю сетку. Они не были включены в работу Томлина и технически не являются частью алгебры карт, поскольку результатом операции является не растровая сетка (т. е. она не замкнута ), а одно значение или сводная таблица. Однако их полезно включить в общий инструментарий операций. Например, оператор GlobalMean вычисляет среднее арифметическое всех ячеек входной сетки и возвращает одно среднее значение. Некоторые также считают операторы, которые создают новую сетку путем оценки шаблонов во всей входной сетке, глобальными, что можно считать частью алгебры. Примером являются операторы оценки стоимостного расстояния . [14]
Реализация [ править ]
Несколько пакетов программного обеспечения ГИС реализуют концепции алгебры карт, включая ERDAS Imagine , QGIS , GRASS GIS , TerrSet , PCRaster и ArcGIS .
В оригинальной формулировке картографического моделирования в Map Analysis Package Томлин разработал простой процедурный язык для алгебраических операторов, позволяющий объединять их в полную процедуру с дополнительными структурами, такими как условное ветвление и циклирование. [8] Однако в большинстве современных реализаций операции алгебры карт обычно являются одним из компонентов общей процедурной системы обработки, такой как инструмент визуального моделирования или язык сценариев. Например, ArcGIS реализует алгебру карт как в своем визуальном инструменте ModelBuilder, так и в Python . Здесь возможности перегрузки Python [15] позволяет использовать простые операторы и функции для растровых сеток. Например, растры можно умножать, используя тот же арифметический оператор «*», который используется для умножения чисел. [16]
Вот несколько примеров в MapBasic , языке сценариев для MapInfo Professional :
# demo for Brown's Pond data set # Give layers # altitude # development – 0: vacant, 1: major, 2: minor, 3: houses, 4: buildings, 5 cement # water – 0: dry, 2: wet, 3: pond # calculate the slope at each location based on altitude slope = IncrementalGradient of altitude # identify the areas that are too steep toosteep = LocalRating of slope where 1 replaces 4 5 6 where VOID replaces ... # create layer unifying water and development occupied = LocalRating of development where water replaces VOID notbad = LocalRating of occupied and toosteep where 1 replaces VOID and VOID where VOID replaces ... and ... roads = LocalRating of development where 1 replaces 1 2 where VOID replaces ... nearread = FocalNeighbor of roads at 0 ... 10 aspect = IncrementalAspect of altitude southface = LocalRating of aspect where 1 replaces 135 ... 225 where VOID replaces ... sites = LocalMinimum of nearroad and southface and notbad sitenums = FocalInsularity of sites at 0 ... 1 sitesize = ZonalSum of 1 within sitenums bestsites = LocalRating of sitesize where sitesize replaces 100 ... 300 where VOID replaces ...
Внешние ссылки [ править ]
Ссылки [ править ]
- ^ Стейниц, Карл; Паркер, Пол; Джордан, Лори (1976). «Нарисованные от руки наложения: их история и перспективное использование». Ландшафтная архитектура . 66 (5 (сентябрь)): 444–455.
- ^ Мэннинг, Уоррен (1913). «План города Биллерика». Ландшафтная архитектура . 3 : 108–118.
- ^ Тирвитт, Жаклин (1950). «Обследования для планирования». В АППР (ред.). Учебник по городскому и дачному планированию . Архитектурная пресса.
- ^ МакХарг, Ян (1969). Дизайн с природой . Уайли. п. 34. ISBN 0-471-11460-Х .
- ^ Томлин, К. Дана; Берри, Джозеф К. (1979). «Математическая структура для картографического моделирования в анализе окружающей среды». Материалы 39-го симпозиума . Американский конгресс по геодезии и картографии. стр. 269–283.
- ^ Томлин, К. Дана (1983). «Алгебра карт». Гарвардская конференция по компьютерной графике . Кембридж, Массачусетс.
{{cite book}}
: CS1 maint: отсутствует местоположение издателя ( ссылка ) - ↑ Перейти обратно: Перейти обратно: а б Томлин, К. Дана (1983). Методы цифрового картографического моделирования в экологическом планировании (кандидатская диссертация). Йельский университет. ПроКвест 303197020 .
- ↑ Перейти обратно: Перейти обратно: а б Томлин, К. Дана (1990). Геоинформационные системы и картографическое моделирование . Прентис Холл.
- ^ Фрэнк, Эндрю У. (2005). «Алгебра карт, расширенная функторами для временных данных». В Акоке, Джеки (ред.). Перспективы концептуального моделирования: Международная конференция по концептуальному моделированию, Конспекты лекций по информатике V.3770 . Том. 3770. Шпрингер-Верлаг. стр. 194–207. дои : 10.1007/11568346_22 . ISBN 978-3-540-29395-8 .
- ^ Меннис, Джереми; Вигер, Роланд; Томлин, К. Дана (2005). «Функции алгебры кубических карт для пространственно-временного анализа». Картография и географическая информатика . 32 (1): 17–32. Бибкод : 2005CGISc..32...17M . дои : 10.1559/1523040053270765 . S2CID 16174172 .
- ^ Эсри. «Размер ячейки и повторная выборка в анализе» . Документация ArcGIS Pro . Проверено 7 ноября 2021 г.
- ^ Лонгли, Пол А.; Гудчайлд, Майкл Ф.; Магуайр, Дэвид Дж.; Ринд, Дэвид В. (2011). Географические информационные системы и наука (3-е изд.). John Wiley & Sons, Inc., стр. 414–7. ISBN 978-0-470-72144-5 .
- ^ Бремер, Уолтер Д. (1977). Компьютерная система IMGRID для исследований землепользования: тестирование и документация для Университета штата Юта (диссертация MLA). Университет штата Юта. дои : 10.26076/9bf4-b33e .
- ^ де Смит, Майкл Дж.; Гудчайлд, Майкл Ф.; Лонгли, Пол (2021). «Операции на одиночных и множественных сетках». Геопространственный анализ: всеобъемлющее руководство по принципам, методам и программным инструментам (6-е исправленное изд.).
- ^ «3.4. Имена специальных методов¶» . Справочник по языку Python . Проверено 3 мая 2015 г.
- ^ Эсри. «Обзор правил алгебры карт» . Документация ArcGIS Pro . Проверено 7 ноября 2021 г.
- Б. Э. Дэвис ГИС: Визуальный подход (Cengage Learning, 2001), стр. 249 и далее.