Programmgesteuertes Importieren von MXD in ArcGIS Pro?

8

Ich habe ein Problem beim programmgesteuerten Importieren einer MXD-Datei in ArcGIS Pro. Ich versuche dies mit dem folgenden arcpy.mp-Code zu tun:

import arcpy
aprx = arcpy.mp.ArcGISProject(r"C:\test\blank.aprx")
aprx.importDocument(r"C:\test.mxd)
aprx.saveACopy(r"C:\test\filled.aprx")

Wenn ich ArcGIS Pro starte und die resultierende Projektdatei öffne, sind keine Elemente im Inhalt sichtbar. Ich habe versucht, die MXD-Datei mithilfe des Python-Frames programmgesteuert in die geöffnete ArcGIS Pro-Instanz zu laden. Nach dem Laden sind auch keine Elemente im Inhalt sichtbar. Für einen abschließenden Test habe ich versucht, diese MXD über die GUI zu laden - und dies funktioniert einwandfrei. Alle Ebenen sind beim Laden im Inhaltsbereich sichtbar.

Was mache ich falsch?

Konrad
quelle
3
Ich habe gerade Ihren Code verwendet und er funktioniert gut für mich. Ich vermute, Sie müssen die Karte manuell öffnen. Erweitern Sie im Projektbereich die Option Karten. Wird Ihre importierte MXD angezeigt? Doppelklicken Sie darauf.
KHibma
Danke, ja mein MXD ist da. Gibt es eine Möglichkeit, diese MXD beim Starten des Projekts automatisch zu öffnen? Natürlich, um dies programmgesteuert zu tun, damit der Benutzer diese Aktion nicht manuell ausführen muss?
Konrad

Antworten:

5

Follow - up auf meinem Kommentar, der Code , den Sie geschrieben funktioniert, funktioniert aber nicht automatisch öffnen Sie die neu eingeführte Karte.

Ich habe mich bei Mitgliedern des arcpy.mp-Teams erkundigt und zum Zeitpunkt des Schreibens gibt es keine Funktion oder Option importDocumentzum automatischen Öffnen des importierten Dokuments. Mit der Zeit könnten die Funktionen erweitert werden (ich habe dieses Feedback an das Team weitergegeben)

Sie können dies mit dem ProSDK untersuchen. Ich weiß, dass es im SDK Optionen zum Öffnen von Karten aus einem Projekt gibt. Dieses Beispiel hier könnte tun, was Sie wollen. Beachten Sie, dass sich die Add-Ins "innerhalb der App" befinden und daher ein einzigartiger Workflow sind. Wobei arcpy.mp in einem Skript ein automatisierterer Workflow ist (es sei denn, Sie haben Code geschrieben, um über mehrere aprx / mxds zu automatisieren). Abhängig von Ihrer Situation ist eine Methode möglicherweise vorzuziehen als die andere (arcpy.mp vs. ProSDK).

KHibma
quelle