По сути, я хочу создать атлас на основе категориального поля в точечном слое.
то есть у меня есть точечный слой поставщиков услуг по уходу за детьми с категориальным полем «Предоставление». Я классифицировал каждую функцию в этом поле как «After School Club», «Breakfast Club» и т. Д., И теперь я хочу создать набор карт, которые повторяют каждую категорию и показывают только точки для каждой. Одна карта клубов после школы, одна карта клубов для завтрака и т. Д. Степени могут быть немного разными.
Я мог бы сделать это один за другим, но кажется, что должен быть способ создать атлас, основанный на экстентах каждой категории? (Я чувствую, что упускаю что-то очевидное :))
Или, альтернативно, есть ли способ автоматизировать создание многоугольного слоя и использовать его в качестве скрытого покрытия для атласа?
РЕДАКТИРОВАТЬ: я добился небольшого прогресса в этом - вы можете использовать правила на основе правил для включения и выключения функций, относящихся к текущей функции покрытия атласа. это на самом деле работает нормально, если все, что вы хотите сделать, это показать другой набор точек. Сейчас я смотрю, как привязать это к цветовой схеме и реактивной легенде.
Ответы:
Я наконец решил это для своих целей, так что вот решение, которое я придумал, если оно кому-нибудь поможет:
Напишите скрипт на python (мой в конце этого), который по сути делает это:
Это дало мне слой покрытия атласа с одним полигоном для каждой интересующей категории, выглядящий следующим образом:
Сконфигурируйте атлас и распечатайте композитор как обычно - оставив только проблему выключения и включения функций.
Для этого нужно немного проб и ошибок отработать точный набор опций:
Выражение ниже позволяет вам получить значение, которое в данный момент содержится в поле CategoryName для текущей функции атласа.
Используйте это для создания стиля на основе правил для точечного слоя вдоль линий
У меня также было правило, чтобы гарантировать, что все остальные стали прозрачными
Проверка этого с помощью атласа работает очень хорошо. Наконец, просто используйте тот же подход для манипулирования показанными метками, сделайте метки динамическими и отфильтруйте таблицы соответствующим образом. Отметка «Фильтровать легенду по содержанию карты» также очень эффективна, если вы не хотите, чтобы все элементы легенды были на всех картах.
Окончательный набор атласа:
Отредактируйте - как это просили, вот мой сценарий:
источник