Migration de Python 2 à Python 3, le module ArcPy.mapping.

Bonjour, un autre ajustement à faire pour convertir vos scripts Python en version 2.x vers 3.x. En tout cas, si vous utilisez ArcGIS Pro et le module arcpy.mapping.

À partir de ArcGIS Pro, le module mapping fait place au module mp. Pour l’utilisation de base, c’est assez facile, on a qu’à changer arcpy.mapping pour arcpy.mp.

Plus loin dans le module, qu’est-ce que cela implique ?

  • Évidemment, il faudra pointer vers un document .aprx plutôt que .mxd lorsque l’on veut accéder à un projet. Il est possible d’utiliser un document .mxd dans le module mp et cela se fait par l’importation avec la méthode importMapDocument.

 

  • Comme l’environnement change entre ArcGIS Desktop et ArcGIS Pro ceci implique de nouveaux objets comme Map, MapFrame, Layout et Camera. Comme ArcGIS Pro intègre le 3D, l’objet Camera est utilisé pour contrôler le point de vue. En mode 2D, il est utilisé pour contrôler l’échelle et l’étendue.

 

  • Les notions de listes sont des méthodes sur les objets. Donc, au lieu de mettre en paramètre le projet et le bloc de données pour la méthode ListLayers, il suffit d’utiliser cette méthode à l’objet qui lui correspond, soit l’objet Map. Le code devient beaucoup plus facile à comprendre et à construire aussi. Le même principe s’applique concernant les fonctions d’exportation des objets Layout et MapFrame et sur la gestion des couches des objets Map et LayerFile.

 

Exemple : map.listLayers() au lieu de arcpy.mapping.ListLayers(mxd, df).

 

Il est possible de découvrir Arcpy.mp via cette page :http://pro.arcgis.com/fr/pro-app/arcpy/mapping/migratingfrom10xarcpymapping.htm

 

Bon code!

 

Martin

 

Tags: 
Vous avez du contenu à publier sur SigQuébec?

Communiquez avec le Webmestre.