Structure du géotraitement

La structure de géotraitement est l'ensemble des fenêtres et boîtes de dialogue qui permettent de gérer et d'exécuter des outils. Ce document se concentre sur les concepts sous-jacents de cette structure, plutôt que sur sa mécanique.

L'idée principale du géotraitement est de vous permettre de transformer rapidement et facilement vos idées en nouveau logiciel pouvant être exécuté, géré, modifié, documenté, et partagé avec la communauté d'utilisateurs d'ArcGIS. "Logiciel", dans ce cas, signifie "quelque chose qui demande à ArcGIS de faire ce que vous voulez". Par exemple, vous avez créé un nouveau logiciel de modèle de géotraitement grâce à un langage de programmation visuel facile d'utilisation, ModelBuilder.

Nous allons nous attacher à vous montrer que le géotraitement est une méthode de création de logiciels utiles. Nous espérons ainsi améliorer votre compréhension de la raison d'être et de l'utilité du géotraitement.

Pour créer un nouveau logiciel, quel qu'en soit le type, deux éléments sont indispensables :

Le langage de géotraitement est sa collection d'outils. La structure de géotraitement est un petit ensemble d'interfaces utilisateur intégrées, destinées à organiser et gérer des outils existants et à créer des outils. Les composants de base de la structure, présentés dans la rubrique Présentation rapide du géotraitement, sont les suivants :

Modèles de géotraitement et ModelBuilder

La boîte de dialogue de l'outil vous permet d'exécuter un seul outil. Cela revient à exécuter une seule instruction dans un langage de programmation. Même si l'exécution d'un seul outil est pratique, le système ne serait pas très utile si vous ne pouviez pas enchaîner plusieurs outils, utiliser le résultat de l'un dans un autre, tout comme le fait un langage de programmation.

Dans la structure de géotraitement, la fenêtre ModelBuilder permet de transformer rapidement et facilement les idées en logiciel, en enchaînant des éléments du langage de géotraitement (les outils) dans une séquence. Il est important de se rendre compte que les modèles sont des logiciels, puisqu'ils demandent à l'ordinateur de faire quelque chose. Le langage de programmation est visuel (ce que vous voyez dans ModelBuilder) plutôt que textuel, comme un langage de programmation traditionnel.

Il est important de noter que les modèles sont des outils. Ils se comportent exactement comme tous les autres outils du système. Vous pouvez les exécuter dans la fenêtre de la boîte de dialogue ou à partir de la fenêtre Python. Les modèles étant des outils, vous pouvez les incorporer à des modèles. En fait, plusieurs des outils système fournis avec ArcGIS sont des modèles.

Les modèles peuvent être aussi complexes que vous le souhaitez. Vous pouvez utiliser autant d'outils système ou personnalisés que vous le voulez dans un modèle, y compris d'autres modèles que vous avez écrits (puisque les modèles sont simplement des outils). Vous pouvez également utiliser des boucles et des conditions pour contrôler le flux logique d'un modèle.

Les modèles peuvent être extrêmement simples tout en étant productifs. Vous pouvez créer un modèle qui contient un seul outil, mais intègre certains de ses paramètres. Par exemple, l'outil Zone tampon utilise six paramètres, mais pour votre ensemble de tâches actuel, vous savez que trois de ces paramètres seront toujours les mêmes. Plutôt que de renseigner ces paramètres à chaque exécution de l'outil Zone tampon, vous pouvez créer un modèle rapidement et définir ces trois paramètres, l'enregistrer en tant qu'outil MyBuffer et utiliser sa boîte de dialogue plutôt que celle de Zone Tampon. Il se peut que vous n'utilisiez MaZoneTampon que quelques fois avant de le supprimer, mais vous n'aurez rien perdu, car sa création aura été rapide et sa productivité élevée.

Script

Vous pouvez aussi utiliser un langage de script pour créer le logiciel. Un programme qui utilise un langage de script s'appelle un script. Dans le monde de la programmation de logiciels, les langages sont répartis en deux grandes catégories : les langages système et les langages de script. Les langages système sont par exemple C++ et .NET, qui servent à créer des applications intégralement, à l'aide de primitives de bas niveau et des ressources brutes de l'ordinateur. Les langages de script, tels que Python et Perl, servent à coller ensemble des applications, à l'aide de fonctions intégrées de haut niveau de l'ordinateur et en masquant les rouages avec lesquels un programmeur de langage de système doit jongler. Comparés aux langages système, les langages de script sont plus faciles à apprendre et à utiliser. Il suffit de comprendre les bases de la programmation pour être productif.

Dans la structure de géotraitement, les scripts sont analogues aux modèles dans la mesure où ils peuvent servir à créer des outils. Les modèles sont créés à partir d'un langage de programmation visuel (ModelBuilder) et les scripts à partir d'un langage textuel et d'éditeurs de texte.

Tout comme les modèles, les scripts sont des outils. A l'aide d'un assistant détaillé, vous pouvez introduire un script dans une boîte à outils personnalisée et l'utiliser simplement comme un autre outil dans un modèle ou dans un autre script. Certains des outils système sont des scripts. Techniquement, vous pouvez écrire un script et ne pas l'introduire dans une boîte à outils, auquel cas ce n'est pas un outil, mais juste un script autonome sur le disque.

Vous pouvez avoir plusieurs raisons de faire appel à un script :

Une structure de création et de gestion de logiciel

La structure de géotraitement a été conçue pour vous permettre de matérialiser rapidement et facilement vos idées en un nouveau logiciel qui peut être géré par le système et partagé entre plusieurs utilisateurs.

Le géotraitement est un langage composé d'opérateurs, ou outils, qui opèrent sur les données au sein d'ArcGIS (tables, classes d'entités, rasters, TIN, et ainsi de suite) et effectuent des tâches qui sont nécessaires pour la manipulation et l'analyse des informations géographiques à travers une grande diversité de disciplines.

Vous pouvez créer rapidement et facilement un logiciel sous la forme de modèles et de scripts. Ces nouveaux outils effectuent des tâches qui ne font pas partie du kit ArcGIS standard. Par exemple, aucun menu, bouton ou objet de programmation dans ArcGIS n'exécute le modèle simple Projeter et Découper illustré dans la rubrique Qu'est-ce que le géotraitement ?.

Les outils sont gérés par la structure de géotraitement, ce qui signifie que vous n'avez pas besoin de le faire. Ce détail, qui n'est pas évident à première vue, a son importance.

Les outils peuvent être partagés facilement. Une boîte à outils avec tous ses outils et jeux d'outils est contenue soit dans un fichier enregistré sur le disque avec une extension .tbx, soit dans une géodatabase. Quiconque a accès au fichier ou à la géodatabase peut en exécuter les outils.

Le point important est que vos outils font partie intégrante de la structure de géotraitement, où ils ont une documentation cohérente, une interface utilisateur, des méthodes d'accès et des méthodes du partage.

Géotraitement et ArcObjects

ArcObjects est la bibliothèque étendue d'objets de programmation de bas niveau livrée dans le kit de développement de logiciel (SDK) d'ArcGIS. Les développeurs utilisent ArcObjects pour créer des applications ou étendre les fonctionnalités existantes des applications ArcGIS. (Pour l'anecdote, la plupart des outils système et toute la structure de géotraitement ont été développés à l'aide d'ArcObjects.) Comme le géotraitement, le SDK d'ArcObjects permet de créer de nouveaux logiciels.

Le SDK d'ArcObjects et le géotraitement sont complémentaires. 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 permet de créer un logiciel (modèles et scripts) qui automatise les tâches au sein d'une structure qui fonctionne correctement.

ArcObjects doit être utilisé avec un langage de programmation système, dans lequel le programmeur doit accéder aux primitives de bas niveau pour implémenter une logique et des algorithmes complexes. C'est pourquoi ArcObjects contient des milliers d'objets et de requêtes différentes, pour permettre au programmeur une maîtrise totale. ArcObjects étant utilisé avec un langage de programmation système, il nécessite une connaissance approfondie de la programmation, beaucoup plus que le géotraitement, avec ses modèles et scripts.

Inversement, le géotraitement est une fonction universelle qui peut être utilisée et déployée par tous les utilisateurs de SIG pour automatiser leur travail, créer des méthodes et des procédures réutilisables et précises, et modéliser d'importants processus géographiques.

5/10/2014