Построение запроса INFO
Все входные объекты делятся на два набора: выбранный набор и не выбранный набор. В начале операции выбраны все объекты. Вам необходимо воспользоваться запросом INFO для идентификации объектов финальной выборки.
Запрос INFO – это список из нескольких действий, каждое из которых может принимать одну из следующих форм:
- RESELECT <логическое выражение>
Удаляет из набора выбранных объекты, не удовлетворяющие логическому выражению
- ASELECT <логическое выражение>
Добавляет к набору выбранных объекты, удовлетворяющие заданному критерию
- NSELECT
Меняет местами выбранные и не выбранные объекты
Логическое выражение состоит из нескольких простых выражений, соединенных логическими операторами.
Поддерживаемые логические операторы:
Оператор | Описание |
---|---|
AND или & | Выбирает только объекты или записи, которые удовлетворяют простым выражениям по обеим сторонам от оператора AND. |
OR или| | Выбирает только объекты или записи, которые удовлетворяют одному из двух простых выражений, расположенных по обе стороны от оператора OR либо сразу обоим выражениям. |
XOR | Выбирает только объекты или записи, которые удовлетворяют одному конкретному из двух простых выражений, расположенных по обе стороны от оператора XOR, но не другому выражению. |
Простое выражение выглядит так: <операнд_1> <логический оператор> <операнд_2>
Операнды включают следующее:
- Имя элемента (поля) в таблице INFO
Пример: LENGTH
- Числовая константа
Например: 237.5
- Текстовая строка в одинарных кавычках
Например: 'Riparian'
- Набор значений
Набор значений заключается в фигурные скобки { }. Элементы набора разделяются запятыми. Элемент может содержать диапазон, обозначаемый символом ->, расположенным между граничными значениями диапазона. Элементы могут быть числовыми константами или текстовыми строками. Диапазон между двумя текстовыми строками основывается на порядковом номере символов ASCII, т.е. на алфавитном порядке. В наборе значений можно указать до 20 элементов, например: {1,2,7->9,12}.
Логические операторы:
Оператор | Описание |
---|---|
EQ или = | Операнд_1 равен операнду_2. |
NE, или <>, или ^= | Операнд_1 не равен операнду_2. |
GE или >= | Операнд_1 больше или равен операнду_2. |
LE или <= | Операнд_1 меньше или равен операнду_2. |
GT или > | Операнд_1 больше операнда_2. |
LT или < | Операнд_1 меньше операнда_2. |
CN | Операнд_1 содержит операнд_2. Оба операнда должны быть текстовыми. |
NC | Операнд_1 не содержит операнда_2. Оба операнда должны быть текстовыми. |
LK | Операнд_1 содержит знак звездочки в операнде_2. Символ звездочки – *. Он используется для обозначения любого символа. Например, запросу LK 'M*' будут удовлетворять строки MAIN, M1, M.1 и любые другие строки, начинающиеся с буквы M. Для удовлетворения строке, содержащей *, воспользуйтесь записью '^*' в операнде. Таким образом, операнду 'M*^*' будет соответствовать любая строка, начинающаяся с M и заканчивающаяся *. |
IN | Операнд_1 содержится в наборе числовых констант или текстовых строк, указанных в операнде_2. Для этого оператора операнд_2 должен представлять собой набор текстовых строк или констант. |
Операции осуществляются последовательно слева направо. Могут использоваться скобки, причем выражения, стоящие в скобках, выполняются первыми. В случае использования вложенных скобок первыми выполняются внутренние операции.
Каждый элемент (операнды, логические операторы, операторы и скобки) должен быть отделен пробелом.
В простых выражениях допустимо использование арифметических выражений.
Приведем пример запроса INFO, используемого в Python: ["RESELECT habitat = 'riparian1' AND area >= 100", "ASELECT status cn 'checked' "]. Для использования этого запроса в диалоговом окне инструмента выполните указанные ниже шаги, чтобы ввести запись RESELECT habitat = 'riparian1' AND area >= 100 в качестве одного элемента списка, а запись ASELECT status cn 'checked' – в качестве второго.
- Введите запрос в поле Выражение INFO. Любой запрос должен начинаться с действия RESELECT, ASELECT или NSELECT.
- Щелкните кнопку Добавить (Add) для добавления действия в список.
- Повторяйте шаги 1 и 2, до тех пор пока весь запрос INFO не будет добавлен в список.
- В случае необходимости используйте стрелки вверх и вниз для изменения порядка действий в списке.