24 mai 2010

La topologie dans ArcGIS - 5/6

Définir des règles de topologie dans une Géodatabase permet de spécifier les règles spatiales que vous souhaitez appliquer à vos données. Ces règles sont associées à une ou plusieurs classes d'entités et sont utilisées lorsque vous exécutez les opérations de validation. En fonction des erreurs, ArcGIS vous propose, pour chaque entité, de corriger l'erreur en proposant les opérations de mise à jour adaptées au contexte et à la règle. L'utilisateur peut aussi choisir de marquer cette erreur comme étant une exception. Pour résumer, les classes de topologie de la Géodatabase sont très puissantes par la variété des règles spatiales proposées et très souple dans la manière de les appliquer et de traiter les erreurs. Au-delà de ce mécanisme de définition et de contrôle de règles topologiques des données, ArcGIS propose un autre mécanisme appelé "Topologie de carte" qui peut fonctionner conjointement et/ou indépendamment de la "Topologie de Géodatabase". C'est le sujet de mon article d'aujourd'hui.

Qu'est ce que la topologie de carte ?

La topologie de carte est une topologie (des règles de cohérence spatiale) que vous pouvez activer sur des classes d'entités simples lorsque vous êtes dans une session de mise à jour. Disponibles avec tous les niveaux de licence ArcGIS (ArcView, ArcEditor ou ArcInfo), la topologie de carte permet de choisir une ou plusieurs classes d'entités afin de pouvoir éditer simultanément les sommets, les tronçons ou les limites géométrique communs à plusieurs entités. Ainsi l'utilisateur modifie la géométrie de ses entités en maintenant la coïncidence spatiale (connectivité, adjacence, superposition) entre ces entités.

Comment ça s'utilise ?

Pour mettre en place une topologie de carte, il suffit de démarrer une session de mise à jour et d'afficher la barre d'outils "Topologie".


Vous cliquerez ensuite sur le bouton "Topologie de carte" pour définir les couches participant à cette topologie. Toutes les couches d'un même espace de travail peuvent participer à une topologie de carte (Shapefiles et Géodatabases).


Ensuite, en utilisant les outils de cette barre vous pourrez éditer les géométries partagées des entités en maintenant leur coïncidence spatiale. Dans l'exemple ci-dessous, le bâtiment partage les mêmes limites que la parcelle. En sélectionnant cette limite avec l'outil "Mise à jour topologique" celle-ci est modifiée automatiquement dans la classe d'entités "batiments" et dans la classe d'entités "parcelles" maintenant ainsi la superposition de ces deux limites.

De la même manière, l'utilisateur peut sélectionner le sommet commun à plusieurs entités ou encore ajouter/supprimer des sommets à des objets partageant une limite commune.


Notion de tolérance

Tout comme pour les règles de topologie de la Géodatabase, la topologie de carte a besoin de comparer les coordonnées des sommets qui composent chaque entité. Une tolérance est donc nécessaire pour réaliser (ou pas) l'accrochage de ces sommets et les considérer comme coïncident (ou pas). A la différence de la topologie de Géodatabase, la topologie de carte ne déplace les sommets que si ces derniers sont mis à jour et en appliquant le même poids aux différents sommets.

Topologie de carte ou Topologie de Géodatabase ?

La topologie de carte est accessible à tous les utilisateurs d'ArcGIS Desktop et permet la mise à jour des entités en respectant leur intégrité spatiale y compris entre différentes classe d'entités. La topologie de Géodatabase permet de définir des règles d'intégrité allant bien au-delà des notions d'adjacence et de connectivité. En revanche, cette dernière ne fournit pas d'outil de mise à jour mais uniquement des fonctions de contrôle et de correction des erreurs "à posteriori". Les deux types de topologie sont donc complémentaires et forment un ensemble vraiment puissant, souple et très cohérent.

23 mai 2010

L'Everest à 13 ans, pari réussi pour Jordan


J'avais évoqué dans arcOrama l'aventure exceptionnelle de Jordan Romero qui à 13 ans tentait l'ascension de l'Everest. Pari réussi puisqu'hier, l'adolescent Californien atteignait le sommet à 8848 mètres. Vous pouvez retrouver toutes les informations sur son épopée au travers de son site internet et en particulier via l'application cartographique ArcGIS Server qui a permis de les suivre à la "trace".

18 mai 2010

La topologie dans ArcGIS - 4/6

Nous rentrons aujourd'hui dans le cœur du sujet en abordant l'implémentation de la topologie dans les Géodatabases.

Comme je l'ai évoqué dans mon précédent article, à la différence des couvertures ArcInfo, la Géodatabase ne stocke pas la description des relations topologiques entre chaque primitives qui constituent la géométrie des entités. Cependant, certaines structures de données évoluées comme les "Geometric Networks" (réseaux de distribution), les "Network Datasets" (réseaux de transport) ou les "Terrain" (MNT) échappent à cette règle en stockant effectivement les informations de topologie mais de manière transparente pour l'utilisateur.

La topologie dans la Géodatabase

La topologie fait partie du modèle de données de la Géodatabase. Avec une licence ArcEditor ou ArcInfo, un utilisateur peut créer des classes de topologie dans des Géodatabases Fichier, Access, Workgroup ou Enterprise. Celles-ci supportent le mécanisme de versionnement des Géodatabases Workgroup et Enterprise.
Une classe de topologie rassemble toutes les informations permettant d'assurer la cohérence géométrique entre les entités d'une même classe ou de classes différentes. Plus précisément, les classes de topologie contiennent les informations suivantes:
  • Le nom de la classe de topologie
  • La tolérance d'agrégat des coordonnées (cluster tolerance) utilisée pour l'intégration et les comparaisons topologiques
  • La liste des classes d'entités participant à des relations topologiques


  • La définition des précisions (des priorités) relatives entre les géométries des différentes classes d'entités participant à des relations topologiques.


  • La liste des règles topologiques indiquant comment les entités des différentes classes partagent leur géométrie. Par exemple, les entités de la classe "Batiments" doivent être incluses dans les entités de la classe "Parcelles".

On signalera qu'une classe de topologie doit être créée dans un jeu de classes et que seules les classes de ce jeu de classes peuvent participer à cette topologie. En revanche, plusieurs classes de topologie peuvent être créées dans un même jeu de classes et une même classe d'entités peut participer à différentes topologies.

Notion de tolérance d'agrégat

Lorsque l'on crée des relations topologiques cela implique l'analyse et la correction (éventuelle) des coordonnées des sommets des entités (de la même classe ou de classes différentes) afin de traiter la cohérence géométrique de ces dernières vis-à-vis des règles de topologie que vous avez définies. Pour cela, ArcGIS utilise une tolérance d'agrégat qui permet, selon la distance séparant les sommets de deux entités, de les mettre ou pas en cohérence (c'est-à-dire avec les mêmes coordonnées). Pour maitriser la priorité de déplacement des sommets d'une entité ou de l'autre, une notion de rang peut se définir dans les propriétés de la classe de topologie. Ainsi si une classe d'entité à une qualité de positionnement plus importante qu'une autre, vous pouvez faire en sorte que ses sommets se déplacent pas (ou moins).

Cette notion de tolérance d'agrégat est également à définir pour le Z si les classes d'entités participant à la topologie sont gérées en 3D. Pour plus de détails voir l'aide en ligne d'ArcGIS.

Les règles de topologie

Selon les contraintes d'intégrité spatiale que vous souhaitez définir entre vos classes d'entités (ou au sein d'une même classe d'entités), vous allez définir une ou plusieurs règles de topologie. Dans ArcGIS 9.3, 26 règles est disponible et 32 règles pour la ArcGIS 10. Vous pouvez retrouver la liste de ces règles dans le document suivant.

Ces règles peuvent concerner des classes d'entités ponctuelles linéaires ou surfaciques. Par exemple, vous pouvez indiquer que tous les points d'une classe d'entités A doivent se trouver à l'extérieur des polygones d'une classe d'entités B. Ces règles ne sont pas utilisées automatiquement lors de la mise à jour des géométries des entités. Seules les emprises des entités modifiées sont mémorisées dans la classe de topologie permettant ainsi de savoir quels sont les zones sur lesquelles les règles doivent être revalidées. On parle alors de "Zones à valider" (Dirty Areas). Les Zones à valider peuvent être affichées dans ArcMap, elles sont surtout utilisées pour les opérations de validation de la topologie.


Nous reviendrons plus en détails sur la validation et la correction des erreurs de topologie dans le dernier article de cette série.

17 mai 2010

La cartographie en deuil

Comme beaucoup de géomaticiens et de cartographes, le message de Françoise de Blomac sur Georezo concernant le décès de Jacques Bertin m'a touché. Sans le connaître personnellement, j'avais eu la chance de rencontrer Jacques Bertin à deux occasions et j'en garde un souvenir très précis. Pour ma part, c'est surtout au travers des enseignements de deux de ses collaborateurs (Serge et Madeleine Bonin) que j'ai appris, il y a 15 ans, les principes fondamentaux de la sémiologie graphique.


Traversant les évolutions technologiques, les travaux de Jacques Bertin restent encore aujourd'hui la bible de tout cartographe éclairé. En 1967, Jacques Bertin publiait "Sémiologie Graphique", ouvrage de référence malheureusement épuisé depuis de nombreuses années. J'en profite pour signaler que cet ouvrage sera réédité en anglais (ISBN: 9781589482616, Edition: ESRI Press) et sera disponible à partir de novembre 2010 dans une édition actualisée avec une nouvelle annexe rédigée par Jacques Bertin.

16 mai 2010

La topologie dans ArcGIS - 3/6

La maitrise des mécanismes de topologie dans la Géodatabase ne nécessite pas de connaitre la manière dont la topologie était implémentée dans les technologies plus ancienne comme ArcInfo Workstation. Cependant, il est intéressant d'évoquer la topologie des couvertures ArcInfo Workstation pour mieux comprendre comment celle-ci a évolué pour arriver à l'approche de la topologie que l'on a aujourd'hui dans ArcGIS.

La topologie des couvertures ArcInfo

Dans les couvertures ArcInfo Workstation, la topologie joue un rôle essentiel pour maintenir l'intégrité spatiale des données et leur usage SIG. Sans les informations de topologie, autant dire que l'utilisation d'une couverture est quasiment impossible. Une couverture ArcInfo est basée sur un ensemble de primitives de base (nodes, arcs et label points) à partir desquels des structures plus évoluées (entités linéaires ou surfaciques).

Dans une couverture, les entités surfaciques (polygons) sont décrites par les bordures (arcs) eux-mêmes bordés à leurs extrémités par des points (nodes). Des points particuliers (label points) situés à l'intérieur de la surface permettent d'associer des attributs à l'entité. D'autres structures, comme les itinéraires (routes) sont également assemblées à partir d'éléments de type arcs et nodes pour gérer des entités linéaires complexes supportant notamment la segmentation dynamique.

Un ensemble de tables, gérées automatiquement par ArcInfo Workstation, permet de stocker les relations entre ces primitives et les entités de la couverture. Construire la topologie d'une couverture revient à mettre à jour ces tables.


Les avantages de la topologie stockée:

  • On utilise une structure très simple donc très performante pour maintenir la topologie
  • On digitalise une seule fois des tronçons linéaires (arcs) et ils peuvent être partagés par plusieurs entités
  • La non-duplication des bordures communes des entités surfaciques permet la gestion d'un nombre énorme d'entités mais également la gestion d'entités très complexes (beaucoup de sommets) tout en optimisant l'espace de stockage des coordonnées
  • La structure de stockage de la topologie est intuitive et les fichiers physiques (tables) correspondant sont simples à comprendre par les utilisateurs d'ArcInfo
Bien que ce modèle soit très intéressant, il a également quelques inconvénients:
  • Certaines opérations nécessitant d'assembler les entités à la volée peuvent s'avérer plus lentes. Ceci est en particulier vrai pour les entités de type Polygon ou les entités multi-partie comme les entités de type Regions (polygones multi-partie) ou Routes (polyligne multi-partie)
  • Les entités topologiques (Polygons, Regions, Routes) ne sont pas immédiatement utilisables car leur topologie doit être préalablement calculée ou recalculée (suite à des mises à jour sur les géométries). Même si des fonctions de recalcule partiel existent c'est tout de même une contrainte forte
  • Le modèle de données des couvertures est un modèle mono-utilisateur pour ce qui concerne les mises à jour. Un seul utilisateur à la fois peut mettre à jour les données afin d'assurer la cohérence de la structure topologique. Des mécanismes de tuilage de la couverture permettent de s'affranchir de cette contrainte mais rendent les processus de déploiement de la couverture un peu plus complexe

L'évolution vers une topologie non-stockée

Comme c'est souvent le cas dans l'histoire des technologies de bases de données, les priorités technologiques changent en fonction des contraintes informatiques du moment. Au début des années 80, les capacités de stockage et de traitement des données étaient encore très couteuses. Ainsi le modèle de topologie stockée d'ArcInfo a offert le meilleur compromis durant plus d'une décennie et a prouvé son efficacité et sa robustesse dans d'innombrables projets.

Au milieu des années 90, l'intérêt pour les structures géométriques simples est de plus en plus important. En effet, la taille moyenne des espaces de stockage est beaucoup plus importante et les capacités de calcul ont, elles aussi, beaucoup évolué. Dans le même temps, la quantité de données spatiales disponibles a progressé tout comme le nombre d'utilisateurs SIG exploitant ces données. Ainsi, on est passé du besoin d'un format de fichier orienté vers la saisie et l'intégration de données au besoin d'un format plus orienté vers l'utilisation, l'analyse et l'échange. Il fallait donc une structuration de données et un format de stockage permettant une utilisation performante et immédiate des données, en décrivant complètement les entités par les coordonnées des sommets composant leur géométrie. Il fallait également un format simple à manipuler afin de simplifier les opérations de lecture/écriture et faciliter ainsi l'échange et les conversions de données. C'est dans ces années qu'ESRI a mis au point le format Shapefile répondant à ces nouvelles exigences. Quelques années plus tard, la technologie ArcSDE proposera un stockage similaire des géométries mais, cette fois-ci, dans des tables de bases de données relationnelles en exploitant la capacité de ces dernières à stocker de longues séries de coordonnées dans des champs de type binaire.


Aujourd'hui le modèle de stockage des données spatiales utilisé dans les Géodatabases (Fichier, Access, Workgroup ou Enterprise) est celui des Shapefiles. La géométrie des entités est stockée entièrement (sommet par sommet pour chaque entité) et, à la différence des couvertures, les relations topologiques ne sont pas décrites explicitement. En revanche, la Géodatabase propose un ensemble de mécanismes et de règles permettant d'assurer l'intégrité topologique des données, c'est ce que nous verrons dans les prochains articles.

11 mai 2010

La topologie dans ArcGIS - 2/6

Comme évoqué dans mon précédent article, je commence aujourd'hui par une présentation rapide des concepts de topologie afin de bien cadrer le sujet avant de se focaliser sur la manière dont ces concepts sont implémentés dans ArcGIS.

La topologie dans les SIG

En SIG, la topologie correspond au fait de décrire les relations spatiales entre les différentes entités d'une couche de données géographiques. En définissant les relations spatiales (est connecté à, est adjacent à, est le début de, …) entre les primitives topologiques (nœuds, tronçons et faces), on peut construire des entités (points, lignes et surfaces). La topologie assure la cohérence géométrique et la logique spatiale des entités, caractéristiques indispensables à leur exploitation en particulier pour les fonctions d'analyse spatiale.

Dans la figure ci-dessous, une couche de 5 entités de type "polygone" ont été décrites. Chaque polygone est décrit par les tronçons qui le bordent. Les relations topologiques entre ces différentes entités sont multiples. Par exemple, on sait les polygones C et F sont adjacents et que cette adjacence se fait sur tronçon 9. En effet, le seul tronçon commun dans la liste des tronçons qui les composent.

Entités et primitives topologiques

Un jeu de données spatial (par exemple des polygones) peut être défini de deux manières. La première consiste à décrire des entités en énumérant les coordonnées des différents sommets qui forment sa géométrie.


La deuxième consiste à décrire des entités en listant le graphe ordonné des primitives topologiques qui la compose.



La topologie est donc quelque chose de très simple. C'est ce mécanisme qui consiste à décrire les entités par les primitives qui la composent et les relations entre celles-ci. La topologie est à la base de tous les calculs spatiaux dans les SIG. Ce qui va varier ensuite d'un outil SIG à l'autre c'est la manière dont on va stocker, valider et maintenir la cohérence de ces règles spatiales.


10 mai 2010

La topologie dans ArcGIS - 1/6

J'ai essentiellement évoqué, ces derniers mois, les fonctionnalités d'ArcGIS Server et des API Web ArcGIS car elles constituent la clé de la diffusion du SIG auprès d'un public de plus en plus large qui, via le Web, peut consulter, analyser et parfois même mettre à jour les données du SIG. Ceci étant dit, quel que soit le type d'application déployée (bureautique, web ou mobile) celle-ci a besoin de s'appuyer sur des données de qualité. Pour cela, la plateforme ArcGIS propose le modèle de données de la Géodatabase avec des éléments très structurant comme les domaines, les sous-types, les réseaux, les classes de relations ou encore la topologie. C'est ce dernier sujet: la topologie, vieux comme l'histoire des SIG (mais jamais encore abordé dans arcOrama) que je souhaitais traiter avant d'entamer, dans les prochaines semaines, une série d'articles assez détaillés sur les évolutions d'ArcGIS 10.

Au travers d'une série de 5 articles je tenterais de résumer les enjeux et les usages de la topologie dans ArcGIS en abordant les thèmes suivants:
  • Concepts de topologie
  • Topologie: De la couverture ArcInfo à la Géodatabase
  • La topologie dans la Géodatabase
  • Topologie de carte vs. Règle de topologie
  • Validation et corrections d'erreurs topologiques

05 mai 2010

L'API ArcGIS for iPhone est en beta pour tous


ESRI vient de rendre accessible à tous la version beta de l'API ArcGIS for iPhone. Cette API sera disponible en version finale en même temps qu'ArcGIS Server 10 et permettra, au-delà de l'application standard configurable ArcGIS for iPhone, de développer des applications complétement personnalisées exploitant les fonctionnalités avancées de cartographie, de géocodage, de géotraitement, de collecte de données,… fournies par ArcGIS Server.
Cette API se compose de librairies Objective C natives et peuvent être utilisées avec l'IDE Xcode et les autres outils de développement comme Interface Builder. Pour télécharger cette API, vous pouvez vous reporter à la page suivante qui décrit les pré-requis et la procédure à suivre.

02 mai 2010

Pollution pétrolière dans le Golf du Méxique

@ Reuters

Le 20 avril dernier, Transocean Ltd signalait une explosion et l'incendie qui a suivi à bord de la plateforme de forage semi-submersible "Deepwater Horizon". L'incident a entraîné un déversement massif de pétrole et a été déclaré un incident d'importance nationale par le président Obama.

Une application web vient d'être mise en ligne par ESRI pour visualiser la zone et éléments d'information qui s'y rattachent. Réalisée avec l'API JavaScript ArcGIS elle permet d'ajouter des points avec des liens vers des photos en ligne, des sites Web et des vidéos YouTube. Les utilisateurs concernés peuvent ajouter des renseignements à jour sur la carte et participer, si besoin est, à la prise de conscience des activités liées à cet événement tragique.

Comme pour chaque crise nécessitant une mobilisation rapide de ressources SIG (données, cartes, logiciels et assistance technique), ESRI a activé son programme "ESRI Emergency Assistance"pour aider toutes les organisations ayant des besoins opérationnels liés à la gestion de cette crise. Enfin un groupe d'utilisateurs a été créé sur ArcGIS Online pour facilité la collecte et la recherche données sur cette zone géographique.

01 mai 2010

L'API ArcGIS pour Silverlight/WPF 2.0 beta est disponible


Comme pour l'API JavaScript ArcGIS et l'API Flex ArcGIS, il y a quelques jours, c'est l'API Silverlight/WPF ArcGIS qui est maintenant disponible en version 2.0 beta. Accessible à tous, elle est téléchargeable sur le Resources Center ArcGIS (après s'être identifié avec votre Global Account). Bien qu'elle puisse s'utiliser dans un contexte ArcGIS Server 9.3 ou 9.3.1, cette version 2.0 intègre toutes les nouveautés de la future version 10 d'ArcGIS Server. On notera également que l'API Silverlight/WPF 2.0 peut être installée sur un même poste en parallèle d'une version 1.x.

Ci-dessous quelques unes des nouveautés dont vous retrouverez la liste complète ici:
  • Silverlight 4 est désormais nécessaire pour développer avec la version 2.0 de l'API Silverlight ArcGIS, Silverlight 3 n'est plus supporté. Visual Studio 20102 et Expression Blend 4 sont requis pour construire des application Silverlight 4.
  • L'API Silverlight ArcGIS permet de mettre à jour les entités des FeatureLayers basées sur un Feature Service ArcGIS Server 10.
  • Intégration des modèles d'entités (Feature Templates) et de la notion de pièces attachées (Attachmenst) d'ArcGIS 10 dans des contrôles dédiés.
  • Les objets Map et Layers supporte la notion "time enabled data" d'ArcGIS 10.
  • Les améliorations apportées au Geometry Services et aux NA Services dans ArcGIS Server 10 sont totalement exploitables dans cette nouvelle version.
  • L'API Silverlight.WPF 2.0 supporte maintenant la définition des références spatiales avec des WKT (Well-Known Text) en plus des WKID (Well-Known ID).
  • Les GraphiscLayers et les FeatureLayers permettent désormais de gérer des sélections de manière native.
  • L'API Silverlight/WPF 2.0 permet une exploitation plus avancée des Image Services d'ArcGIS Server 10 (identification, requêtes, filtrage temporel, utilisation des règles de rendus personnalisés, utilisation des règles de mosaïquage personnalisées, …).
Pour démarrer rapidement avec cette nouvelle version ou simplement avoir un rapide aperçu des fonctionnalités, je conseille de parcourir les exemples de code en ligne qui complète la documentation.

Si vous n'avez pas de d'ArcGIS Server 10 sous la main (actuellement en Pre-Release) vous pouvez toujours vous appuyer sur le serveur ArcGIS 10 utilisé dans les exembles :
http://sampleserver3.arcgisonline.com/ArcGIS/rest/services