Для открытия диалога запроса выполните команду меню системы
, либо нажмите кнопку на панели инструментов.Рисунок 733. Диалог выборки по условию
Выборка производится по выбранным полям одного из слоев карты. Слой выбирается в поле со списком Слой, а в списке Поля для выборки флажками отмечаются поля слоя для выборки.
В каждом слое доступна группа полей «Геометрия» с полями геометрических свойств слоя, в слоях с базами данных доступны для выбора и поля баз данных слоя.
Примечание | |
---|---|
Для быстрого поиска нужных полей в списке введите начало названия требуемого поля в поисковой строке над списком, в списке будут отображаться только поля, начинающиеся с введенных символов. |
Текст запроса составляется в группе полей Условия выборки. Текст запроса вводится вручную, в поле ввода, либо конструируется визуально, кнопками панели инструментов, над полем ввода. Запрос состоит из набора условных выражений, соединяемых булевыми операторами (И/ИЛИ/НЕ), условные выражения можно группировать с помощью скобок.
Флажок Учитывать регистр под полем управляет способом отбора строковых полей – если флажок установлен, отбор производится с учетом регистра строк.
При установленном флажке Выбирать из выделенных объектов, запрос выполняется только по выделенным объектам слоя
Предусмотрены несколько видов условных выражений:
Сравнение. Синтаксис условия: Аргумент1 условие Аргумент2.
В выражении аргументы сравниваются с использованием заданного условия. Допускаются следующие условия: <, >, =, <=, >=, <>. Условия вводятся непосредственно с клавиатуры, либо выбираются на панели инструментов условий выборки.
Примеры.
Длина > 10;
[Номер дома] <> 5;
[Улица] = «Нахимова».
Проверка существования значения поля. Проверяется, задано ли для объекта указанное поле. Возможны два варианта условного выражения:
Поле IS NULL – значения поля не задано;
Поле IS NOT NULL – значение поля задано.
Способ указания названий полей см. ниже, в описании видов аргументов.
Значения IS, NULL, NOT вводятся вручную, либо кнопками на панели инструментов условий выборки.
Проверка соответствия аргумента строковому шаблону. Синтаксис выражения: Аргумент LIKE «ШАБЛОН», где ШАБЛОН – строка шаблона. Проверка соответствия проводится таким образом:
Для любых символов, кроме «_» и «%», проводится проверка наличия такого же символа;
Для символов «_» проверяется наличие одного произвольного символа;
Для символов «%» проверяется наличие любого количества произвольных символов;
Для комбинации символов [набор_символов], проверяется наличие одного любого символа из указанного набора. Набор может задаваться простым перечислением символов (например [abc] – проверяется наличие символа a, либо b, либо c), либо диапазоном символов (например [a-z], – любой символ от a до z, или [1-9], – цифра от 1 до 9). В числе проверяемых символов могут использоваться символы «_» и «%», но не символы «[» и «]»;
Для комбинации символов [^набор_символов], проверяется несовпадение с каким либо из символов набора (проверка прошла успешно, если в проверяемой позиции символ не соответствует набору). Правила формирования набора см. в предыдущем пункте.
Примеры:
[Улица] LIKE «Нев%» – все объекты со строковым полем Улица, начинающимся на «Нев», в том числе: «Невский», «Невель», «Нева» и т.д.;
[Город] LIKE «_оскв[а-я]» – все объекты со строковым полем Город, начинающимися с произвольной буквы, продолжающимися буквами «оскв» и заканчивающимся на любую букву в диапазоне а-я, например – «Москва»;
Пространственные отношения. Проверяет пространственные отношения объектов слоя выборки с объектами другого слоя. Синтаксис: ОТНОШЕНИЕ [Название_слоя]. Предусмотрены следующие отношения:
«Содержит». Объект слоя выборки содержит в себе объект указанного слоя;
«Внутри». Объект слоя выборки находится внутри объекта указанного слоя.
Примеры:
содержит [Пример тепловой сети];
внутри [Здания].
В аргументах условных выражений могут использоваться следующие элементы:
Значения полей слоев. Для полей геометрии пишется просто название поля, для полей БД – название, заключенное в квадратные скобки. Если поле находится не в текущем слое (слое по которому проводится выборка), то перед названием поля идет название слоя в квадратных скобках, и точка. Название поля может задаваться вручную, либо для этого можно использовать диалог выбора поля.
Примеры.
Поле геометрии текущего слоя: Периметр;
Поле БД текущего слоя: [Квартал];
Поле БД слоя отличного от текущего: [Пример тепловой сети].[Адрес узла ввода].
Арифметические действия и скобки: +, –,*, /,(). Значки действий вводятся с клавиатуры, либо выбираются в панели управления выборки.
Примеры.
Площадь / 2;
(Длина +5)/4.
Математические и строковые функции. Функции вводятся вручную, либо выбираются в панели выбора функций, открываемой кнопкой Функция панели управления выборки.
Примеры.
Корень из длины объекта: SQRT(Длина);
Название улицы в верхнем регистре: UPPER([Улица])
Пример запроса из нескольких условных выражений: (содержит [Пример тепловой сети] И [Пример тепловой сети].ИмяТипа=«Потpебитель») ИЛИ [Улица] = «Нахимова»
После завершения набора запроса, нажмите кнопку панели данных.
, результаты запроса отобразятся в