Что такое arcpy.mapping?
Arcpy.mapping – это модуль написания скриптов Python, входящий в пакет ArcPy. Он устанавливается одновременно с ArcGIS Desktop и доступен для всех уровней лицензий. В основном, он был разработан для обработки содержимого существующих документов карты (.mxd) и файлов слоев (.lyr). Он также содержит функции для автоматизации печати и экспорта. Arcpy.mapping можно использовать для автоматизации создания карт; он также расширяет функциональность многостраничной компоновки и необходим для создания атласов, так как в нем есть функции для экспорта данных в PDF, создания PDF-документов и управления ими. Наконец, скрипты arcpy.mapping можно публиковать как сервисы геообработки, а функции скриптов могут быть доступны для веб-приложений.
Самый простой способ понять возможности модуля arcpy.mapping – предоставить описание некоторых сценариев, выполнение которых он позволяет облегчить. Здесь приведены только некоторые из множества сценариев, которые может выполнить скрипт arcpy.mapping:
- Создать отчет по информации, содержащейся в документах карт, который включал бы такие сведения, как система координат фрейма данных, источники данных слоя, слои с поврежденными источниками данных и расположение элементов компоновки.
- Обновить, восстановить или заменить источники данных слоя в документе карты или файле слоя.
- Обновить символы слоя, не открывая документы карты.
- Найти и заменить текстовую строку для всех документов карты в папке.
- Сохранить документы карт в предыдущей версии ArcGIS для передачи их другим пользователям.
- Обновить метаданные документа карты (например, ключевые слова, сводку и описание).
- Создать географические данные пакетно с использованием команд экспорта карт, например, серию изображений в формате GeoTIFF, основанную на перечне объектов во фрейме данных.
- Автоматизировать создание картографических сервисов и управление ими для публикации на ArcGIS Server.
- Построить несколько атласов карт в формате PDF:
- Альбом тематических или временных карт с титульным листом, несколькими страницами карт и любым количеством дополнительных страниц с пояснительными текстами и вспомогательной информацией, например, с табличными отчетами и списками контактов.
- Альбом справочных карт, созданных с использованием многостраничных компоновок
Для чего используется arcpy.mapping? Зачем он создан?
Arcpy.mapping был создан для профессиональных ГИС-аналитиков (а также и для разработчиков). Обычно, перечисленные выше сценарии должны были выполняться с использованием ArcObjects, и часто это было связано с очень сложной для изучения средой программирования для среднестатистического специалиста по ГИС. В Arcpy.mapping используется более общая объектная модель, то есть функции разработаны так, что одна функция arcpy.mapping может заменить множество строк кода ArcObjects. Далее представлен очень простой пример использования arcpy.mapping для указания ссылки на существующий документ карты и экспорта его в документ PDF с помощью всего двух строк кода.
mxd = arcpy.mapping.MapDocument("C:/Project/Watersheds.mxd")
arcpy.mapping.ExportToPDF(mxd, "C:/Project/Output/Watersheds.pdf")
Arcpy.mapping не является заменой ArcObjects, а скорее представляет альтернативу для различных поддерживаемых сценариев. Модуль ArcObjects все еще необходим для более детальной разработки и настройки приложения, в то время как arcpy.mapping предназначен для автоматизации обработки содержимого существующих документов карт и файлов слоев.
Лучшие способы для начала работы
- Изучите раздел Начало работы с arcpy.mapping.
- Изучите разделы Алфавитный список функций arcpy.mapping и Алфавитный список классов arcpy.mapping, чтобы получить представление о доступных функциях. Их также удобно иметь в распечатанном виде при написании скриптов с использованием arcpy.mapping.
- Все разделы справки по функциям и классам arcpy.mapping содержат подробное описание и фрагменты кода, которые можно скопировать и вставить непосредственно в окне Python.