Отображение поднабора пространственных объектов слоя

При определении набора данных, который вы хотите показать как слой карты, часто бывает нужно отобразить только некоторые пространственные объекты этого набора. В таких случаях удобнее задать выражение запроса, которое выберет поднабор объектов для слоя. Это делается при помощи Определяющего запроса.

Например:

Если вы хотите отобразить и работать с поднабором пространственных объектов в слое, можно применить к слою определяющий запрос. Вы можете ввести собственное выражение или использовать Конструктор запросов (Query Builder), который поможет вам построить выражение запроса.

При выполнении запроса на классе объектов с пространственным и атрибутивным компонентами многопользовательской базы геоданных, появляется окно диалога, где с помощью кнопки Порядок поиска (Search order) вы можете выбрать, искать ли сначала пространственные компоненты (настройка по умолчанию) или атрибутивные компоненты. Это позволяет вам точно настроить работу запроса. Описанная кнопка присутствует только, если источником данных для слоя является класс объектов многопользовательской базы геоданных.

ПримечаниеПримечание:

При выборе опции Сперва выполнять пространственный запрос (Perform the spatial search first), определяющий запрос ограничит круг доступных для поиска объектов содержания. Если выбрана опция Сперва выполнять атрибутивный запрос (Perform the attribute search first), из всего набора данных выберутся все атрибуты, удовлетворяющие вашему запросу, и затем по пространственному поиску найдутся значения, которые отображаются в вашем экстенте.

Если в вашей карте действуют Многостраничная компоновка (Data Driven Pages), вы можете использовать Определяющие запросы для страниц (Page Definition Queries), чтобы указать, какие отображаемые объекты слоя проверять в SQL запросе. Хотя эта функциональность аналогична другим определяющим запросам, Определяющие запросы для страниц отличаются тем, что они работают только с Многостраничной компоновкой и являются динамическими. Объекты фильтруются, основываясь на текущей странице. По мере того, как вы переходите от страницы к странице, запрос меняется, и в соответствии с новой страницей отрисовывается новый набор объектов. Если у вас есть объекты, которые находятся на перекрытиях экстентов страниц, и вы хотите, чтобы эти объекты отображались на нескольких страницах, вы должны рассмотреть возможность использования кнопки Вырезать (Clip) для настройки своей карты. Эта кнопка присутствует только, если для вашего документа определена Многостраничная компоновка (Data Driven Pages). Она не присутствует в свойствах слоя, который в данный момент используется в качестве слоя индексации для многостраничной компоновки (Data Driven Pages), когда она определена.

ВниманиеВнимание:

Определяющие запросы не доступны, если вы работаете с таблицей или слоем событий (X, Y или маршрут) источника данных, который не имеет поля ObjectID (OID). Это происходит с текстовыми файлами (файлами .txt), данными Excel (файлами .xls) и с другими OLE данными баз данных, например с незарегистрированными файлами Oracle, поступающими через OLE.

C данными событий решением является создание класса объектов из табличного источника данных, а не из слоя событий. Если вы добавляете таблицу без поля ObjectID, содержащую данные X, Y, не используйте команду Файл (File) > Добавить данные (Add Data) > Добавить данные XY (Add XY Data) в ArcMap, чтобы создать слой событий, основанный на таблице. Вместо этого запустите ArcCatalog, щелкните правой кнопкой мыши таблицу, выберите Создать класс объектов из таблицы XY (Create Feature Class from XY), чтобы создать на основе неё новый класс объектов, затем добавьте этот новый класс объектов в вашу карту. Или после применения функций Файл (File) > Добавить данные (Add Data) > Добавить данные XY (Add XY Data), либо Файл (File) > Добавить данные (Add Data) > Добавить события на маршруте (Add Route Events), чтобы создать слой событий из таблицы без поля ObjectID, вы можете экспортировать данные для создания нового слоя. Эти действия сохраняют данные в классе объектов, и прописывают поле ObjectID. Другой способ – воспользоваться инструментом геообработкиСоздать таблицу запроса (Make Query Table), который позволит вам создать таблицу с помощью подключения OLE DB и выбрать столбец для поля ObjectID или динамически добавить поле ObjectID.

Создание определяющего запроса

  1. Щёлкните правой кнопкой мыши слой в таблице содержания и выберите Свойства (Properties).
  2. Перейдите на вкладку Определяющий запрос (Definition Query) в диалоговом окне Свойства слоя (Layer Properties).
  3. Введите выражение запроса.
    Ввод определяющего запроса для отображения поднабора пространственных объектов
    Конструктор запросов позволяет создавать выражение для идентификации определенных пространственных объектов слоя, который вы хотите отобразить.
    Более подробно о построении правильных запросов см.Построение выражения запроса.
  4. Нажмите ОК.

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

Чтобы вернуть отображение всех пространственных объектов, просто удалите определяющий запрос.

Связанные темы

5/10/2014