Використання сторінок, керованих даними (DDP) для створення набору карт з однаковою мірою, але різними шарами?


9

Чи можливо за допомогою інструменту Data Driven Pages (DDP) в ArcMap або ArcPy створити набір карт з однаковою мірою, але показувати різні шари?

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

Система типу DDP дозволила б мені використовувати динамічний текст і забезпечити стандартний шаблон / висновок протягом усього часу, це також полегшило б життя при оновленні загального номера цифри або коментаря, оскільки звіт пишеться в одному .mxd, а не в декількох для клієнт.

Я використовую ArcMap 10.1, але прочитавши Інтернет-допомогу ArcGIS DDP, я припускаю, що це доведеться зробити з ArcPy, оскільки я не зміг зрозуміти, як це зробити в ArcMap. Я знаю, що QGIS має плагін Atlas , хоча я не так добре знайомий з його можливостями, але з радістю використовую його як альтернативу.


1
Я думаю, що ви шукаєте, - це написання змін вашого документа на карті в Python за допомогою набору інструментів arcpy.mapping . Дивіться посилання на створення повних карт з картами , а точніше в документі "Проста карта довідкових серій".
RyanKDalton

Відповіді:


4

Ось моє міркування в псевдокоді: ви отримаєте ваш MapDocument, потім ListDataFrames, а потім ListLayers. Тоді вам слід мати можливість переймати шари, увімкнути властивість видимості шару, увімкнути ExportToPDF (або будь-яку іншу), потім знову вимкнути видимість і перейти до наступного шару. Якщо ви хочете залишити певні шари як базові, можливо, ви можете згрупувати ті, які ви хочете змінити для кожної карти, і лише переключити видимість для них, перевіривши на IsGroupLayer = True? Можливо, у когось іншого є приклад фактичного коду ...


Я ніколи не знаходив вбудованого рішення Arc для цього, але колега зараз розробив сценарій python для процесу, який відповідає основній структурі, яку ви пропонуєте. Сценарій використовує групи для створення нової сторінки у форматі pdf та може поєднуватися з DDP для створення картки із набором карт для декількох сайтів.
MAJ742

5

Безкодовий метод

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

  1. Налаштуйте рамки для карти на тому самому місці, але з полем для номера сторінки. Налаштування сторінок, керованих даними, з номером сторінки як полем імені.
  2. Якщо ви хочете ввімкнути шар для певної сторінки, додайте до його таблиці атрибут "page" та встановіть відповідний номер сторінки.
  3. Додайте Запит на визначення сторінки до певного шару за допомогою новоствореного поля.

Після вибору сторінки потрібні шари стануть видимими на основі запиту на визначення сторінки.


2
Я думаю, що запити щодо визначення сторінок спрацьовують добре в деяких випадках, але проблема полягає в тому, що вам потрібно додати відповідний номер сторінки до кожного атрибуту в таблиці даних, і ви не можете показувати одну і ту ж функцію на кількох сторінках, оскільки ви можете посилатися лише на одну сторінка за часом
MAJ742
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.