Алгебра карт

редактировать

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

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

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

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

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

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

# 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...
Внешние ссылки
Рекомендации
  1. ^ Лонгли; и другие. (9 августа 2010 г.). Географические информационные системы и наука. John Wiley amp; 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 и далее.

  • v
  • т
  • е
Последняя правка сделана 2024-01-01 06:52:29
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте