Разное

Apply filters: apply_filters() | Function | WordPress Developer Resources

01.07.2023

Применение фильтров (Map Viewer Classic)—ArcGIS Online Help

В этом разделе содержится информация, относящаяся к Map Viewer Classic. Теперь доступен расширенный просмотрщик карт. Откройте Map Viewer из панели запуска приложений, чтобы начать работу. Дополнительные сведения см. в справочной документации Map Viewer.

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

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

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

Работа с существующими фильтрами

Если векторный слой карты содержит фильтр, вы увидите отфильтрованное представление объектов. На карте отображаются только те объекты, которые соответствуют критериям фильтра. Например, автор карты мог настроить фильтр для слоя школ, который содержит начальные, средние и средние школы, чтобы отображались только начальные школы (например, Тип — Начальная). В этом случае средние и средние школы не отображаются на карте. Если автор карты настроил интерактивный фильтр для слоя школ, вы можете изменить значение на Средние и теперь будете видеть только средние школы в этом районе.

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

  1. Откройте карту с отфильтрованным слоем в Map Viewer Classic.
  2. Щелкните «Подробности» и щелкните «Содержимое».
  3. Перейдите к векторному слою с существующим фильтром и щелкните Фильтр .
  4. Изменение, редактирование или просмотр фильтра.
    • На вкладке Изменить можно применить новое значение для существующего интерактивного фильтра. Введите новое значение выражения и нажмите кнопку «Применить фильтр». Отображение карты обновляется с новым отфильтрованным представлением векторного слоя. На вкладке также отображаются удобные версии выражений в фильтре.
      Эта вкладка появляется, если в фильтре есть интерактивные выражения. Если фильтр не содержит интерактивных выражений, вместо этого вы увидите вкладку «Вид» с понятными версиями выражений в фильтре.
    • На вкладке Правка вы можете обновить выражения. Подробнее о том, как обновлять выражения, см. в следующем разделе.

Создать фильтры

Вы можете создавать фильтры для размещенных векторных слоев и слоев векторных сервисов ArcGIS Server; вы не можете создавать фильтры для примечаний к карте или объектов, импортированных из файла. Только функции, соответствующие фильтру критерии выражения будут видны на карте.

Следующие шаги объясняют, как применять фильтры в Map Viewer Classic. Для векторных слоев вы также можете применять фильтры на вкладке Визуализация на странице элемента векторного слоя.

  1. Откройте карту в Map Viewer Classic.
  2. Щелкните «Подробности» и щелкните «Содержимое».
  3. Перейдите к векторному слою, который вы хотите отфильтровать, и нажмите Фильтр .
  4. Создайте выражение определения.
    • Выражения используют общую форму .
    • Вы можете создать одно выражение, несколько выражений или один или несколько наборов выражений. Набор — это группа выражений, например, Тип — элементарный, а Регистрация — не менее 400. Чтобы создать набор выражений, щелкните Добавить набор. Дополнительные сведения о наборах и пример см. в разделе «Соображения».
    • Если у вас есть более одного выражения, выберите отображение объектов в слое, соответствующем всем или любому из ваших выражений. Все требует, чтобы все указанные вами критерии были истинными. Any означает, что только одно из ваших выражений должно быть истинным, чтобы объекты отображались.
    • Для полевой части выражения щелкните стрелку ниспадающего списка Поле и выберите из списка поле, к которому вы хотите выполнить запрос.
    • Для операторной части выражения щелкните стрелку раскрывающегося списка Операторы и выберите оператор из списка.
    • Если вы хотите фильтровать по определенному значению, выберите значение и введите значение в поле. Поле ввода зависит от типа поля.
    • Если вы хотите сравнить значение в одном поле со значением в другом поле, выберите Поле, щелкните стрелку раскрывающегося списка и выберите поле для своего выражения.
    • Если вы хотите фильтровать на основе определенного значения в поле, которое вы выбрали для своего выражения, выберите Уникальный и выберите уникальное значение из вашего поля. Если этот параметр недоступен, могут применяться ограничения.
    • Если вы создали выражение на основе значений или уникального значения, вы можете настроить интерактивное выражение. Вы не можете запрашивать значения выражений на основе поля. Щелкните поле Запросить значения.
      Введите информацию о значении в поле Подсказка и подсказку в поле Подсказка.
    • Чтобы удалить выражение в фильтре, нажмите кнопку Удалить справа от вашего выражения.
  5. Нажмите «Применить фильтр», чтобы включить отображение на карте с фильтром.
  6. Владельцы векторного слоя и администраторы организации могут сохранить фильтр в слое. Нажмите «Дополнительные параметры» и нажмите «Сохранить слой».

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

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

    Если вы сохранили фильтр в слой, вам нужно сохранить слой еще раз, чтобы удалить фильтр из слоя.

Фильтр по дате

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

Используя операторы in the last и not in the last, вы также можете применить фильтр динамической даты к размещенному векторному слою, чтобы отобразить события, произошедшие относительно текущего дня, например, все объекты, которые были отредактированы за последние пять дней — без необходимости вручную обновлять фильтр каждый день. Другие доступные операторы для фильтров даты включают: «включено», «не включено», «есть до», «после», «между» и «не между».

Фильтрация по дате доступна для размещенных векторных слоев и сервисных слоев ArcGIS Server 10.2 и более поздних версий, которые поддерживают стандартизированные запросы.

  1. Откройте карту в Map Viewer Classic.
  2. Щелкните «Подробности» и щелкните «Содержимое».
  3. Перейдите к векторному слою, который вы хотите отфильтровать, и нажмите Фильтр .
  4. Создайте выражение определения для фильтра даты следующим образом:
    1. Выберите поле даты в раскрывающемся меню Поле.
    2. Выберите оператора — например, включен, находится перед, последним и т. д. — в раскрывающемся меню «Оператор».
    3. Выполните одно из следующих действий в зависимости от того, как вы хотите фильтровать данные:
  5. При необходимости добавьте дополнительные выражения или наборы.
  6. Когда закончите, нажмите «Применить фильтр».

Рекомендации по фильтрам

При работе с фильтрами помните следующее:

  • Вы можете создавать фильтры на размещенных векторных слоях, представлениях размещенных векторных слоев и слоях сервисов объектов ArcGIS Server. Вы не можете создавать фильтры для примечаний к карте или объектов, импортированных из файла.

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

  • Чтобы изменить имя поля, отредактируйте псевдоним поля во всплывающей конфигурации.
  • Вы можете создавать интерактивные выражения на основе значений или уникальных значений. Вы не можете создавать интерактивные выражения на основе поля.
  • Вы можете фильтровать поля дат в размещенных векторных слоях, а также в сервисных слоях ArcGIS Server 10.2 и более поздних версиях, которые поддерживают стандартные запросы.
  • Не добавляйте к своим значениям специальные символы, если только эти специальные символы не являются частью значения. Например, город «Нью-Йорк» не находит объект с названием «Нью-Йорк». В этом примере вместо этого используйте City is New York.
  • Если ваше поле содержит кодированные значения, в списке Значения отображаются все кодированные значения, определенные службой для поля. Сюда могут входить значения, которые не существуют как пространственные объекты в слое. В списке Уникальные отображаются все объекты слоя (которые могут быть подмножеством значений в сервисе).
  • Для опции Уникальный требуется слой картографического сервиса 10.1 или более поздней версии. Параметр не отображается, если вы фильтруете слой картографического сервиса версии 10.0 или более ранней.
  • Параметр Уникальный недоступен, если количество уникальных значений превышает лимит, разрешенный слоем. Вместо этого вы можете использовать параметр «Значение», чтобы явно указать значение, используемое для фильтра.
  • Группировка нескольких выражений в наборы и способ группировки выражений определяют то, что вы видите на карте. Например, эта карта использует наборы выражений для фильтрации слоя полицейских инцидентов в Филадельфии, штат Пенсильвания. В этом примере автор карты хочет, чтобы карта отображала полицейские инциденты, связанные с огнестрельным оружием или повлекшие за собой смерть, и отфильтровывала другие типы инцидентов, такие как кражи, не связанные с огнестрельным оружием. Кроме того, автор карты заинтересован только в том, чтобы показать огнестрельное оружие и инциденты со смертельным исходом, имевшие место в 2016 году9.0002 Для этого фильтру требуются четыре различных выражения: по одному для каждого из трех типов происшествий, которые автор карты хочет показать (Ограбление с применением огнестрельного оружия, Убийство — Преступное и Нападение с отягчающими обстоятельствами) и одно для интересующего года (2016 г.). ). Группировка выражения года с каждым из выражений типа инцидента с помощью наборов гарантирует, что на карте будут отображаться только те инциденты, для которых верны оба следующих условия:

    • Тип инцидента — «Ограбление огнестрельного оружия», «Убийство — преступление» или «Нападение с отягчающими обстоятельствами».
    • Инцидент произошел в 2016 году.

Отзыв по этой теме?

Функция

— что на самом деле делает apply_filters(…) в WordPress?

спросил

Изменено 5 лет, 7 месяцев назад

Просмотрено 101 тысяч раз

Я пытаюсь понять некоторые функции WordPress, но не могу понять, что на самом деле делает apply_filters(. ..).

Кто-нибудь может прояснить это для меня на нескольких примерах?

  • wordpress
  • функция

5

apply_filters($tag, $value) передает аргумент «значение» каждой из «зацепленных» функций (используя add_filter ) в указанный тег фильтра. Каждая функция выполняет некоторую обработку значения и возвращает измененное значение для передачи следующей функции в последовательности.

Например, по умолчанию (в WordPress 2.9) фильтр the_content пропускает значение через следующую последовательность функций:

  • wptexturize
  • convert_smilies
  • convert_chars
  • впаутоп
  • шорткод_unautop
  • prepend_attachment
  • do_shortcode

1

поздний ответ

Краткое пояснение

apply_filters() взаимодействует с глобальным массивом $wp_filters . По сути, он просто проверяет массив, если к текущему фильтру (или хуку) прикреплено действие (/функция обратного вызова), а затем вызывает его.

Подробное объяснение

Когда вы прикрепляете обратный вызов/действие к фильтру или ловушке, вы просто добавляете имя обратного вызова в глобальный массив фильтров. Когда затем в коде (например, для шаблона, ядра или файла плагина) вызов do_action() или apply_filters() , тогда WordPress просматривает массив и вызывает обратный вызов. Единственное отличие фильтров от хуков заключается в том, что они возвращают значение (для дальнейшей обработки), а не просто запускают обратный вызов. Таким образом, хуки должны 90 196 вставлять 90 197 данных, а фильтры должны 90 196 изменять 90 197 данных.

Вот что я выяснил, рассмотрев самый популярный ответ и дополнительные ресурсы:

  • $tag кажется синонимом имени хука. (Это не особенно интуитивно понятно для меня.)
  • the_content — это пример хука типа «фильтр».

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *