Алгебра карт - Map algebra

Алгебра карт основан на множестве алгебра для манипулирования географические данные, предложенный доктором Дана Томлин в начале 1980-х гг. Это набор примитивных операций в Система географической информации (ГИС), который позволяет два или более растр слои («карты») аналогичных размеров для создания нового растрового слоя (карты) с использованием алгебраических операций, таких как сложение, вычитание и т. д.

В зависимости от пространственной близости преобразования ГИС подразделяются на четыре класса: местный, фокус, Глобальный, и зональный. Локальные операции работают с отдельными ячейками растра или пиксели. Фокусные операции работают с ячейками и их соседями, тогда как глобальные операции работают со всем слоем. Наконец, зональные операции работают с областями ячеек, которые имеют одинаковое значение. Входные и выходные данные для каждого оператора являются отображением, операторы могут быть объединены в процедуру или сценарий для выполнения сложных задач.[1]

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

  • В арифметических операциях используются основные математические функции, такие как сложение, вычитание, умножение и деление.
  • Статистические операции используют статистические операции, такие как минимум, максимум, среднее и медианное значение.
  • В реляционных операциях ячейки сравниваются с помощью таких функций, как больше, меньше или равно.
  • Тригонометрические операции используют синус, косинус, тангенс, арксинус между двумя или более растровыми слоями.
  • Экспоненциальные и логарифмические операции используют функции экспоненты и логарифма.

Некоторые основные ГИС-системы используют концепции алгебры карт, в том числе ERDAS Представьте и ArcGIS. ArcGIS 10 реализует алгебру карт в Python; функции - это импортированные методы Python и возможность перегрузки Python[2] используется для операторов. Например, растры можно умножать с помощью арифметического оператора «*».[3]

Вот несколько примеров в MapBasic:

#демодляКоричневыйнабор данных пруда#Датьслои#высота#развитие0:вакантный,1:главный,2:незначительный,3:дома,4:здания,5цемент#воды0:сухой,2:мокрый,3:пруд#вычислитьтонаклонвкаждыйрасположениена основаниинавысотанаклон=Инкрементальный градиентизвысота#идентифицироватьтообластиэтонаходятсятожекрутойгудок=LocalRatingизнаклонгде1заменяет456гдеНЕДЕЙСТВИТЕЛЬНОзаменяет...#Создайтеслойобъединениеводыиразвитиезанят=LocalRatingизразвитиегдеводызаменяетНЕДЕЙСТВИТЕЛЬНОнеплохо=LocalRatingиззанятигудокгде1заменяетНедействителениНедействителенгдеНедействителензаменяет...и...дороги=LocalRatingизразвитиегде1заменяет12гдеНЕДЕЙСТВИТЕЛЬНОзаменяет...рядом читать=FocalNeighborиздорогив0...10аспект=Добавочный аспектизвысотаSouthface=LocalRatingизаспектгде1заменяет135...225гдеНедействителензаменяет...места=МестныйМинимумизближняя дорогаиSouthfaceинеплохосиденья=FocalInsularityизместав0...1размер сайта=ZonalSumиз1в пределахсиденьяBestsites=LocalRatingизразмер сайтагдеразмер сайтазаменяет100...300гдеНедействителензаменяет...

внешние ссылки

использованная литература

  1. ^ Лонгли; и другие. (9 августа 2010 г.). Географические информационные системы и наука. John Wiley & Sons, Inc., стр. 414–7. ISBN  978-0-470-72144-5.
  2. ^ «3.4. Имена специальных методоⶻ. Справочник по языку Python. Получено 3 мая 2015.
  3. ^ Esri, Inc. «Справка ArcGIS 10.0».
  • Б. Э. Дэвис ГИС: визуальный подход (2001 Cengage Learning) стр. 249 и далее.