Фильтры помогают быстро найти нужные объекты среди большого массива данных – прямо на карте или в таблице атрибутов. Разберём, как ими пользоваться и какие возможности они дают.
Зачем нужны фильтры
Есть карта с точками интереса: магазины, кафе, достопримечательности – сотни объектов в одном слое. Чтобы работать только с нужными из них, не трогая остальные, и существуют фильтры.
В NextGIS Web фильтрацию можно применять в двух местах:
- На веб-карте:
- Через контекстное меню слоя. Фильтр влияет сразу на два элемента: объекты скрываются на карте и в таблице атрибутов, которую тоже можно открыть прямо на карте через меню слоя.
- При этом в таблице атрибутов на веб-карте – фильтр отдельный, и работает он только внутри таблицы, не затрагивая отображение объектов на карте.
- В хранилище Веб ГИС. Таблицу атрибутов любого слоя можно открыть отдельно, вне карты, и там также доступны все инструменты фильтрации.
Пример 1: несколько условий и режимы ВСЕ / ЛЮБОЙ
Начнём с простого. Возьмём слой Магазины и зададим условие SHOP Равно furniture. На карте останутся только магазины мебели.

Теперь откроем фильтр снова и добавим второе условие SHOP Равно jewelry. Переключим режим на ЛЮБОЙ – и на карте появятся ещё объекты – теперь отображаются и мебельные, и ювелирные магазины.

Режимы применения условий:
- ВСЕ – объект отображается, только если он соответствует всем заданным условиям одновременно.
- ЛЮБОЙ – объект отображается, если он соответствует хотя бы одному из условий.
Режим ВСЕ не сработает в нашем случае потому, что один SHOP не может одновременно быть и furniture, и jewelry. Для таких случаев есть оператор В списке, который рассмотрим ниже.
Если после этого открыть таблицу атрибутов через контекстное меню слоя, она покажет только объекты категорий jewelry и furniture – ровно то, что прошло через фильтр слоя.

При этом фильтр внутри самой таблицы атрибутов будет пустым: он существует независимо и готов к отдельной, более тонкой настройке.
Пример 2: исключения и точечные исключения из исключений
Раскроем легенду слоя Гастрономия и зададим условие AMENITY Не равно cafe. Результат – на карте видна вся гастрономия, кроме кафе.

Но допустим, одно конкретное кафе всё-таки нужно показать. Меняем подход:
- Переключаем режим на ЛЮБОЙ.
- Добавляем второе условие NAME В списке Булошная.

Теперь на карте отображается вся гастрономия, кроме кафе, плюс единственное исключение – кафе «Булошная». Кликаем на объект и убеждаемся: всё работает как задумано.
Оператор В списке – это как равно сразу для нескольких значений столбца. Вместо одной Булошной мы могли бы указать в этом условии и другие кафе, которые хотели бы отобразить.
Если же применить В списке к первому примеру со слоем Магазины, то мы могли бы одним таким условием отобразить сразу и furniture, и jewelry.
Фильтры в таблице атрибутов
Все те же фильтры доступны и при работе в таблице объектов вне карты – то есть в самом хранилище Веб ГИС. Это особенно удобно, когда нужно разобраться в большом массиве данных: отфильтровать строки, проверить заполненность полей, найти конкретные записи.
Мы поработаем с фильтрами в таблице атрибутов, когда дойдём до раздела Группы условий.
Операторы: полный набор возможностей
В примерах выше мы коснулись двух пар операторов – равно / не равно и в списке / не в списке. Но всего их четыре, рассмотри каждую пару:
Равно / Не равно
Базовая точная проверка: совпадает ли значение поля с заданным или нет.
В списке / Не в списке
Позволяет задать сразу несколько допустимых (или недопустимых) значений – удобно, когда нужно охватить несколько значений без создания множества отдельных условий.
Null / Не null
Фильтрация по наличию значения в поле. Null – найдёт объекты с пустым полем, не null – только те, у которых поле заполнено. Полезно при проверке качества данных.
Подобно / Не подобно
Самый гибкий оператор: работает с подстроками и спецсимволами по аналогии с ilike в QGIS. Не чувствителен к регистру.
Пример 1
Рассмотрим условие name Подобно кант. Это выражение найдёт все объекты, в названии которых встречается слово «кант» – в любом месте строки и в любом регистре. Под такой фильтр попадут и «Музей Канта», и «Фото с Кантом», и любой другой объект с этим сочетанием букв в названии.
Это работает потому, что по умолчанию – незаметно для пользователя – к запросу автоматически подставляются спецсимволы % в начале и в конце строки, что и обеспечивает поиск по подстроке.

Пример 2
Но иногда нужен другой паттерн поиска. Например, если данные содержат объекты вида ПРИЧАЛ A, ПРИЧАЛ B, ПРИЧАЛ C и так далее, то выражение NAME Подобно причал _ найдёт все подобные записи: слово причал, затем пробел, затем один любой символ.

Здесь используется спецсимвол _, который означает ровно один любой символ. Это удобно, когда структура значения предсказуема, но часть его варьируется.
Под фильтр попадут как буквы, так и цифры – ПРИЧАЛ 1, ПРИЧАЛ Q. А вот ПРИЧАЛ 10 или ПРИЧАЛ СЕВЕРНЫЙ уже не попадут, так как после пробела там стоит больше одного символа.

Если количество символов после пробела заранее неизвестно, достаточно снова вернуться к универсальному поиску по умолчанию, когда используется паттерн %ПРИЧАЛ%, покрывающий любые варианты – ПРИЧАЛ A, ПРИЧАЛ 10, ПРИЧАЛ СЕВЕРНЫЙ, СЕВЕРНЫЙ ПРИЧАЛ и всё остальное.
Группы условий
Одиночный список условий с режимом ВСЕ или ЛЮБОЙ хорошо работает для простых задач. Но иногда логика выборки сложнее, и тогда могут помочь группы условий.
Группа – это отдельный блок условий с собственным режимом ВСЕ или ЛЮБОЙ. При этом группы между собой тоже объединяются через общий режим ВСЕ или ЛЮБОЙ. Это позволяет строить составные фильтры с вложенной логикой.
Пример
Нужно отобрать все крупные магазины электроники или супермаркеты, но только те, что работают круглосуточно и имеют парковку.

Без групп такой фильтр не выразить корректно: условия на тип заведения и условия на режим работы смешались бы в одну кучу. С группами всё аккуратно:
Группа 1 (режим ЛЮБОЙ):
SHOP Равно ELECTRONICS
SHOP Равно SUPERMARKET
Группа 2 (режим ВСЕ):
OPENING_HOURS Равно 24/7
PARKING Не NULL Любое значение (подставляется автоматически)
Обе группы объединяются режимом ВСЕ – то есть объект попадёт в выборку, только если он подходит под одну из категорий первой группы и одновременно удовлетворяет обоим условиям второй.

Такой подход особенно полезен при работе со сложными данными, когда нужно чётко разграничить «или» внутри одной смысловой группы и «и» между разными группами – не путая их между собой.
Фильтры в NextGIS Web – инструмент, который легко освоить и применять ежедневно для быстрого поиска объектов, визуальной проверки данных или подготовки выборки перед экспортом. Попробуйте в своём проекте.
Как начать
Хотите опробовать функционал на своих данных? Вы можете:
- воспользоваться песочницей (не рекомендуется загружать чувствительные данные);
- развернуть бесплатно свою Веб ГИС в облаке (дарим две недели бесплатного Premium, если заполните форму);
- написать нам на sales@nextgis.ru, чтобы развернуть Веб ГИС на своём сервере.