Вкладка алгебры изображений позволяет проводить различные алгебраические операции над выбранными данными по задаваемым пользователем формулам. Для проведения вычислений данные должны быть помещены в корзину и затем выбраны на вкладке подготовки данных (см. Вкладка выбора данных и каналов).
Интерфейс и управляющие элементы
Вид интерфейса с включённой вкладкой алгебры изображений приведён ниже.

Вкладка алгебры изображений включает в себя следующий набор активных компонент управления:
| Переключатель активности вкладки | ![]() |
Блок работы с результатами вычислений позволяет сохранять полученные результаты проведённых вычислений, а также загружать и редактировать ранее полученные результаты. |
![]() |
Для создания новой задачи на вычисление нужно предварительно выбрать анализируемые данные, задать параметры вычислений и ввести формулу, по которой будет рассчитываться результат. После задания всех необходимых параметров нужно нажать кнопку Создать задание. Задание будет поставлено в очередь на обработку и после её завершения будет показано в этой же вкладке. |
![]() |
Использование вкладки
Значения в отдельных каналах спутниковых снимков могут быть преобразованы по формуле, задаваемой пользователем непосредственно в интерфейсе. Результатом обработки являются новые растровые изображения, которые созданы из существующих растровых слоев с помощью арифметических и логических выражений с участием целых и дробных чисел, нормировок и математических функции. С помощью этого инструмента в картографических web-интерфейсах возможен расчет “на лету” различных индексов, проведение экспериментов по созданию новых тематических продуктов. Например, для гиперспектрометров инструмент позволит исследователям удобно подбирать на основе зон поглощения и излучения в спектре разностные индексы для изучения минералогического и химического состава подстилающей поверхности.
Можно выделить два блока на вкладке: работа с результатами и создания нового задания.
Задание на вычисления будет поставлено по данным, которые выбраны на вкладке выбора данных (Вкладка выбора данных и каналов).
Блок создания новой задачи на вычисления
Перед созданием новой задачи необходимо установить ее параметры. Управляющие элементы этого блока имеют следующее значение:
Вся сцена – проводить вычисления для всей сцены, независимо от текущих границ карты. Недоступно для композитов.
В проекции данных – проводить вычисления в базовой проекции исходных данных, без предварительного приведения к проекции интерфейса. Не во всех случаях доступно. Например, при проведении вычислений по композиту, исходные части которого лежат в разных проекциях (например, зонах UTM), данные будут приведены к одной проекции независимо от желания пользователя. При выключенном флаге данные всегда будут приводиться к текущей проекции интерфейса.
Тип выходных данных – может понадобиться при некорректном отображении результата, когда результаты вычислений выходят за пределы типа исходных данных.
Создать задачу – создание новой задачи с указанными параметрами на каналах и сценах с вкладки выбора данных.
Формула для вычислений – в данное поле вводится формула, по которой будет получен результат вычислений. Используемые для вычислений данные выбираются на вкладке каналов и обозначаются латинскими буквами и цифрами. Доступны арифметические и логические операции, различные математические функции (полный список операторов и функций доступен на сайте GRASS GIS).
Поддерживаемые операторы:
| Оператор | Значение | Тип | Приоритет |
|---|---|---|---|
| - | negation | Arithmetic | 12 |
| ~ | one’s complement | Bitwise | 12 |
| ! | not | Logical | 12 |
| ^ | exponentiation | Arithmetics | 11 |
| % | modulus | Arithmetics | 10 |
| / | division | Arithmetics | 10 |
| * | multiplication | Arithmetics | 10 |
| + | addition | Arithmetics | 9 |
| - | subtraction | Arithmetics | 9 |
| << | left shift | Bitwise | 8 |
| >> | right shift | Bitwise | 8 |
| >>> | right shift (unsigned) | Bitwise | 8 |
| > | greater than | Logical | 7 |
| >= | greater than or equal | Logical | 7 |
| < | less than | Logical | 7 |
| <= | less than or equal | Logical | 7 |
| == | equal | Logical | 6 |
| != | not equal | Logical | 6 |
| & | bitwise and | Bitwise | 5 |
| | | bitwise or | Bitwise | 4 |
| && | logical and | Logical | 3 |
| &&& | logical and[1] | Logical | 3 |
| || | logical or | Logical | 2 |
| |||s | logical or[1] | Logical | 2 |
| ?: | conditional | Logical | 1 |
Поддерживаемые функции:
| Функция | Описание | Тип |
|---|---|---|
| abs(x) | return absolute value of x | * |
| acos(x) | inverse cosine of x (result is in degrees) | F |
| asin(x) | inverse sine of x (result is in degrees) | F |
| atan(x) | inverse tangent of x (result is in degrees) | F |
| atan(x,y) | inverse tangent of y/x (result is in degrees) | F |
| cos(x) | cosine of x (x is in degrees) | F |
| double(x) | convert x to double-precision floating point | F |
| exp(x) | exponential function of x | F |
| exp(x,y) | x to the power y | F |
| float(x) | convert x to single-precision floating point | F |
| graph(x,x1,y1[x2,y2..]) | convert the x to a y based on points in a graph | |
| if | decision options: | * |
| if(x) | 1 if x not zero, 0 otherwise | |
| if(x,a) | a if x not zero, 0 otherwise | |
| if(x,a,b) | a if x not zero, b otherwise | |
| if(x,a,b,c) | a if x > 0, b if x is zero, c if x < 0 | |
| int(x) | convert x to integer [ truncates ] | I |
| isnull(x) | уcheck if x = NULL | |
| log(x) | natural log of x | F |
| log(x,b) | log of x base b | F |
| max(x,y[,z...]) | largest value of those listed | * |
| median(x,y[,z...]) | median value of those listed | * |
| min(x,y[,z...]) | smallest value of those listed | * |
| mode(x,y[,z...]) | mode value of those listed | * |
| not(x) | 1 if x is zero, 0 otherwise | |
| pow(x,y) | x to the power y | * |
| rand(a,b) | random value x : a <= x < b | |
| round(x) | round x to nearest integer | I |
| sin(x) | sine of x (x is in degrees) | F |
| sqrt(x) | square root of x | F |
| tan(x) | tangent of x (x is in degrees) | F |
| xor(x,y) | exclusive-or (XOR) of x and y | I |
Пример расчета индекса NDVI:
Данные:
| A.1: | 2013-07-17 07:36:12 | LANDSAT 8 (USGS) | OLI_TIRS (4) |
| A.2: | 2013-07-17 07:36:12 | LANDSAT 8 (USGS) | OLI_TIRS (5) |
Формула: float(A.2-A.1)/(A.1+A.2)
После создания новой задачи вид вкладки станет, как на Рис. 2. В области статус выполнения задачи можно отслеживать прогресс выполнения.

Значение кнопок управления:
Блок работы с результатами
Принят следующий принцип работы вкладки: пользователь в каждый момент времени может работать только с одним результатом вычислений. Результату автоматически дается имя, но пользователь может изменить его на любое другое, нажав на него. Управляющие элементы для работы с текущим и проведенными ранее заданиями на вычисления имеют следующее значение:

Управляющие элементы области информации о текущем задании:
позволяет загрузить в формате GeoTIFF результат задания на компьютер пользователя для дальнейшей работы с ней средствами настольных ГИС.