Применять одно и то же изменение к нескольким документам карты?


9

У меня есть несколько документов карты (около 30), которые ссылаются на одни и те же файлы и отображают их одинаково. Я создал их, установив одну карту, как я хотел, затем используя «сохранить как», чтобы создать новую карту, а затем скорректировать экстенты фрейма данных в макете. Конечно, теперь, когда я их всех создал, мне нужно сделать одно и то же изменение для всех них. Есть ли более эффективный процесс, чем просто повторять одни и те же шаги в каждом документе? Если нет, то есть ли лучший способ, которым я мог бы настроить проект, чтобы способствовать таким изменениям?

Я использую ArcMap 10.0.


1
Характер ваших изменений будет определять ваш лучший путь продвижения вперед.
MLowry

Мне нужно поменять пути к ссылкам на шейп-файл, изменить символы и порядок отображения уровней.
Скотт Ла Ванн

1
Вы можете посмотреть на страницы, управляемые данными, и с этим arcpy.mapping предложено в ответе Алекса. Я бы Google на фразу , но вот одна полезная ссылка: blogs.esri.com/esri/arcgis/2011/01/28/data-driven-pages
джонами

Ответы:


2

Вы когда-нибудь использовали страницы, управляемые данными? Не уверен, что в версии 10 он есть, я использую 10.1. Довольно гладко, но было бы по факту для вас в этот момент.

Страницы, управляемые данными, будут перемещаться из одной области в следующую при построении или экспорте карт. Я размечаю один большой водосбор, а затем определяю подводные водосборы в пределах отдельных макетов.

Выполните поиск в справке для Data Driven Pages для получения дополнительных инструкций.


Страницы, управляемые данными, кажутся лучшим вариантом. Изучив, как его использовать, я обнаружил, что быстрее воссоздать карты с использованием управляемых данными страниц, чем редактировать их все по отдельности. Я также настроен на внесение изменений в будущем.
Скотт Ла Ванн

8

Наиболее эффективный способ внесения массовых изменений в несколько документов - это использование скриптов Python, доступных в ArcGIS. Вам нужно будет написать скрипт Python, который будет итерировать (или проходить) каждый из имеющихся у вас файлов документов карты и применять изменения, указанные в коде.

Начните искать модуль arcpy.mapping . 10.1 и 10.2 имеют больше встроенных функций, но вы можете пройти долгий путь даже с 10.0. Укажите, какой тип изменений нужно выполнить, и посмотрите, сможете ли вы найти соответствующие функции в модуле arcpy.mapping. Если некоторые из них отсутствуют, начните новый вопрос, и мы постараемся найти альтернативу. Если вы ранее не создавали скрипты в ArcGIS, подумайте о том, как прочитать справку по началу работы .

Также обратите внимание на примеры сценариев arcpy.mapping, которые сотрудники Esri разместили в Интернете для загрузки (с исходным кодом). Согласно файлу справки, они должны работать на 10.0, но я использовал их только в 10.1 и 10.2.

PS. Начните с одного документа карты, чтобы увидеть, правильно ли применены изменения, и всегда делайте резервные копии своих данных, прежде чем вносить какие-либо изменения.


1

Вы не можете делать все, что хотите, с помощью скрипта Python.

Две техники, которые вы можете использовать:

  1. Внесите изменения в общие слои в одном из файлов карты.
  2. Создайте новый групповой слой и добавьте все эти слои в группу.
  3. Экспортируйте групповой слой на диск.
  4. Откройте другие документы карты и добавьте ранее сохраненный групповой слой.
  5. Удалите старые дублированные слои и при необходимости разгруппируйте добавленные слои.

Вы можете обнаружить, что пользовательский шаблон может быть полезен.

  1. Создайте карту, имеющую макет и слои, общие для всех карт.
  2. Сохраните это как шаблон.
  3. Создайте новую карту, используя этот шаблон, и добавьте любые другие слои или изменения макета.
  4. Любые будущие изменения в общих элементах могут быть сделаны только в шаблоне, но будут отражены на всех картах, которые используют этот шаблон.

Справка ESRI по шаблонам

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.