31 juillet 2007

Loïc Pochet


Un petit message de sympathie pour Loïc Pochet. Si vous ne le connaissez pas, Loïc est un navigateur, parmis les plus grands, et un aventurier au sens noble, celui de la conquête des dernières frontières. ESRI France est partenaire du projet actuel de Loïc depuis plusieurs années : réaliser la première traversée de l'Atlantique sur les traces de l'Aéropostale en ULM.

Loïc devait se rendre ces jours ci à l'EAA AirVenture aux USA (Wisconsin), le plus grand rassemblement aérien au monde, pour y présenter son ULM hydravion et son projet.


Sur sa route, en survolant le Groënland, entre Kulusuk et Kangerlussuag, faisant face à de très mauvaises conditions de vol, l'hydravion a heurté la calotte glacière et a été détruit. Loïc et son copilote, Laure Delessalle, ont été secourus après 48h par la marine danoise sans dommages corporels graves.
L'ironie pour nous cartographes est qu'à l'endroit du crash, les cartes ont trompé Loïc, la calotte glacière étant indiquée avec 1000 pieds d'altitude de trop !
Plus d'informations sur le site de Loïc.

25 juillet 2007

Welcome to ArcGIS Diagrammer !

Ceux d'entre vous qui ont en charge la modélisation de Géodatabases ont probablement déjà utilisé (ou pour le moins testé) les outils complémentaires "Géodatabase Diagrammer" et "Geodatabase Designer" disponibles depuis plusieurs versions d'ArcGIS Desktop. Pour faire court, "Geodabase Diagrammer" permettait de présenter de manière schématique, dans l'outil Visio de Microsoft, le modèle de données d'une Géodatabase. "Geodatabase Designer" permettait de générer des rapports HTML sur la structure et les données de la Géodatabase.

Aujourd'hui, c'est une refonte totale de ces deux outils que nous propose notre collègue de Redlands, Richie Carmichael, avec ArcGIS Diagrammer 9.2. Plus qu'un outil complémentaire, c'est une véritable application qui vient compléter la gamme ArcGIS pour aider les administrateurs dans leurs tâches de conception et de documentation de base de données SIG. Je sais on dirait presque une phrase de mes collègues du marketing ! mais rassurez-vous cette application est gratuite, ouverte (le code source est fourni) et très bien documentée (aide, vidéo, tutorial et exemples).


Qu'est ce qu'ArcGIS Diagrammer

ArcGIS Diagrammer est une application autonome qui permet de consulter, de modifier ou de créer le schéma d'une Géodatabase. Les schémas sont présentés graphiquement et chaque élément peut être modifié au travers d'une série de propriétés via une interface très simple. Tous les éléments d'une Géodatabase peuvent être ainsi modélisés et des fonctions de validation permettent de vérifier la cohérence du schéma par rapport aux contraintes du type de Géodatabase cible (GDB personnelle, GDB fichier, GDB ArcSDE, …).



ArcGIS Diagrammer est tout simplement un éditeur graphique de document XML de Géodatabase. C'est le format principal de fichier qu'utilise l'application en écrivant et en lisant directement les documents XML générés par les produits ArcGIS depuis plusieurs versions déjà et dont la structure est publiée par ESRI depuis 2004. Ces fichiers contiennent la description de la structure des Géodatabases et parfois également les données. L'application est donc capable de restituer graphiquement (à la volée) le schéma de la Géodatabase pas l'intermédiaire de ce fichier XML généré par les commandes standards d'ArcCatalog. Une fois le schéma modifié, le document XML peut être utilisé pour recréer tout ou partie de la structure d'une Géodatabase en utilisant les commandes standards d'ArcCatalog.


ArcGIS Diagrammer permet également, à partir des documents XML de Géodatabase, de générer des rapports (HTML) récapitulant les propriétés des différents éléments d'une Géodatabase (classes d'entités, tables, relations, domaines, sous-types, règles de topologies, versions, …). Des rapports concernant les données (type, nombre d'entités par classe, …) peuvent aussi être construits automatiquement à partir d'une Géodatabase.


Conclusion

L'application ArcGIS Diagrammer est développée avec les librairies ArcGIS Engine 9.2, elle peut donc s'exécuter sur n'importe quel pose disposant d'ArcGIS Desktop 9.2, du run-time ArcGIS Engine 9.2 ou encore d'ArcGIS Server 9.2.

L'application est encore en version Beta mais elle déjà très stable et largement utilisable. Vous pouvez la télécharger à partir de cette page.

19 juillet 2007

Géodatabases distribuées et réplication (épisode 2 sur 2)

Dans cette deuxième partie, je vous propose de détailler le mécanisme de synchronisation et de lister rapidement les outils à disposition pour automatiser les synchronisations. Je vous propose également quelques explications sur les différences entre réplication et Check-In/Check-Out. Je terminerais cet article en donnant quelques points de comparaison entre le mécanisme de réplication de Géodatabase proposé par ESRI et les mécanismes de réplication de base de données proposés dans les SGBD.

Synchronisation

La synchronisation consiste à intégrer les mises à jour effectuées dans le réplica parent ou enfant de la base de données en ne transférant que les modifications de données (mouvements). Selon le type de réplication mis en place (mono-directionnel ou bi-directionnel) le transfert des mouvements s'effectue dans un seul sens ou dans les deux sens. Ce transfert des données modifiées entre les réplicas enfant et parent peut s'effectuer :
- via un réseau local,
- via le Web (utilisation d'un Geodata Service),
- par échange de fichier XML

Une synchronisation se déroule en deux temps :
- Transfert des mouvements (des modifications) du réplica émetteur vers le réplica récepteur
- Envoie d'un accusé de réception du réplica récepteur vers le réplica émetteur


Si l'accusé de réception n'est reçu par l'émetteur, les mouvements sont considérés par le réplica émetteur comme non transmis et le seront donc à nouveau lors de la prochaine synchronisation.

Ce processus s'effectue dans chaque sens. Ainsi, dans le cas d'une synchronisation bi-directionnelle c'est en fait deux synchronisations qui s'opèrent en inversant les rôles Expéditeur/Récepteur des deux réplicas.
En termes d'intégration des mouvements dans le réplica récepteur, la propagation des données se fait selon le même principe qu'une réconciliation/postage de versions. Les mêmes types de règles peuvent donc être définis par rapport à la gestion des conflits.

Automatiser les synchronisations

Dans ArcMap, la barre d'outils "Géodatabase répartie" permet de réaliser manuellement les opérations liées à la réplication (création de réplica, export des messages, synchronisation, …). Ces opérations peut également se faire via les outils de géotraitement de la boîte à outils "Géodatabase répartie". Ceci permet de construire des modèles enchainant, par exemple, plusieurs opérations de synchronisation entre plusieurs Géodatabases.


Pour aller encore plus loin et automatiser complètement les opérations de synchronisation, il est possible d'utiliser les outils de l'environnement de géotraitement d'ArcGIS 9.2 pour rédiger des scripts (Python, VBScript ou Perl) ou pour développer des applications plus évoluées en utilisant l'objet Geoprocessor des ArcObjects.

Ci-dessous un exemple de script Python utilisant la commande de géotraitement "Synchroniser les mouvements". Ce script peut être appelé par un batch exécuté ensuite de manière automatique.

# Import system modules
import sys, string, os, arcgisscripting

# Create the Geoprocessor object
gp = arcgisscripting.create()

# Set the necessary product code
gp.SetProduct("ArcEditor")

# Load required toolboxes...
gp.AddToolbox("C:/Program Files/ArcGIS/ArcToolbox/Toolboxes/Data Management Tools.tbx")


# Local variables...
GDB_Oracle = "Database Connections\\gergovie_ADMIN.sde"
GDB_SQL_Server_Express = "Database Servers\\127.0.0.1_SQLEXPRESS.gds\\MaBase (VERSION:DBO.DEFAULT)"

# Process: Synchronisation
gp.SynchronizeChanges_management(GDB_Oracle,
"ADMIN.MonReplica",
GDB_SQL_Server_Express,
"FROM_GEODATABASE1_TO_2",
"IN_FAVOR_OF_GDB1",
"BY_OBJECT",
"DO_NOT_RECONCILE")


Mécanisme de "Check-In/Check-Out"

Le mécanisme de "Check-In/Check-Out" (déjà existant dans les versions précédentes d'ArcGIS) peut être considéré comme un type particulier de réplication. L'objectif est de permettre l'extraction de tout ou partie d'une Géodatabase afin de pouvoir la mettre à jour en étant déconnecté de la Géodatabase d'origine. Les modifications effectuées sur le jeu de données extrait sont ensuite réinsérées dans la Géodatabase d'origine. Le mécanisme de "Check-In/Check-Out" est techniquement similaire à la réplication mais avec certaines restrictions dans l'usage :
- seules les modifications effectuées dans le réplica enfant sont remontées dans le réplica parent (mono-directionnel)
- pour un réplica enfant créé, une seule synchronisation est possible (une insertion pour une extraction)


Réplication de Géodatabase et Réplication de SGBD

La plupart des SGBD disposent de leurs propres mécanismes de réplication permettant la copie de données et la synchronisation entre cette copie et la base de données parente. Il est donc possible d'utiliser ces mécanismes sur des Géodatabases. Cependant, il faut prendre conscience que ces mécanismes de réplications ne prendront pas en compte la totalité de la logique de la Géodatabase notamment sur les éléments complexes tels que les classes de relations, les réseaux géométriques, … ou encore les versions. Ils fonctionneront donc correctement dans des contextes de réplications globales de la Géodatabase mais plus difficilement dans des contextes de réplication partielle de certaines couches ou de certaines zones géographiques d'une Géodatabase.

Le tableau ci-dessous montre quelques points important à prendre en compte dans la comparaison des deux types de mécanisme de réplication :

Pour aller plus loin

Pour plus d'informations sur le mécanisme de réplication de Géodatabases, vous pouvez vous reporter à l'aide en ligne d'ArcGIS à la rubrique suivante (ainsi qu'aux rubriques du même chapitre) :
http://webhelp.esri.com/arcgisdesktop/9.2/index.cfm?TopicName=Understanding_distributed_data

A noter également ce nouveau document publié la semaine dernière par ESRI concernant la gestion de Géodatabases distribuées :
http://support.esri.com/index.cfm?fa=knowledgebase.whitepapers.viewPaper&PID=66&MetaID=1314

(Fin)

17 juillet 2007

Géodatabases distribuées et réplication (épisode 1 sur 2)

Collaboration, mutualisation et échange sont des axes de plus en plus importants dans la vie d'un projet SIG. Derrière ce constat se cache des enjeux techniques pas toujours simples à appréhender. Que ce soit le "simple" échange de données par import/export, la mise à jour déconnectée par extraction/insertion (check-in/check-out) ou les mécanismes plus évolués de réplication de Géodatabases, ArcGIS propose une variété de solutions permettant de s'adapter à l'organisation et aux processus métier d'une entreprise. Dans cet article, j'ai choisi d'évoqué plus particulièrement les évolutions récentes proposées dans ArcGIS 9.2 pour gérer des Géodatabases distribuées.

Géodatabases distribuées

Mettre en place des Géodatabases distribuées correspond à dupliquer tout ou partie du contenu d'une Géodatabase dans une autre Géodatabase tout en gérant la synchronisation entre celles-ci. Par exemple on pourra :

- partager tout ou partie d'une Géodatabase avec un partenaire en lui envoyant régulièrement les mises à jour.

- partager tout ou partie d'une Géodatabase avec un partenaire en synchronisant mutuellement les mises à jour effectuées par l'un ou par l'autre.


- donner accès aux données d'une Géodatabase via le Web en dupliquant la Géodatabase chez un hébergeur (avec mise à jour ou non des utilisateurs Web).


- affecter la responsabilité de la gestion à des équipes travaillant sur une Géodatabase centrale et les diffuser vers d'autres utilisateurs via des Géodatabases locales.

- diffuser différentes parties d'une Géodatabase nationale auprès de services régionaux et départementaux.

- diffuser différentes parties d'une Géodatabase nationale auprès de services régionaux et départementaux en leur permettant d'effectuer des mises à jour sur les données de la Géodatabase centrale.


- permettre à des collaborateurs d'effectuer des missions de mise à jour de données SIG en étant déconnecté de la Géodatabase de l'entreprise pendant un certains temps.


Mécanisme de réplication

Pour pouvoir mettre en place ce type d'architecture, ESRI propose à partir d'ArcGIS 9.2 une solution de distribution de données au travers d'un mécanisme appelé "Réplication de Géodatabase". De nouvelles fonctionnalités dans ArcMap, ArcCatalog et dans les ArcObjects permettent de créer et de gérer des réplicas complets ou partiels de Géodatabases ainsi que leur synchronisation.

Répliquer une Géodatabase revient finalement à créer un réplica enfant à partir d'un réplica parent. Les réplicas peuvent être distribués selon les besoins de l'organisme et sont ensuite capables de coordonner leurs modifications respectives au travers d'un processus de synchronisation.

Les Géodatabases pouvant héberger des réplicas parent ou des réplicas enfant sont celles intégrant la technologie ArcSDE, à savoir:

- Géodatabases Personnal ArcSDE (SQL Server Express)
- Géodatabases Workgroup ArcSDE (SQL Server Express)
- Géodatabases Enterprise ArcSDE (SQL Server, Oracle, DB2, Informix et PostgreSQL en 9.3)


Les réplicas parent et enfant peuvent tout à fait se trouver dans des Géodatabases stockées dans des SGBD différents. Par exemple, le réplica parent peut être stocké dans Oracle et le réplica enfant dans une Géodatabase SQL Server Express.

La réplication supporte la totalité du modèle de la Géodatabase y compris les éléments complexes (les réseaux géométriques, les classes de topologie, les classes de relations, les MNT …).


(Fin de l'épisode 1)

13 juillet 2007

Nouveautés 9.2 - N° 9 - Transformation NTF vers WGS84


De plus en plus souvent les données du SIG doivent être converties en Lat/Long WGS84. En effet, dès lors que l'on veut publier des données vers des outils de visualisation de type Globe (ArcGIS Explorer, Google Earth, Virtual Earth, …) en utilisant des services web avec ArcGIS Server ou en exportant vers des fichiers (GML, KML, Shp, …) avec ArcGIS Desktop, l'utilisateur a besoin de transformer des données X,Y projetées en Lambert NTF vers des coordonnées Lat/Long WGS84

Depuis plusieurs versions déjà ArcGIS permet de transformer des coordonnées Lambert I, II, III ou IV (basées sur le système géodésique NTF) vers des coordonnées Lambert 93 (basées sur le système géodésique RGF93) et inversement en utilisant la grille de transformation de l'IGN. Ceci permet de conserver une précision inférieure au mètre.

En version 9.2, ArcGIS propose également cette même grille de transformation pour transformer des coordonnées Lambert I, II, III ou IV (basé sur le système géodésique NTF) vers des coordonnées basées sur le système géodésique WGS84. L'utilisation de cette grille permet d'obtenir une précision bien meilleure lors de la (dé)projection de données Lambert NTF. La fonction de transformation géocentrique à 3 paramètres qui était proposée en 8.x et 9.x reste cependant toujours disponible dans ArcGIS 9.2.


Ci-dessus la boîte de dialogue qui apparaît lors de l'utilisation du bouton "Transformation" situé dans l'onglet "Système de coordonnée" des propriétés d'un bloc de données.

Attention, cette transformation n'est pas celle proposée par défaut, il faut donc la sélectionner explicitement. Enfin, la transformation par grille de l'IGN est bijective ce qui veut dire qu'elle peut être utilisée pour effectuer la transformation NTF vers WGS84 mais également WGS84 vers NTF. Ceci explique qu'il n'en existe qu'une seule dans la liste (qui se nomme "WGS_1984_To_NTF_NTv2") qui fonctionne donc dans les deux sens de transformation.

11 juillet 2007

Nouveautés 9.2 - N° 8 - Support des tables attributaires de raster

En version 9.2, tous les jeux de données raster composés d'une seule bande de type "Integer" peuvent disposer d'une table attributaire (RAT Raster Attribute Table). Ceci est également possible pour les données raster des Géodatabases fichiers ou des Géodatabases ArcSDE. La table attributaire d'une couche raster contient autant d'enregistrement qu'il y a de valeurs uniques dans l'image. Chaque enregistrement de la table attributaire est associé à l'ensemble des pixels de l'image ayant la même valeur.

Selon les formats de données, certaines images disposent en natif d'une table attributaire (par exemple le format GRID) alors que d'autres nécessitent qu'une table soit créée spécifiquement par ArcGIS. Dans ce dernier cas, un fichier au format DBF est ajouté au fichier raster. Par exemple, pour une image "Geologie.tif" un fichier " Geologie.tif.vat.dbf" sera créé dans le même répertoire.


La table attributaire d'un raster peut contenir plusieurs champs (créés par l'utilisateur) et peut être modifiée dans ArcMap (Ajout/Suppression de champs, Calculatrice, …). Les tables attributaires de raster supportent complètement les mécanismes de jointure d'ArcGIS et peuvent être utilisées en entrée de toutes les commandes de géotraitement acceptant des tables.

Un exemple

Dans ArcMap nous disposons d'une image Geologie.tif (mono-bande) dont les codes couleurs correspondent à des codes de formations géologiques. La table attributaire de cette couche raster contient donc uniquement deux champs VALUE et COUNT (nombre de pixel dans l'image portant cette valeur).


Nous disposons également d'une table Codification_geol.xls (fichier Excel) donnant la correspondance entre ces codes couleurs et les descriptifs des formations géologiques.



Nous pouvons donc réaliser une jointure entre la table attributaire de la couche raster geologie.tif et la table Codification_geol.xls.


Une fois cette jointure effectuée, la table attributaire de la couche raster est complétée des champs issus de la jointure. Une nouvelle symbologie s'appuyant sur les champs joints peut donc être réalisée.


Par défaut, la table attributaire est créée de manière automatique pour toutes les sources de données raster ayant les caractéristiques évoquées ci-dessus. Cependant, une nouvelle option dans le menu "Outils > Options" permet de spécifier le nombre maximum de valeurs uniques au dessus duquel la table attributaire ne doit pas être construite automatiquement.

Format GRID
Pour les rasters au format GRID ayant déjà des tables attributaires (VAT), elles sont automatiquement reconnues et traitées de la même manière que les tables attributaires des autres formats de données raster.

Enfin, il faut noter l'ajout de deux nouveaux outils de géotraitement en 9.2 pour créer ou supprimer les tables attributaires des données raster:

Avec la version Anglaise:
Data Management > Raster > Build Raster Attribute Table
Data Management > Raster > Delete Raster Attribute Table

Avec la version Française:
Outils de gestion de données > Raster > Créer la table attributaire d'un raster
Outils de gestion de données > Raster > Supprimer la table attributaire d'un raster

09 juillet 2007

Surfaces 3D : Travailler avec des "Terrain" (épisode 2 sur 2)

Mise à jour d'un "Terrain"

Comme je l'ai évoqué dans la première partie de cet article, à la différence du "TIN", un "Terrain" s'implémente dans une Géodatabase personnelle, fichier ou entreprise. Les classes d'entités qui le composent peuvent donc être mises à jour individuellement, ces modifications se répercutent ensuite automatiquement dans le "Terrain". Pour cela, il suffit d'afficher les propriétés du "Terrain" et de se placer sur l'onglet "Mettre à jour". Les zones qui ont été modifiées apparaissent alors dans le tableau (colonne "Tuiles à valider" ou "Dirty Tiles") et le bouton "Générer un MNT" permet de mettre à jour le "Terrain" pour ces zones.




Versionnement d'un "Terrain"

Ainsi, lorsque vous décidez de stocker un "Terrain" dans une Géodatabase d'entreprise (ArcSDE), vous pouvez tout à fait utiliser le mécanisme de versionnement. Il s'appliquera aux classes d'entités de base ainsi qu'au "Terrain".
L'illustration ci-dessous montre une version DEFAULT contenant la surface 3D actuelle et une version PROJET correspondant à une simulation intégrant les impacts d'un projet de carrière.


Performance

Le mécanisme de pyramide allié au stockage en base de données fait que l'affichage des "Terrain" est performant même sur de grandes quantités de données. Pour vous donner quelques points de repère je vous propose une comparaison entre les performances d'affichage d'un "TIN" et d'un "Terrain" sur un même jeu de données. Il s'agit d'un MNT sur l'île de la Guadeloupe construit à partir de la BD-Alti© de l'IGN. Les données de bases sont les suivantes :
- semis-de points cotés (2 600 000 points)
- polygones de délimitation des côtes de l'île (15 polygones)


Pour le "Terrain" et le "TIN" une tolérance de 1 m. a été choisie pour les Z sachant que c'est la précision altimétrique des données de base. Pour le "Terrain", une pyramide a été créée selon les plages d'échelles et les niveaux de généralisation indiqués ci-dessous.


Les performances d'affichage ont été mesurées à différentes échelles dans ArcMap (donc en 2D). On notera que des résultats similaires sont obtenus dans ArcGlobe (en 3D). Les résultats sont reportés dans le graphique ci-dessous :


Les résultats montrent que plus l'échelle est petite plus l'écart de performance est important entre le "TIN" et le "Terrain", ceci s'explique par l'utilisation des pyramides. A grande échelle, la même résolution de données est utilisée pour le "TIN" et le "Terrain", les performances sont donc très proches. Enfin, au delà du 1/500000 le jeu de données s'affiche entièrement, les temps d'affichage deviennent donc constant.

En résumé

Les "Terrains" et les outils connexes offrent des avantages non négligeables en termes de gestion, d'analyse et de visualisation de surface 3D. Pour mémo, on peut résumer ainsi les principaux avantages de ce nouveau modèle de données :

- Intégrer à ArcGIS, permet le stockage et la gestion de surfaces 3D en vectoriel dans la Géodatabase.
- Prise en charge d'une grande richesse de types de données de base (points, multi-points, polylignes et polygones) lors de la construction de la surface 3D.
- Grande capacité, les "Terrains" peuvent contenir plusieurs milliards de points .
- Performant, les pyramides des "Terrains" permettent de récupérer rapidement des sous-ensembles appropriés au moyen de requêtes de base de données optimisées.
- Optimisé, des outils d'affinage des données permettent d'éliminer les échantillons redondants ou non pertinents.
- Evolutivité, les "Terrains" ne sont pas figés, ils sont liés dynamiquement aux données de base et évoluent donc en même temps.
- Simplicité de gestion, les mises à jour sont locales et ne nécessitent pas une reconstruction du modèle dans sa globalité.
- Dans les Géodatabases ArcSDE, les "Terrains" sont stockés de manière centralisée et peuvent être versionnés comme c'est le cas pour d'autres types de données pour une intégration totale dans un environnement multi-utilisateurs.


Pour terminer, si vous souhaitez bien démarrer avec les "Terrains", je vous recommande la lecture des rubriques d'aide en ligne suivantes (ou dans l'aide locale d'ArcGIS en français):

http://webhelp.esri.com/arcgisdesktop/9.2/index.cfm?TopicName=About_3D_surfaces

08 juillet 2007

Surfaces 3D : Travailler avec des "Terrain" (épisode 1 sur 2)

L'île de la Guadeloupe modélisé avec un Terrain (vue 2D et 3D)


Depuis plus de 15 ans, ESRI propose principalement deux modèles de données pour modéliser et analyser des surfaces 3D dans un SIG:
- un modèle raster nommé GRID
- un modèle vectoriel nommé TIN (Triangular Irregular Network)

Les utilisateurs des extensions "Spatial Analyst" et "3D Analyst" connaissent bien ces deux modèles de données qui répondent l'un et l'autre à différents types de besoin et sont donc aussi indispensables que complémentaires. L'objectif de cet article est de présenter une troisième alternative offerte aux utilisateurs d'ArcGIS depuis la version 9.2 pour aller encore plus loin en terme de modélisation de surfaces 3D.

Le modèle GRID

Le modèle GRID permet de modéliser des surfaces 3D en découpant le territoire en mailles régulières (comme une image) et en associant à chaque maille (ou pixel), la valeur de l'altitude ou de l'élévation que l'on souhaite modéliser. Plusieurs méthodes d'interpolation (IDW, Spline, TopoGrid, Krigeage, Natural Neighbor) permettent de transposer le semis de points et les lignes de rupture, qui sont généralement irréguliers à ce modèle de données régulières.


En modélisant une surface de cette manière on peut accéder à toutes les fonctions de représentation et de calcul 3D (ombrage, pentes, hydrographie, profils 3D, inter-visibilité, cubature, …).

Le modèle TIN

Le modèle de TIN permet de modéliser des surfaces 3D par des facettes triangulaires dont les sommets et certaines arrêtes sont les points d'altitude ou les lignes de rupture de la surface que l'on souhaite modéliser. La formation des facettes triangulaires est basée sur le respect des critères de Delaunay.


Notion de "Terrain"

Depuis plusieurs années les méthodes de mesures de données d'élévation (ou de profondeur) ont considérablement évoluées (LIDAR, SONAR, points GPS, …) et permettent désormais de collecter de très gros volumes d'information (de quelques centaines de milliers à quelques centaines de millions de points). Pour permettre aux utilisateurs la modélisation de surfaces 3D à partir de volumes de données aussi importants, ESRI introduit dans ArcGIS 9.2 un nouveau modèle de données nommé "Terrain" (traduit en français par "MNT").

En terme de structure de données, le contenu d'un "Terrain" est assez comparable à celle des "TIN" à savoir un modèle de facettes triangulaire 3D générées à partir de données ponctuelles, linéaires et surfaciques décrivant les éléments structurant de la surface. Cependant, trois grandes différences distinguent le "Terrain" du "TIN" :- il est multi-résolution- il est stocké dans des Géodatabases- ses facettes sont construites à la volées à partir des données de base

1) Multi-résolution

Un peu comme des données raster, lors de la création du MNT l'utilisateur va créer une pyramide de "TIN" dont les niveaux de généralisation seront plus adaptés à l'affichage à des échelles plus petites. En définissant pour chaque niveau d'échelle une tolérance sur les écarts d'altitudes pouvant exister entre les trois sommets de chaque facette on obtient des TIN dont les triangles sont plus ou moins généralisés. L'illustration ci-dessous montre 3 niveaux de pyramide d'un "Terrain". Sur une même zone, moins de triangles sont utilisés pour un affichage au 1/100000 que pour un affichage au 1/10000.



Ci-dessous un exemple de définition des pyramides d'un "Terrain" dans ArcGIS:


2) Stockage dans une Géodatabase

Le "Terrain" est stocké obligatoirement dans une Géodatabase personnelle, fichier ou entreprise à l'intérieur d'un jeu de classes d'entités. Un peu comme une classe de topologie, le "Terrain" s'appuie sur une ou plusieurs classes d'entités du jeu de classes. Aucune copie des données n'est effectuée, il s'agit uniquement de référence vers ces entités ponctuelles, linéaires ou surfaciques. Chaque classe d'entités joue un rôle structurant dans la construction de la surface (points cotés, lignes de rupture, polygone de découpage …) qui se paramètre lors de la création du "Terrain".


3) Construction des facettes à la volée

A la différence des "TIN", le "Terrain" ne stocke pas véritablement les facettes. Il organise et indexe les données en vue d'une récupération rapide et dérive une surface sous forme de "TIN" à la volée lors de l'affichage en utilisant les informations de la pyramide. C'est une des clés de la performance d'affichage des "Terrain".

(Fin de l'épisode 1)


06 juillet 2007

Jouer quelques notes d'ArcGIS Explorer

Les Notes dans ArcGIS Explorer sont un bon moyen d'ajouter des points remarquables sur vos cartes et d'y associer une variété de contenus comme, par exemple, des liens vers des fichiers locaux ou liens vers des ressources publiées sur le Web. Cet article est un rapide tour d'horizon des possibilités offertes par les notes.

Les Notes simples
Ci-dessous un exemple simple de Note contenant un simple texte descriptif.


Pour générer ce type de note, cliquez sur "Create Notes task" puis saisissez le titre de la Note et le texte que vous voulez associer à celle-ci. Pour ajouter la note sur la carte, il suffit d'utiliser un des outils (Tools) et de cliquer à l'endroit souhaité sur la carte.


Associer un lien à une Note

Au delà d'un simple texte, vous pouvez associer un ou plusieurs liens à un Note. Ces liens peuvent pointer vers des fichiers de votre poste, du réseau de votre entreprise ou encore du Web. Pour cela, il suffit de créer un Note puis d'exécuter la commande "Add a link to File" à partir du menu contextuel de la Note.



Dans la boîte de dialogue, vous pouvez sélectionner un document ou saisir l'URL d'un site ou d'un document Internet. Par exemple : http://www.iledere.com/index.php?id_site=1&id_page=96




Cette opération peut être relancée plusieurs fois pour associer plusieurs liens à la Note.

Un lien est alors à la Note dans la fenêtre "Results", il suffit de cliquer dessus pour ouvrir l'application associée (Word, Excel, Navigateur Web, ArcMap, ...).



Afficher du contenu HTML dans la Note

Une autre approche consiste à afficher directement dans la Note (sans utiliser de liens) le contenu multimédia souhaité. Pour cela, il suffira d'insérer les instructions HTML dans le texte de la Note. Par exemple, on peut insérer une image en utilisant les instructions suivantes:




Placer ensuite Note sur la carte. Cliquer ensuite sur la Note pour afficher automatiquement son contenu.



Afficher une page Web dans la Note

Pour aller encore un peu plus loin, il est possible d'afficher une page Web complète sans avoir à écrire son contenu en référençant simplement l'URL ce la page. Pour cela, vous utiliserez les instructions indiquées ci-dessous en modifiant la partie URL avec la page souhaitée.


Placer ensuite la Note sur la carte puis cliquer ensuite sur cette dernière pour afficher automatiquement son contenu.




Pour les développeurs

Vous êtes peut être déjà familiarisés avec le format XML de document ArcGIS Explorer: les fichier *.nmf. Comme tout résultat de tâche, une Note peut être exportée sous la forme d'un fichier .nmf pour être ensuite importé ou référencé dans ArcGIS Explorer par d'autres utilisateurs. Ce fichier XML (qui peut tout à fait contenir plusieurs Notes) est relativement simple dans sa structure et peut être préalablement construit à partir d'un shapefile, d'une Géodatabase ou d'un Web Service avec quelques lignes d'ArcObjects (VBA, VB, VB .Net, C# ou Java) ou d'un script Python.

Pour plus d'informations sur la structure des fichiers *.nmf, vous pouvez vous reporter à la page suivante ou à la page suivante plus généralement sur le développement avec le SDK d'ArcGIS Explorer.


Evolution dans les versions à venir

La prochaine version d'ArcGIS Explorer prévue pour la fin de ce mois contiendra des améliorations intéréssantes concernant la gestion des Notes:
- Les Notes pourront être regroupées, réorganisées et renomées,
- Les informations d'étendue, de positionnement et de perspectives seront des propriétés de la Note,
- L'insertion d'une page Web dans la Note se fera sans avoir à écrire le moindre code HTML,
- La fenêtre de la Note pourra se redimensionner de manière automatique,
- ...

Nous aurons l'occasion de vous reparler des autres améliorations de cette nouvelle version dans quelques semaines.


04 juillet 2007

Nouveautés 9.2 - N° 7 - Nouvelles options d'export et d'impression

La version 9.2 d'ArcGIS apporte des améliorations notables concernant l'export de carte vers des formats de fichiers graphiques ou vers des périphériques d'impression. Voici quelques unes de ces améliorations.

Créer des PDF multi-calques:

L'outil d'export PDF intègre désormais la notion de calques. Lors de l'affichage du fichier PDF dans Acrobat Reader 6 (et supérieur) chaque couche de la carte est affichée individuellement. Ceci permet de rendre visible ou invisible les différentes couches (vecteur, raster, annotations et éléments graphiques) dans le fichier PDF. Seules les couches visibles dans ArcMap lors de l'export sont présentes (et donc visibles) dans le fichier PDF.



On notera que lorsqu'une couche est affichée avec une transparence, un seul calque fusionné est exporté dans le fichier PDF.


Nouvelles options d'export des symboles ponctuels

ArcMap 9.2 propose une nouvelle option pour la gestion des symboles ponctuels de type image lors de l'export d'une carte. Dans les options de la boîte de dialogue "Export de la carte", l'utilisateur peut désormais choisir entre différents modes de traitement des symboles ponctuels de type images. La couche peut être rastérisée ou conservée sous une forme vectorielle. Dans le deuxième cas, on conserve dans le fichier d'export l'entité vectorielle (le point) qui se trouve sous le symbole image.



Nouvelles options d'impression

ArcPress est un moteur d'impression intégré en standard dans les produits ArcView, ArcEditor et ArcInfo. Ce moteur fournit un ensemble de pilotes qui raterisent votre carte ArcMap dans le langage natif de votre périphérique d'impression et qui envoie ensuite ces informations vers ce périphérique qui l'imprime directement ou vers un fichier sur votre disque. Outre la série d'options proposées pour le réglage de la rastérisation des couches vecteurs et raster de la carte, un des principaux intérêts d'ArcPress est qu'aucun traitement supplémentaire du périphérique d'impression n'est nécessaire après le travail de rastérisation (donc gain de temps).

En version 9.2, ESRI complète la liste des pilotes disponibles avec deux pilotes "Universels" pour les périphériques d'impressions (traceurs et imprimantes) HP et EPSON. Créés en coordination avec les deux constructeurs, ces pilotes permettent un support bien meilleur des traceurs HP Designjet (RTL et PCL3GUI) et des imprimantes grand-format d'EPSON à partir d'ArcGIS. En fonction de l'imprimante ou du traceur sélectionné, ces pilotes sont désormais proposés automatiquement si vous disposez d'un des modèles pris en charge par ces nouveaux pilotes.

03 juillet 2007

Gestion d'identifiants sur les éléments graphiques

Une demande fréquente des développeurs est de pouvoir accéder à des éléments graphiques de la carte ou de la mise en page en utilisant un nom. Ceci permet, par exemple, de les organiser et d'associer à certains élément des comportements particuliers. Dans ArcView GIS 3.x cela pouvait se faire en utilisant la propriété "Tag" des éléments.

Avec ArcGIS 9.2, les éléments graphiques d'ArcMap dont les classes ArcObjects correspondantes implémentent l'interface "IElementProperties", disposent d'une propriété "CustomProperty" (de type variant) et une propriété "Name" (de type string) qui peut être utilisée pour retrouver un élément par son identifiant ou par n'importe quel autre objet associé.


La propriété "Name" est exposée dans l'interface d'ArcMap dans l'onglet "Taille et Position" de la boîte de dialogue des propriétés de l'élément. L'utilisateur peut donc définir et modifier manuellement le nom de chacun de ces éléments.

L'exemple de code VBA ci-dessous montre comment parcourir tous les éléments graphiques du document ArcMap en affichant pour chacun sa propriété "Name".

Public Sub Afficher_Noms_Elements()

Dim pMxDoc As IMxDocument
Dim pPageLayout As IPageLayout

Set pMxDoc = ThisDocument
Set pPageLayout = pMxDoc.ActiveView

Dim pGC As IGraphicsContainer
Set pGC = pPageLayout

pGC.Reset

Dim pElement As IElement
Set pElement = pGC.Next

Do While Not pElement Is Nothing
Dim pCP As IElementProperties
Set pCP = pElement
MsgBox pCP.Name
Set pElement = pGC.Next
Loop

End Sub



On notera enfin que les propriétés des éléments graphiques sont persistantes, c'est à dire qu'elles sont sauvegardées dans le document ArcMap, ArcGlobe ou ArcScene.