Pour débuter avec Python ArcGis : Exporter un mxd en format pdf

Débuter avec Python sur ArcGIS est plus facile qu’il n’y paraît. Il n’est pas nécessaire de maîtriser Python pour l’utiliser de manière basique dans notre travail avec ArcGIS et ESRI met à votre disposition une aide complète et pleine d’exemples de code. La lecture d’un article de Mapping Gis (http://mappinggis.com/2015/10/exportar-un-mxd-a-pdf-con-python/) a largement inspiré ce qui suit.
Nous allons donc voir comment générer un fichier pdf de la carte d’un projet ArcGis (.mxd), sans ouvrir le projet. Supposons que ce document doit être tenu à jour après des mises à jour des données très fréquentes.

Nous vous invitons à consulter l’article ArcGis et Python:avant de faire les premiers pas pour voir plus en détail les différentes options pour exécuter nos processus avec un code Python.
Nous allons voir ici trois des options: par la fenêtre de commande, avec la console Python d’ArcGis et avec la console Python d’un autre IDE.
Mais procédons dans l’ordre. D’abord nous devons trouver le code Python qui nous intéresse.

Recherche de code Python dans l’aide ArcGis

Avec votre navigateur allez à l’adresse http://desktop.arcgis.com/fr/ .

http://desktop.arcgis.com/fr/Dans le champ de recherche tapez les mots clés recherchés : mxd to pdf arcpy

Dans le résultat de la recherche vous trouverez ExportToPDF—Help | ArcGIS for Desktop

résultat de la recherche arcpy

En cliquant sur ce lien vous aurez la page d’aide pour le code qui nous intéresse : http://desktop.arcgis.com/fr/desktop/latest/analyze/arcpy-mapping/exporttopdf.htm

Vous trouvez, en particulier, deux paragraphes fondamentaux:

La syntaxe Python de la commande

syntaxe de la commande pythonEt des exemples de code

exemples de code de la commandePour cet exemple vous pouvez tout de suite voir que tout ce qu’il faut pour exécuter la commande c’est le nom du mxd et le nom du fichier pdf à produire.

Exécution à partir de la ligne de commande

Prenons comme exemple une carte simple avec les campings ouverts au public à la date d’aujourd’hui. La couche campings est tenue à jour par un autre  traitement. Ce que nous souhaitons c’est de produire le pdf du jour courant. Voici la fenêtre de mise en page du document mxd :

fenêtre de mise en page du document mxdPour exécuter la commande, on ouvre une fenêtre invite de commande :

fenêtre invite des commandes

Vous lancez Python en tapant simplement

python

lancement de python dans l 'invite de commandes

les trois chevrons (>>>) indiquent que vous pouvez entrer votre commande Python.

La première commande sert à charger dans Python les fonctions d’ArcGis. Tapez

import arcpy

import arcpy

C’est tout ce qu’il faut pour pouvoir exécuter notre commande qui va générer notre fichier pdf à partir du mxd. On rentre alors la commande :

mxd=arcpy.mapping.MapDocument(r »C:\Quimper\geocodage.mxd »)
arcpy.mapping.ExportToPDF(mxd,r »C:\Quimper\Campings.pdf »)
del mxd

création du pdf avec python(vous pouvez copier-coller directement les trois lignes ensemble vers la fenêtre d’invite de commandes)

et on obtient immédiatement le fichier pdf

fichier pdf résultat de loa commande python

A noter que la date étant du texte dynamique d’ArcMap est bien renseignée avec la date du jour.

Si vous stockez les lignes de commande dans un fichier texte, avec une extension .py, vous pouvez exécuter la totalité de la commande en une seule ligne de commande:

Ouvrez la fenêtre d’invite de commande, puis tapez directement

python.exe campings.py

exécution du fihier .pyVous obtenez le même résultat en pdf.

Exécution à partir de la console Python d’ArcGis

L’avantage d’exécuter le code Python à partir de la console Python d’ArcMap réside surtout dans le fait de bénéficier de l’aide syntaxique.

Comme vous pouvez le voir en consultant la syntaxe de notre commande, il y a toute une série de paramètres optionnels. Par exemple, la définition du fichier pdf en sortie. Par défaut, elle est de 300dpi. Si vous souhaitez qu’elle soit de 600 dpi vous devez ajouter l’option dans la ligne de commande

arcpy.mapping.ExportToPDF(mxd,r »C:\Quimper\Campings.pdf »,resolution=600)

Dans ce cas, il est plus facile d’utiliser la console Python:

On ouvre la console Python en cliquant,dans la fenêtre ArcMap,  sur le bouton correspondant

ouverture de la console python d'arcmap

Vous n’avez pas à rentrer la ligne import arcpy dans la console ArcMap.

Dès que vous tapez la commande arcpy.mapping.ExportToPDF, vous verrez apparaître la syntaxe de celle-ci dans la fenêtre de droite:

aide syntaxique de la console python d'arcgis

Une fois exécutée, la commande produit le même fichier pdf que précédemment.

A partir de la console d’un autre IDE

Les différents environnements intégrés de développement sont, en principe, destinés à faire des exécutables. Mais, bien sûr, ils possèdent des consoles d’interprétation équivalentes à la console Python d’ArcMap.

Par exemple, PyScripter, vous permet de rentrer et exécuter les deux lignes de commande. La différence se situe sur l’aide à l’écriture des commandes:

py13En général vous aurez plus de fonctionnalités offertes par un IDE que par la console Python d’ArcMap. Mais si vous restez à l’utilisation de la ligne de commande les deux sont assez équivalents. La différence essentielle est que l’IDE vous permet d’écrire, tester et debugger des scripts Python complets.

 

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *