Задача Запрос к атрибутам
Задача Запрос к атрибутам (Query Attributes) позволяет выбрать или просмотреть данные на карте, отобранные на основе атрибутов этих данных. Задача Запрос к атрибутам создает один запрос к одному слою карты. Однако этот запрос может иметь составное условие. К примеру, можно указать запрос к слою городов, отбирающий города с населением больше указанного значения и названием, начинающимся с указанной строки.
Кроме того, задача Запрос к атрибутам поддерживает как отношения, так и автономные таблицы. Отношения простым образом определяют отношения между двумя таблицами без присоединения связанных данных к каждой таблице. Во многих случаях, отношения указывают на одиночные таблицы, для которых не создана геометрия, но в которых содержится ценная атрибутивная информация. Например, если опубликован картографический сервис, содержащий отношения между земельными участками и автономной таблицей владельцев участков, можно воспользоваться задачей Запрос к атрибутам для отображения в результатах запроса и владельцев, и местоположения участков.
При настройке задачи Запрос к атрибутам происходит создание простой и понятной формы, облегчающей пользователям процесс построения запроса. В этом случае пользователям приложения не нужно знать особенностей набора данных, кроме того, запрос к данным обходится без построения выражения на структурированном языке запросов (SQL).
Допустим, требуется дать пользователям возможность выбора городов США по названию штата и минимальному среднему размеру домохозяйства. SQL-выражение для такого запроса выглядит подобным образом: SELECT * FROM counties.sdc.counties WHERE: "STATE_NAME" = 'Idaho' AND "AVE_HH_SZ" > 3.0. Но пользователи веб-приложения могут не знать конкретных названий атрибутивных полей или правил составления SQL-запроса. Для создания более понятного интерфейса с помощью задачи Запрос к атрибутам можно создать простую и понятную форму с подобным текстом: Требуется выбрать города в штате (здесь на выбор дан ниспадающий список штатов), имеющие средний размер домохозяйства, равный или больший (здесь расположено текстовое поле для ввода числового значения).
Добавив в приложение задачу Запрос к атрибутам, нажмите кнопку Конфигурировать (Configure), чтобы отобразить настройки конфигурации задачи. При помощи диалогового окна происходит построение запроса, а также определение словесной формулировки, которую увидит пользователь, запустив задачу. Также есть возможность настроить отображение результатов.
Выбор текста для задачи
Закладка Общие (General) предназначена для тщательной настройки всех словесных формулировок, которые пользователи увидят, запустив задачу. Можно изменить следующий текст:
- Название задачи. Это название будет отображаться на верхней панели картографического веб-приложения.
- Текст кнопки, предназначенной для запуска задачи.
Построение запроса
Для построения запроса служит закладка Установки (Settings). Выбрав картографический сервис и слой для запроса, следует добавить к запросу условие при помощи кнопки Добавить (Add). Возможно добавление нескольких условий для формирования составного запроса. Если вы только начали изучать SQL, или если вам требуется краткий обзор, обратитесь для начала к разделу справки ArcGIS for Desktop Построение выражений запроса.
В вышеприведенном примере показано условие запроса, позволяющее пользователям ввести значение и найти города с населением, превышающим это значение.
При настройке задачи Запрос к атрибутам следует помнить следующие моменты:
По умолчанию задача Запрос к атрибутам ограничивает число результатов до 50. Это значение можно уменьшить или увеличить на закладке Результаты (Results) диалогового окна конфигурации задачи в Manager.
-
По умолчанию картографические сервисы ArcGIS for Server ограничивают число возвращаемых по запросу записей до 1 000. Это ограничение можно поднять при помощи диалогового окна Свойства сервиса (Service Properties). Важно помнить об этом ограничении при настройке задачи, поскольку кнопка Получить примеры значений (Get Sample Values) приведет к просмотру только первой тысячи записей в поиске уникальных значений.
Ограничение с очень высоким числом записей может отрицательно сказаться на быстродействии. К примеру, запросы, возвращающие более 2 000 записей, требуют создания временных рабочих областей для работы со всеми полученными записями.
При конфигурации задачи с несколькими выражениями запросов они соединяются друг с другом при помощи оператора AND (И). Оператор OR (ИЛИ) не поддерживается в Manager.
Если в выражении применяется оператор LIKE, конечный пользователь может при вводе строки шаблона использовать групповые символы. Символ процента (%) означает, что на этом месте может быть все, что угодно — один символ, или сотня, или ни одного. С другой стороны, нижнее подчеркивание (_) соответствует только одному любому символу. К примеру, конечный пользователь может ввести строку _арья, которая будет соответствовать именам Марья и Дарья.
Если необходима дополнительная настройка строки запроса, которая недоступна в Manager, приложение можно открыть в какой-либо интегрированной среде разработки (например, в Microsoft Visual Studio) и внести изменения там. Выберите опцию, разрешающую Пользовательское выражение WHERE (Custom Where Expression), и введите для запроса нужное SQL-выражение.
-
Составление SQL-выражения для полей даты/времени требует дополнительного форматирования, зависящего от базы геоданных, в которой хранятся данные. К примеру, если данные хранятся в персональной базе геоданных, необходимо заключать дату в символы решетки (#).
Для того чтобы пользователям не пришлось вводить символы решетки или другие специальные символы при каждом запросе даты, это форматирование можно сделать частью выражения. Для этого необходимо отредактировать задачу в среде Visual Studio, выбрав опцию Пользовательское выражение WHERE (Custom Where Expression). В следующем выражении запрашиваются два поля даты из персональной базы геоданных, обозначенные {0} и {1}:
mydate >= #{0}# AND mydate <= #{1}#
Для прочих баз данных не требуется символ решетки, но необходим другой специальный синтаксис. Для проверки правильности построения выражения обратитесь к части "Даты" раздела Литература по SQL для выражений запросов, используемых в ArcGIS.
Если какой-либо слой отсутствует в списке слоев, это значит, что к нему нельзя составлять запросы. Например, некоторые растровые слои не содержат никаких атрибутов, поэтому в списке они будут отсутствовать. Кроме того, некоторые картографические сервисы не поддерживают выполнение запросов, например, сервисы WMS.
Может быть, полезно создать учебное приложение для практики создания запросов в Manager. Перед развертыванием любого приложения следует провести тестирование запросов с известными значениями и проверить, дают ли они должные результаты.
Выбор способа представления результатов
Закладка Результаты (Results) предназначена для настройки способа представления результатов. Полезно знать следующее:
Можно отключить поведение по умолчанию — группировку результатов по слоям и отображение атрибутов записей, полученных в результате поиска. Попробуйте различные настройки, затем выберите подходящий для вашего приложения вид представления результатов.
Если подсказки карты включены, то при щелчке на пространственном объекте, полученном в качестве результата, появится всплывающее информационное окно. Объекты-результаты также будут подсвечиваться при наведении на них курсора мыши.
Изменить внешний вид результатов возможно на панели Результаты (Results), а также в Подсказках карты путем выбора Пользовательского форматирования (Custom formatting). При этом откроются дополнительные закладки, позволяющие сменить цвет объектов-результатов, сопутствующую информацию и формат текста.