Scripts de géotraitement pour la gestion et la sortie de cartes

Présentation du module de géotraitement arcpy.mapping

Le module arcpy.mapping est une bibliothèque de scripts Python qui vous permet d'ouvrir et de manipuler des cartes ArcMap (.mxd) et des fichiers de couches (.lyr). Les scripts de géotraitement qui utilisent arcpy.mapping peuvent ouvrir des cartes et des couches, interroger et modifier le contenu et imprimer, exporter ou enregistrer le document modifié.

Les fonctions d'un script arcpy.mapping se rapprochent étroitement des opérations réalisées dans l'application ArcMap. Prenons le workflow ArcMap simple suivant :

  1. Ouvrez la carte située dans C:\GIS\TownCenter_2009.mxd.
  2. Recherchez les éléments de texte de mise en page qui indiquent GIS Services Division 2009 et modifiez-les en GIS Services Division 2010.
  3. Exportez la mise en page modifiée au format PDF.

Un script arcpy.mapping exprime ces étapes comme suit :

Ce script simple de recherche et remplacement modifie 2009 en 2010, puis exporte la mise en page vers un fichier PDF.

mxd = arcpy.mapping.MapDocument(r"C:\GIS\TownCenter_2009.mxd")
for textElement in arcpy.mapping.ListLayoutElements(mxd, "TEXT_ELEMENT"):
  if textElement.text == "GIS Services Division 2009":
    textElement.text = "GIS Services Division 2010"
arcpy.mapping.ExportToPDF(mxd, r"C:\GIS\TownCenterUpdate_2010.pdf")
del mxd

Le module de géotraitement arcpy.mapping est destiné à toute personne ayant besoin d'automatiser un workflow ArcMap. Bien que cela ressemble à de la programmation et qu'il découle du puissant langage de programmation Python, vous n'avez pas besoin d'être un développeur de logiciels SIG pour créer des scripts arcpy.mapping. L'objectif du module arcpy.mapping est d'automatiser les opérations fastidieuses afin que vous puissiez vous consacrer à vos tâches importantes de création et d'analyse.

Objectif du module arcpy.mapping et scénarios de script typiques

Le module arcpy.mapping a été conçu pour automatiser les workflows de gestion et de sortie de cartes (impression et exportation). Les fonctions qu'il propose sont centrées sur la modification des couches et éléments de mise en page existants ; elles ne sont pas conçues comme un système complet de compilation de cartes. L'environnement interactif et hautement visuel d'ArcMap est le système idéal pour créer de nouvelles cartes, couches et mises en page. Toutefois, lorsqu'elles sont utilisées correctement, les fonctions de modification des couches et des éléments de mise en page du module arcpy.mapping permettent de créer rapidement des cartes. L'utilisation réussie de ces workflows passe par une création attentive de la carte pour préparer les composants utilisés par le script arcpy.mapping, afin que, lorsqu'arcpy.mapping et ArcMap sont utilisés ensemble de façon appropriée, ils fournissent en réalité un système de production de cartes automatisé.

Il est plus facile de comprendre les fonctions d'arcpy.mapping en décrivant certaines des situations qu'il permet de simplifier. Voici quelques unes des nombreuses opérations qu'un script arcpy.mapping peut réaliser :

Géotraitement, arcpy.mapping et enrichissement de l'application ArcMap

Le module arcpy.mapping fait partie de la structure de géotraitement. Un script arcpy.mapping peut faire appel à l’un des outils de géotraitement disponibles dans ArcGIS, et tout script écrit à l’aide de arcpy.mapping peut être converti en outil de script de géotraitement à utiliser dans ArcToolbox et ModelBuilder.

En tant que partie intégrante de la structure de géotraitement, le module arcpy.mapping est davantage conçu pour être utilisé comme outil de traitement par lot que comme structure pour personnaliser l'application ArcMap. Comme arcpy.mapping vous permet de créer votre propre système de traitement des cartes, il est juste de dire qu'il s'agit d'une méthode d'enrichissement d'ArcMap avec de nouveaux outils. Mais le géotraitement ne permet pas de personnaliser entièrement l'interface utilisateur d'ArcMap, et l'ensemble complet des objets et fonctions d'ArcMap n'est pas accessible via arcpy.mapping.

Le SDK d'ArcObjects permet d'accéder à l'ensemble complet des objets et fonctions. Le SDK d'ArcObjects et le géotraitement sont complémentaires ; l'un n'annule pas l'autre. En règle générale, ArcObjects est utilisé pour enrichir ArcGIS grâce à un nouveau comportement, alors que le géotraitement est destiné à automatiser des tâches. ArcObjects permet, par exemple, d'ajouter des interfaces utilisateur, d'ajouter un comportement personnalisé aux classes d'entités ou de créer une représentation cartographique spéciale. Le géotraitement automatise des tâches au sein d'une structure qui fonctionne correctement.

Utilisation et déploiement de scripts

Les scripts qui utilisent arcpy.mapping peuvent être déployés et exécutés comme n'importe quel script de géotraitement. La façon dont vous choisissez d'utiliser votre script dépend de quand et comment vous voulez l'exécuter.

Pour obtenir la liste complète des classes et fonctions d'arcpy.mapping, reportez-vous aux rubriques suivantes :


7/10/2012