Можно ли использовать инструмент Data Driven Pages (DDP) в ArcMap или ArcPy для создания набора карт с одинаковым экстентом, но с разными слоями?
Чтобы уточнить, я регулярно делаю большие наборы карт для проектов, все в одном и том же месте, часто с одними и теми же базовыми уровнями, но измененными, чтобы сосредоточиться на различных аспектах для соответствующего раздела отчета, таких как места мониторинга, землепользование, ключевые функции и т. Д., Которые все требует отдельного .mxds для создания и обслуживания.
Система типов DDP позволила бы мне использовать динамический текст и обеспечить стандартный шаблон / выходные данные, а также значительно упростила бы жизнь при обновлении общего номера рисунка или комментария, поскольку отчет пишется в одном .mxd, а не в нескольких для клиент.
Я использую ArcMap 10.1, но, прочитав интерактивную справку ArcGIS DDP, я предполагаю, что это необходимо сделать с помощью ArcPy, поскольку я не смог понять, как это сделать в ArcMap. Я знаю, что в QGIS есть плагин Atlas , хотя я не так хорошо знаком с его возможностями, но с радостью использовал бы его в качестве альтернативы.
Ответы:
Вот мое мышление в псевдокоде: вы получите свой MapDocument, затем ListDataFrames, затем ListLayers. Затем вы сможете перебирать слои, переключать свойство видимости слоя на ExportToPDF (или что-то еще), затем снова выключать видимость и переходить к следующему слою. Если вы хотите оставить определенные слои в качестве базовых слоев, возможно, вы могли бы сгруппировать те, которые вы хотите изменить, для каждой карты и переключать видимость только для них, проверяя IsGroupLayer = True? Может быть, у кого-то еще есть пример кода ...
источник
Метод без кода
Когда вы включаете управляемые данными страницы, вы можете указать запрос определения, который зависит от номера страницы. Просто используйте этот запрос, чтобы скрыть все объекты от слоев, которые вы не хотите показывать.
Когда страница выбрана, нужные слои станут видимыми на основе запроса определения страницы.
источник