Слои запросов – это SQL-запросы, хранящиеся на картах в проектах ArcGIS AllSource. Слои запросов позволяют получить доступ к пространственным и непространственным таблицам и видам в базах данных и облачных хранилищах данных. Например, у вас может не быть прав доступа в базе данных для создания представления, но вы хотите ограничить количество данных из класса пространственных объектов, отображаемых на карте. Вы можете создать слой запроса на карте, который выбирает только определенные поля или значения из класса пространственных объектов.
Подсказка:
Поскольку слои запросов обращаются к базе данных непосредственно с помощью SQL, данные не обязательно должны быть частью многопользовательской базы геоданных, но при необходимости вы можете определить слои запросов для таблиц многопользовательской базы геоданных и классов пространственных объектов.
Вы определяете запрос SQL для создания слоя запроса. Запрос выполняется для таблиц и видов в указанной вами базе данных или облачном хранилище данных, и набор результатов добавляется на карту в виде слоя, если ваш запрос включает пространственный столбец или автономную таблицу, если это не так.
SQL-запрос, определяющий слой запроса, представляет собой статический оператор SQL, который выполняется в базе данных или хранилище данных каждый раз, когда слой отображается или используется на карте. Это позволяет видеть актуальную информацию без необходимости выполнения копирования или репликации данных. Это особенно важно при работе с динамической информацией, которая постоянно обновляется. Однако существует много ситуаций, когда части выражений SQL заранее не известны. Например, для отображения суммарных данных по количеству осадков в регионе у вас не хватает данных по погодным наблюдениям для агрегирования данных по станциям за день, неделю или месяц. Параметры слоев запроса делают компоненты выражений SQL динамическими.
При работе со слоями запроса учитывайте следующее:
- Слои запросов поддерживаются для конкретных систем управления базами данных и облачных хранилищ данных.
- Когда вы перетаскиваете таблицу из базы данных в своем проекте на карту, ArcGIS AllSource автоматически создается слой запроса, который выбирает все поля и строки из таблицы. Вы можете изменить то, что доступно на карте, отредактировав определение слоя запроса из свойств слоя. Однако не перетаскивайте слои на карту, если в таблице миллионы объектов.
- Кроме того, вы можете определить слой запроса до того, как данные будут добавлены на карту. Этот метод необходимо использовать для определения слоя запроса для данных в многопользовательской базе геоданных или для определения слоя запроса для данных в облачном хранилище данных.
- Слои запросов ведут себя так же, как другие векторные слои или автономные таблицы на карте; вы можете использовать их для отображения данных, использовать их в качестве входных данных для инструмента геообработки, получать к ним программный доступ с помощью API-интерфейсов разработчика или публиковать их.
- Слои запросов доступны только для чтения при доступе к ним напрямую из подключения базы данных.
- Для редактирования таблиц баз данных, доступных в виде слоя запроса, опубликуйте их как векторный веб-слой и обращайтесь к ним напрямую через портал. Слой запроса не может содержать виртуальные столбцы, выражения where или соединения. Кроме того, слои запросов, которые обращаются к данным в облачном хранилище данных, не редактируются даже через векторный веб-слой.
- Если слой запроса определен для данных базы данных, вы можете экспортировать данные из слоя запроса в другую базу данных или многопользовательскую базу геоданных.