Arcpy.mp ist ein Python-Submodul, das Bestandteil des ArcPy-Site-Pakets ist. Es wird mit ArcGIS Pro installiert und ist für alle Lizenzen verfügbar. Es wurde in erster Linie zum Bearbeiten des Inhalts vorhandener Projekte (.aprx) und Layer-Dateien (.lyrx) entwickelt. Sie können den Inhalt von Projekten automatisieren, ohne die Anwendung öffnen zu müssen. In manchen Fällen werden Funktionen bereitgestellt, die in ArcGIS Pro nicht verfügbar sind. Beispielsweise muss arcpy.mp vollständige Kartensammlungen erstellen, da es Funktionen zum Exportieren in PDF-Dokumente sowie zum Erstellen und Verwalten von PDF-Dokumenten enthält.
Die Funktionen von arcpy.mp werden anhand von Beschreibungen einiger unterstützter Szenarien verständlicher. Hier sind ein paar Beispiele für die zahlreichen Workflows, die Sie mit einem arcpy.mp-Python-Skript ausführen können:
- Automatisieren von Layouts, Kartenansichten, Kartenserien und Berichten
- Erstellen Sie eine Vielzahl von PDF-Kartensammlungen, zum Beispiel eine Bezugskartensammlung oder eine thematische Kartensammlung mit Titelseite, mehreren Kartenseiten und beliebig vielen zusätzlichen Seiten mit unterstützenden Inhalten wie tabellarischen Berichten und Kontaktlisten.
- Bearbeiten Sie Elemente eines Layouts, indem Sie beispielsweise ein Bild, ein Unternehmenslogo, Textzeichenfolgen und vieles mehr aktualisieren.
- Erweitern Sie Geoverarbeitungs-Skriptwerkzeuge, um direkt mit Karten, Layouts und anderen Projektelementen zu arbeiten.
- Bestandsskripte zum Protokollieren von Informationen zu Projektdaten, fehlerhaften Datenquellen, Ordnerverbindungen und vielem mehr.
- Aktualisieren, reparieren oder ersetzen Sie Layer-Datenquellen.
- Verwalten Sie Projektelemente wie Layouts, Karten, Berichte, Ordnerverbindungen und vieles mehr.
- Ändern Sie die Symbolisierung eines Layers.
- Automatisieren Sie das Freigeben von Projektelementen, die online in Ihrer Organisation gehostet werden sollen.
Zielgruppe und Zweck
Arcpy.mp wurde für professionelle GIS-Analysten und Entwickler erstellt. In der Vergangenheit musste für die oben genannten Szenarien das .NET SDK verwendet werden. Diese Programmierumgebung erwies sich für typische GIS-Fachleute oft als schwer zu erlernen. Arcpy.mp ist ein grobkörnigeres Objektmodell, das heißt, die Funktionen sind so konzipiert, dass eine einzige Funktion viele Zeilen mit feinkörnigerem .NET-Code ersetzen kann. Im folgenden einfachen Beispiel wird gezeigt, wie Sie mithilfe von arcpy.mp und nur vier Codezeilen ein vorhandenes Layout in einem Projekt referenzieren und in ein PDF-Dokument exportieren können:
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)
Mit der ersten Zeile wird das Arcpy-Modul geladen. Diese Zeile ist für alle Skripte erforderlich, die außerhalb von ArcGIS Pro ausgeführt werden. Die zweite Zeile referenziert ein ArcGIS Pro-Projekt auf der Festplatte. Mit der dritten Zeile wird (mithilfe eines nullbasierten Index) das erste Layout gesucht, dessen Name mit den Wörtern Main Attractions beginnt. Mit der letzten Codezeile wird das Layout mit einer Ausgabeauflösung von 300 in eine PDF-Datei exportiert.
Tipps zu den ersten Schritten
Für den Einstieg bieten sich unter anderem die folgenden Möglichkeiten an:
- Nutzen Sie das Lernprogramm "Erste Schritte mit arcpy.mp".
- Lesen Sie die Richtlinien für arcpy.mp.
- Wenn Sie arcpy.mapping in früheren Versionen der Software verwendet haben und jetzt ArcGIS Pro verwenden, lesen Sie Migrieren von arcpy.mapping zu ArcGIS Pro.
- Lesen Sie Alphabetical list of arcpy.mp functions und Alphabetical list of arcpy.mp classes, um sich mit der verfügbaren Funktionalität vertraut zu machen. Sie können diese Informationen auch ausdrucken und bei der Skripterstellung mit arcpy.mp nutzen.
- Alle Hilfethemen zu den Funktionen und Klassen von arcpy.mp enthalten detaillierte Erklärungen und Beispiel-Codeausschnitte, die Sie kopieren und direkt in das Python-Fenster einfügen können.
Weiterführende Informationen
Die vorhandene arcpy.mp-API bietet beeindruckende Funktionen, aber Sie sollten sich dessen bewusst sein, dass sie nicht so umfassend ist wie das .NET SDK. Wenn Sie für eine Aufgabe eine nicht in der API enthaltene Funktion benötigen, heißt das nicht, dass das Gewünschte nicht möglich ist. Die API wurde auch so entwickelt, dass sie den Zugriff auf die internen Komponenten ermöglicht, mit denen alles, was Sie in einer Projektdatei oder Layer-Datei speichern, gespeichert wird. Weitere Informationen finden Sie im Hilfethema Python CIM Access.
Auf der Site mit Python-Beispielskripten für die Kartenautomatisierung können Sie fortgeschrittenere Lösungen herunterladen.