Arcpy.mp – это внутренний модуль Python, входящий в пакет ArcPy. Он устанавливается одновременно с ArcGIS Pro и доступен для всех уровней лицензий. В основном, он был разработан для обработки содержания существующих проектов (.aprx) и файлов слоев (.lyrx). Вы можете автоматизировать содержание проектов, даже не открывая приложение. В некоторых случаях он предоставляет возможности, недоступные ArcGIS Pro, например, arcpy.mp необходим для создания полных атласов, так как содержит функции для экспорта, создания и обработки PDF-документов.
Легче узнать возможности arcpy.mp по описаниям сценариев работы. Ниже приведены некоторые из многих рабочих процессов, которые может помочь вам выполнить скрипт Python arcpy.mp:
- Автоматизируйте экспорт компоновок, видов карт, серий карт и отчетов
- Создать различные атласы PDF, например, справочный атлас или тематический атлас с титульным листом, несколькими страницами карт и любым количеством дополнительных страниц с вспомогательной информацией, например, с табличными отчетами и списками контактов.
- Управляйте элементами компоновки, например обновляйте изображение, логотип компании или текстовые строки и многое другое.
- Расширьте возможности инструментов скриптов геообработки для прямой работы с картами, компоновками и другими элементами проекта.
- Скрипты инвентаризации, которые регистрируют информацию о проектах, данных, неработающих источниках данных, подключениях к папкам и т.д.
- Обновите, восстановите или замените источники данных слоя.
- Управляйте элементами проекта, такими как компоновки, карты, отчеты, подключения к папкам, виды и многое другое.
- Изменяйте символы слоя.
- Автоматизировать элементы проекта для общего доступа таким образом, чтобы они размещались для вашей организации онлайн.
Предполагаемая аудитория и цель
Arcpy.mp был создан для профессиональных ГИС-аналитиков и для разработчиков. Обычно, сценарии, перечисленные выше, выполнялись с помощью .NET SDK, и часто это было связано с трудной в изучении средой программирования для обычных ГИС-специалистов. Arcpy.mp – это более укрупненная объектная модель, т. е. функции модуля разработаны так, что одна функция может заменить множество строк более мелкого кода .NET. Далее представлен простой пример использования arcpy.mp для указания ссылки на существующую компоновку в проекте и экспорта его в документ PDF с помощью всего четырех строк кода.
import arcpy
aprx = arcpy.mp.ArcGISProject(r"C:\Projects\YosemiteNP\Yosemite.aprx")
lyt = aprx.listLayouts("Main Attractions*")[0]
lyt.exportToPDF(r"C:\Project\YosemiteNP\Output\Yosemite.pdf", resolution=300)
Первая строка загружает модуль arcpy и необходима для всех скриптов, которые запускаются извне ArcGIS Pro. Вторая строка ссылается на проект ArcGIS Pro на диске. Третья строка находит первую компоновку (используя индекс, начинающийся с нуля), с именем, начинающимся со слов Main Attractions. Последняя строка кода экспортирует эту компоновку в файл PDF с выходным разрешением 300.
Советы по началу работы
Лучшие способы начать работу включают следующее:
- Используйте Руководство по началу работы с arcpy.mp.
- Ознакомьтесь с Руководством по использованию arcpy.mp.
- Если вы использовали модуль arcpy.mapping в ранних версиях программного обеспечения, и используете ArcGIS Pro, ознакомьтесь с Переход с arcpy.mapping на ArcGIS Pro.
- Изучите разделы Алфавитный список функций модуля arcpy.mp и Алфавитный список классов модуля arcpy.mp, чтобы познакомиться с доступными функциями. Их также удобно иметь в распечатанном виде при написании скриптов с использованием arcpy.mp.
- Все разделы справки по функциям и классам arcpy.mp содержат подробное описание и фрагменты кода, которые можно скопировать и вставить непосредственно в окне Python.
Помимо основ
Существующий API arcpy.mp может выполнять некоторые невероятные возможности, но также следует понимать, что он не так обширен, как .NET SDK. Если вам нужно выполнить что-то, чего нет в API, это не значит, что это невозможно сделать. API также был разработан для предоставления доступа к внутренним компонентам, которые содержат все, что сохраняется в файле проекта или слоя. Дополнительную информацию см. в разделе справки Python CIM Access.
Посетите сайт с примерами скриптов Python Map Automation, где можно загрузить более продвинутые решения.