Запросы к слоям

Инструмент Запросы к слоям позволяет пользователям извлекать объекты со слоя картографического сервиса, вводя значения в готовый запрос. Этот запрос создается с помощью настройки инструмента в Application Builder, где можно строить сложные запросы, обращающиеся к множеству полей. Каждое условия запроса помещается в выражение запроса, эти выражения могут быть сгруппированы и соединены с помощью логических операторов "и" и "или." Для каждого выражения инструмент можно настроить так, чтобы пользователи могли вводить нужные значения, или ограничить вводимые значения списком, а также совсем запретить менять вводимые значения. Для полей использующих домены, значения автоматически ограничиваются соответствующими доменами. Хотя настройка инструмента обеспечивает высокую гибкость, пользователям предлагается простой диалог, состоящий из надписей, текстовых полей и ниспадающих меню, использующийся для выбора значений для запроса.

Для разработчиков на ArcGIS Online доступен полный код инструмента и пример инструмента, который использует расширенные функции вьюера. Вам предлагается пример со сложными опциями настройки поверхности, которые полностью встраиваются в Application Builder, иллюстрируется выполнение запроса и программное добавление слоев, показывается способ локализации надстройки и многое другое. Чтобы просмотреть исходный код, загрузите пример инструмента Запрос из ArcGIS Online и откройте файл QueryTool.sln. Чтобы отладить надстройку следуйте инструкциям, предоставленным в текстовом файле Инструкции по развертыванию и использованию (Deployment and Use Instructions), который поставляется вместе с примером.

Настройка инструмента Запросы к слоям

Шаги, необходимые для настройки инструмента Запросы к слоям, описываются ниже. Фрагменты настройки с многочисленными опциями подробно описываются в следующих разделах.

  1. На закладке Инструменты в Конструкторе приложения щелкните Добавить инструмент. Появится диалоговое окно Добавить инструмент (Add Tool).
  2. Перейдите в категорию Запрос (Query) и выберите инструмент Запросы к слоям (Query Layer):

    Выбор инструмента Запросы к слоям

  3. Щелкните Далее (Next)
  4. Выберите панель инструментов, надпись, всплывающую подсказку и значок для инструмента, затем щелкните Далее (Next). Хотя во многих случаях подходят предлагающиеся по умолчанию панель и значок инструмента Запросы к слоям, рекомендуется изменить их, для более точного отражения запроса, который выполняет инструмент. Например, если инструмент настроен на поиск городов США с населением больше определенного количества, подходящей надписью будет "Запрос к городам США", а подсказкой – "Поиск городов США на основе населения."
  5. Укажите URL-адрес слоя, к которому применяется запрос, и щелкните Подключить (Connect). Обратите внимание, что этот URL-адрес должен указывать на слой картографического сервиса – не на сам картографический сервис:

    Мастер настройки инструмента Запросы к слоям – задание URL-адреса слоя

  6. После подключения к слою щелкните Далее (Next)
  7. Укажите выражение для запроса к объектам слоя, включая поле, оператор и метод ввода. Более подробно см. ниже, в разделе Задание выражения запроса.
  8. После задания выражения запроса, щелкните Далее (Next)
  9. Откроется страница со списком всех готовых выражений запросов. Если на данном этапе создан только один запрос, будет указан только он. Для задания дополнительных выражений щелкните Добавить новое (Add New). Выражения, которые уже заданы, можно изменить или удалить с помощью кнопок рядом с ними. Если имеется несколько выражений, их можно комбинировать вместе с помощью раздела логических операторов и группировки. Более подробно см. ниже, в разделе Комбинирование выражений запроса. После задания выражений запроса, щелкните Далее (Next).
  10. На открывшейся странице укажите поля, в которые будут помещаться результаты запроса, и просмотрите другие опции, относящиеся к отображению результатов. Затем щелкните кнопку Далее (Next).
  11. На последней странице мастера задается внешний вид диалогового окна, которое будут видеть пользователи инструмента Запросы к слоям. Заголовок, появляющийся вверху диалогового окна, можно задать в начале страницы. В разделе Внешний вид параметра (Parameter Appearance) можно указать подпись для каждого выражения запроса. Или, если выражение запроса содержит значение по умолчанию, его можно скрыть от пользователя, отключив опцию Видимость (Visible), которая отображается рядом с выражением. Это приведет к постоянному использованию в выражении значения по умолчанию.
  12. Щелкните ОК по завершении настройки диалогового окна. Инструмент Запросы к слоям будет добавлен на указанную панель инструментов.

Задание выражения запроса

В инструменте Запросы к слоям, выражение запроса определяет условие, согласно которому будут выбираться объекты в слое запроса. Если объекты соответствуют этому условию, они будут извлечены и показаны на карте. Каждое выражение запроса состоит из трех частей:

  • Поле (Field) – определяет атрибуты слоя, которые проверяются на соответствие значений условию, заданному в выражении
  • Оператор (Operator) – задает отношения между искомыми значениями и значениями слоя. Например, оператор greater than (>) означает, что должны извлекаться объекты со значениями, большими, чем входное.
  • Метод ввода (Input method) – определяет, как пользователи будут задавать входные значения. Если выбран метод Ввод значения (Type in value), пользователям предоставляется поле для ввода значения для выражения запроса. Если задан метод Выбор значения из списка (Pick value from list), пользователи видят список готовых значений для выбора.

На рисунке ниже показано выражение запроса, которые извлекает объекты с численностью населения больше введенного значения. По умолчанию, входное значение равно 100000.

Мастер настройки инструмента Запросы к слоям – задание выражения запроса

Комбинирование выражений запроса

Инструмент Запросы к слоям дает возможность включать несколько выражений запроса в один инструмент. Хотя задание нескольких выражений часто бывает необходимо для извлечения необходимого набора объектов, необходимо также решить, как эти выражения могут быть скомбинированы. Во время настройки инструмента Запросы к слоям для комбинирования нескольких выражений можно использовать логические операторы, выбирая их из списка.

Мастер настройки инструмента Запросы к слоям – задание логического оператора для комбинирования выражений запроса

Если выбирается and, это означает, что в результаты запроса будут включены объекты, удовлетворяющие обоим выражениям. Если выбирается or, это означает, что будут извлечены объекты, удовлетворяющие одному из выражений.

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

Мастер настройки инструмента Запросы к слоям – запрос с несколькими выражениями

Если выражения скомбинированы как показано выше, запрос будет извлекать объекты, которые (1) имеют численность населения больше первого входного значения, (2) имеют численность населения меньше второго входного значения и (3) относятся к определенному классу (т.е., город, поселок и т.д.), или будут извлечены объекты, которые не соответствуют ни одному из этих условий, но соответствуют входному значению CAPITAL. Предположим, это не совсем то, что необходимо, вы хотите извлечь объекты, которые соответствуют обоим условиям по численности населения и одному или другому из оставшихся условий. Для этого необходимо сгруппировать два последних условия, чтобы указать, что они должны оцениваться вместе. Для этого просто выберите группируемые выражения, щелкнув их, затем щелкните появившуюся кнопку Выбранная группа (Group Selected):

Мастер настройки инструмента Запросы к слоям – выбор выражений запроса для группировки

После этого у сгруппированных выражений запроса появится соответствующий символ группировки:

Группировку выражений можно удалить, выбрав выражения, входящие в группу, и щелкнув кнопку Разгруппировать выбранные (Ungroup Selected), показанную ниже.

Использование инструмента Запросы к слоям

После настройки инструмента Запросы к слоям, использовать его очень просто. Для этого необходимо выполнить следующие шаги:

  1. На панели инструментов щелкните кнопку Запросы к слоям. Панель, на которой находится инструмент, задается при его настройке.
  2. Если инструмент настроен без отображения входных параметров, запрос будет выполнен с использованием значений по умолчанию, заданных при настройке. Иначе появится диалоговое окно, в которое пользователь может ввести входные значения для запроса. С выражениями, заданными в предыдущем разделе, диалоговое окно будет выглядеть как на рисунке ниже. Помните, что внешний вид окна будет зависеть от заголовка, надписей и параметров отображения, заданных во время настройки.

    Инструмент Запросы к слоям – окно для ввода значений

  3. Введите требуемые значения и щелкните Выполнить (Execute). Когда работа запроса будет завершена, результаты появятся на карте:

  4. Чтобы удалить результаты с карты, просто закройте диалоговое окно. Или чтобы сохранить результаты на карте после закрытия диалогового окна, включите опцию Сохранить результаты на карте (Keep results on map) перед закрытием окна.
:

1/23/2014