Vous importez MXD dans ArcGIS Pro par programme?

8

J'ai un problème avec l'importation d'un fichier MXD dans ArcGIS Pro par programme. J'essaie de le faire en utilisant le code arcpy.mp suivant:

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

Lorsque je lance ArcGIS Pro et ouvre le fichier de projet résultant, aucun élément du contenu ne peut être visible. J'ai essayé de charger le fichier MXD par programme dans une instance ArcGIS Pro ouverte en utilisant le cadre Python - également aucun élément n'est visible dans Contents après le chargement. Pour un test final, j'ai essayé de charger ce MXD en utilisant l'interface graphique - et cela fonctionne parfaitement, toutes les couches sont visibles dans le volet Contenu lors du chargement.

Qu'est-ce que je fais mal?

Konrad
la source
3
Je viens d'utiliser votre code et cela fonctionne très bien pour moi - je suppose que vous devez ouvrir manuellement la carte. Dans le volet Projet , développez Cartes, voyez-vous votre MXD importé? Double-cliquez dessus.
KHibma
Merci, oui mon MXD est là. Existe-t-il un moyen d'ouvrir automatiquement ce MXD au démarrage du projet? Bien sûr, en termes de programmation, afin que l'utilisateur n'ait pas besoin d'effectuer cette action manuellement?
Konrad

Réponses:

5

Pour donner suite à mon commentaire, le code affiché fonctionne, mais ne pas automatiquement ouvrir la carte nouvellement importée.

J'ai vérifié auprès des membres de l'équipe arcpy.mp et au moment de la rédaction, il n'y a pas de fonction ou d'option importDocumentpour ouvrir automatiquement le document importé. Avec le temps, les fonctions pourraient être améliorées (j'ai transmis ces commentaires à l'équipe)

Vous pouvez enquêter en utilisant le ProSDK. Je sais que dans le SDK, il existe des options pour ouvrir des cartes à partir d'un projet. Cet exemple ici peut faire ce que vous voulez. Notez que les compléments sont "à l'intérieur de l'application", donc c'est un workflow singulier. Où l'arcpy.mp dans un script est un flux de travail plus automatisé (sauf si vous avez écrit du code pour automatiser sur plusieurs aprx / mxds). Selon votre situation, une méthode peut être plus préférable que l'autre (arcpy.mp vs. ProSDK).

KHibma
la source