Skip to main content

Использование фильтров отображения

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

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

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

Фильтры отображения доступны только для 2D карт. Они не доступны для трехмерных сцен.

Фильтры отображения присутствуют независимо от способа присвоения символов слою. Это означает, что запросы фильтров отображения могут быть построены на основе любых атрибутов объектов, а не только используемых для задания символов объектов. Например, можно отобразить линейный слой объектов дорог по классу дорог с использованием разных символов для улиц, шоссе и автострад. А затем вы можете применить запросы фильтра отображения, чтобы отобразить в мелких масштабах только дороги с максимальным объемом трафика (независимо от их типа). Это означает, что они остаются даже в том случае, если вы измените символы слоя.

Включение фильтров отображения на слое

Управление фильтрами отображения происходит на вкладке Фильтры отображения панели Символы для слоя. Чтобы фильтры применялись к отображению, их необходимо включить. Щелкните кнопку Включить фильтры отображения, чтобы включить ее. При этом активируются имеющиеся фильтры отображения, а также у вас появляется возможность создавать новые фильтры отображения.

Вы можете отключить фильтры отображения в любое время, не теряя их настроек. Чтобы временно отключить эти фильтры, вы можете снова нажать кнопку Включить фильтры отображения. Настройки масштаба и запросы остаются без изменения ‏и при отрисовке слоя не будут учитываться, до тех пор пока не будет снова нажата эта кнопка. С помощью этого способа можно сравнивать отображение - с применением фильтров и без них.

Подсказка:

Вы можете фильтровать список слоев на панели Содержание карты или сцены, чтобы показать только слои с включенным фильтром отображения.

Два типа фильтров отображения

У слоя может быть несколько фильтров отображения, но одновременно может быть применен только один. Имеются два способа настройки фильтра, активного в данный момент:

  • По масштабу — в этом режиме каждый фильтр отображения для слоя связан с диапазоном видимых масштабов. Диапазоны масштабов являются взаимоисключающими и непрерывными; не может быть пробелов или перекрытий. Текущий масштаб карты определяет активный фильтр отображения. Обычно фильтры отображения по масштабу используются в слое, в котором в мелких масштабах слишком высокая плотность объектов, что затрудняет чтение карты и снижает скорость отображения. (Дополнительные сведения о работе с различными масштабами см. в разделе Создание мультимасштабной карты.)

  • Вручную — в этом режиме каждый фильтр отображения является независимым и определяется только запросом. У них нет связанных диапазонов масштабов. Вы должны вручную указать, какой фильтр отображения будет активен в данный момент времени (если их несколько). Вы можете переключаться между этими фильтрами отображения, это поможет сравнить данные визуально.

Масштабо-зависимые фильтры отображения

Масштабо-зависимые фильтры отображения обычно используются в слое с высокой плотностью объектов, в малых масштабах их сложно интерпретировать, они медленно отрисовываются, но вы не хотите ограничивать объем доступных в слое данных. Например, вы работаете с детальным набором данных по гидрологии США, с обозначениями объема потоков. В малых масштабах слишком много объектов, чтобы визуально извлечь из карты какую-либо значимую информацию:

Карта подробного гидрологического набора данных

Без фильтров отображения в нем слишком много объектов, чтобы различить пространственные закономерности в данных.

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

Следующая карта показывает только реки с наибольшими расходами на самых мелких масштабах, заданные фильтром отображения:

Подробный гидрологический набор данных только с реками с наивысшим расходом в мелком масштабе

Только крупные реки прорисованы в мелких масштабах.

При увеличении масштаба запрос к фильтру отображения позволяет отобразить реки с меньшим расходом, как показано на следующей карте:

Подробный гидрологический набор данных, содержащий только реки с высоким и средним расходом в среднем масштабе

Реки с меньшим расходом добавляются к отображению в среднем масштабе.

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

Подробный гидрологический набор данных со всеми реками и ручьями в крупном масштабе

Все реки и ручьи отображаются в самых крупных масштабах.

Добавление масштабо-зависимых фильтров отображения к слою

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

  1. Выберите слой на панели Содержание.

  2. На вкладке Векторный слой в группе Отображение щелкните Фильтры отображения , чтобы открыть вкладку Фильтры отображения на панели Символы.

  3. Щелкните кнопку-переключатель Включить фильтры отображения, чтобы включить ее, и задайте для свойства Задать активный фильтр отображения По масштабу.

    Если у слоя еще нет фильтров отображения, то появится только один фильтр с именем all features.

  4. Щелкните Новый фильтр отображения, чтобы добавить дополнительные фильтры при необходимости. Дополнительно можно дважды щелкнуть имя фильтра отображения и заменить его на более понятное.

  5. Используйте бегунок вверху таблицы, чтобы изменить границы масштабов для каждого фильтра отображения. Перетащите внутренние отметки в новое расположение шкалы или щелкните их, чтобы открыть всплывающее окно, где можно выбрать другой масштаб карты и настроить границы шкалы каждого из фильтров отображения.

Работа с диапазонами масштабов

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

При настройке диапазонов масштабов для фильтров отображения вы можете работать только с остановками на основном бегунке. Дополнительные бегунки ниже приведены для визуального пояснения диапазонов масштабов для каждого символа. Отметки шкалы на бегунке определяются и ограничиваются списком масштабов, заданных для данной карты. Для получения информации о настройке списка масштабов карты и задания псевдонимов масштабов см. Масштабы карты и свойства масштабов. Должен быть хотя бы один фильтр отображения. Добавьте остальные, чтобы разбить диапазон масштабов. Разверните каждый фильтр, чтобы настроить запрос. По желанию присвойте всем фильтрам отображения понятные имена, чтобы организовать вашу работу.

Слой зданий с тремя фильтрами отображения

При задании диапазона масштабов важно понимать, что происходит на границах. Две версии объекта не должны отображаться одновременно в границах масштаба. Убедитесь, что опция карты Отображать включая максимальный масштаб диапазонов выключена. На панели Содержание щелкните правой кнопкой мыши на карте и выберите Свойства, чтобы открыть диалоговое окно Свойства карты. Щелкните вкладку Общие для проверки этого свойства. По умолчанию для новых карт оно не включено, но включено в документах карты, импортированных из ArcGIS Desktop. Это особенно важно, если вы собираетесь создать из карты векторные листы.

Добавление выражений к масштабо-зависимым фильтрам отображения

Чтобы добавить выражения к масштабо-зависимым фильтрам отображения, выполните следующие действия:

  1. На вкладке Фильтры отображения на панели Символы убедитесь, что кнопка Включить фильтры отображения включена, а для свойства Задать активный фильтр отображения задано значение По масштабу.

  2. Нажмите на кнопку Показать запрос рядом с именем фильтра отображения, чтобы раскрыть фильтр отображения и добавить выражение, или измените выражение, если оно уже существует. Если выражения нет, щелкните меню Новое выражение и выберите один из следующих вариантов:

Создать новое выражение

Используйте конструктор запросов для построения выражения без написания кода SQL. О построении запросов см. раздел Написание запроса в конструкторе запросов.

Создать новое выражение в SQL

Чтобы задать выражение, напишите код SQL.

Добавить выражение из файла

Импортируйте существующее выражение, сохраненное как файл выражения запроса (расширение файла — .exp).

  1. Щелкните Применить, чтобы проверить и применить выражение к фильтру отображения.

Удаление фильтров отображения из слоя

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

Чтобы удалить один фильтр отображения, щелкните название фильтра правой кнопкой мыши и выберите Удалить .

Чтобы удалить сразу все фильтры, щелкните Удалить все фильтры .

Фильтры отображения, заданные вручную

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

Добавление фильтров отображения, заданных вручную, к слою

Чтобы создать фильтр отображения, заданный вручную, в слое, выполните следующие действия:

  1. Выберите слой на панели Содержание.

  2. На вкладке Векторный слой в группе Отображение щелкните Фильтры отображения , чтобы открыть вкладку Фильтры отображения на панели Символы.

  3. Щелкните кнопку-переключатель Включить фильтры отображения, чтобы включить ее, и задайте для свойства Задать активный фильтр отображения значение Вручную.

  4. Щелкните Новый фильтр отображения , чтобы добавить дополнительные фильтры при необходимости.

    Для каждого фильтра отображения создается новый запрос с именем по умолчанию и одним незаконченным условием.

  5. Выбирайте значения из меню, чтобы построить запрос.

    Эти меню и их значения зависят от соответствующих исходных данных.

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

  7. При желании наведите курсор на имя фильтра отображения и щелкните, чтобы переименовать его.

  8. При желании щелкните Проверить правильность SQL выражения , чтобы проверить корректность фильтра отображения.

  9. Для проверки и завершения настройки фильтра отображения щелкните Применить.

    Если это единственный фильтр отображения в слое, он станет активным и будет применен немедленно.

  10. Если в слое есть и другие фильтры отображения, щелкните Задать как активный , чтобы вручную указать, какой фильтр отображения будет применен к слою.

Удаление фильтров отображения из слоя

Чтобы удалить фильтр отображения, заданный вручную, щелкните Отменить, чтобы удалить условие, наведите курсор на имя фильтра отображения и щелкните Удалить определяющий запрос .

Чтобы удалить сразу все фильтры, щелкните Удалить все фильтры в верхней части панели.

Публикация слоев с фильтрами отображения

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

Когда вы публикуете карту, содержащую слой с фильтрами отображения, как веб-карту, фильтры отображения включены в нее, но не все клиенты веб-карт учитывают их.