RUFFIÉ Marc
LES GÉODATABASES
Sommaire I > Qu’est ce qu’une géodatabase
p.3
II > Création d’une géodatabase personnelle
p.5
III> Création d’un jeu de classe d’entités
p.6
VI > Création d’un fichier de forme
p.8
VI > 1 ) Choix du nom de la classe d’entité
p.9
VI > 2 ) La création des champs
p.10
V > L’avantage d’Access sous ArcMap
p.11
VI > L’utilisation des géodatabases sous Access
p.11
VII > Les opérations sur les géodatabases
p.13
VII > 1 ) Le compactage
p.13
VII > 2 ) La création de domaines
p.14
VII > 3 ) L’utilisation des domaines
p.15
VIII > Les outils pour les géodatabases
p.16
VIII > 1 ) Les opérations sur les domaines
p.16
VIII > 2 ) Créer des diagrammes sur les géodatabases
p.17
IX > Les nouveautés ArcGIS 9.2 (ArcSDE)
p.18
Conclusion et recommandations
p.19
Sources
p.20
RUFFIE MARC
2
I > Qu’est ce qu’une géodatabase Une géodatabase est une base de données géographique contenant une multitude de tables et d’informations. Il est assez complexe de représenter le MCD réel de celles-ci. Vous pouvez voir ici un MCD simplifié d’une géodatabase. Illustration : MCD simplifié d’une géodatabase
Ce MCD montre qu’une géodatabase peut être découpée en plusieurs jeux de classes d’entités, qui eux même peuvent contenir plusieurs classes d’entités. Il est possible qu’une géodatabase ne soit pas divisée en jeux de classes d’entités, mais qu’elle soit directement composée de classes d’entités. Une classe d’entité sera composée d’une multitude de tables à caractères géographiques, que j’ai résumé ici en une seule (CEN_DONNEES_GEO), et d’une table contenant la table attributaire (ici CEN_ATTRIBUTS). Pour finir, cette table attributaire sera composée de champs, ayant chacun un nom, un alias et un type. Chacun de ces champs aura la possibilité de se voir attribué un domaine. Un domaine d’une géodatabase est disponible et utilisable par toutes les classes d’entités, et il peut être utilisé par plusieurs classes d’entités.
RUFFIE MARC
3
Voici un exemple concret de l’utilisation de domaine par une classe d’entités Illustration : Utilisation de domaines dans le cadre de nomenclatures
Dans cet exemple, les domaines CLASSE_AGE et STRUCTURE ne sont utilisés qu’une fois dans la table PEUPLEMENT_FORESTIERS. Par contre, le domaine ESSENCE est utilisé à deux reprises par les champs ESSENCE_1 et ESSENCE_2. Ces domaines pourraient être réutilisés dans une autre table attributaire, sans qu’il y ait de conflits.
RUFFIE MARC
4
II > Création d’une géodatabase personnelle Etape 1, création de la géodatabase proprement dite dans ArcCatalog, en faisant clic droit\Nouveau\Géodatabase personnelle. Illustration : Création d’une géodatabase personnelle.
La géodatabase à une extension en .mdb, elle est donc ouvrable sous Access, et peut bénéficier par conséquent de ses requêtes de mises à jour qui sont bien plus rapides.
RUFFIE MARC
5
III > Création d’un jeu de classe d’entités On peut diviser une géodatabase en plusieurs groupes, ou jeux de classe d’entités. C’est ici qu’il va falloir spécifier les rectangles d’emprise des GDB, afin que les données puissent être affichées. Pour créer, il faut faire clic droit\ Nouveau\ Jeu de classe d’entités… Illustration : Création d’un jeu de classe d’entité sous ArcCatalog
Dès sa création, il faut donc spécifier ses paramètres. Donc dans ce cas, la projection choisie est la projection Lambert II carto. Par conséquent, toutes les classes d’entités qu’il contiendra seront projetées avec cette projection. Illustration : Choix de la projection pour le jeu de classe d’entité.
RUFFIE MARC
6
Une fois la projection choisie, il ne faut pas oublier de spécifier le domaine du jeu de classe d’entités, c' est-à-dire dans quelle emprise géographique seront localisées les données. Il faut donc donner le rectangle englobant. Le domaine ici spécifié correspond environ à l’emprise du grand quart Nord Est de la France en Lambert II étendue. Ainsi, il n’y aura pas de restriction pour le jeu de classe d’entité, au cas où mon entreprise décide un jour de s’étendre. Ceci permet donc une pérennité de la géodatabase. La valeur de la précision 100 signifie qu’ici, on pourra travailler avec des précisions centimétriques (1 étant la valeur de précision métrique). Illustration : Définition du domaine d’emprise du jeu de classe d’entités.
RUFFIE MARC
7
IV > Création d’un fichier de forme La création d’une classe d’entité (ou fichier de forme) se fait sous ArcCatalog, en utilisant le clic droit\ Nouveau\ Classe d’entités… Illustration : Création d’une classe d’entité
On peut créer autant de classe d’entités que l’on veut dans un jeu de classe d’entités. Il n’y a pas de limites réelles.
RUFFIE MARC
8
IV > 1 ) Choix du nom de la classe d’entité Lorsqu’on créé une nouvelle classe d’entité, on défini le nom qu’elle aura réellement, et l’alias, c' est-à-dire le nom qu’elle aura dans ArcMap, dans la liste des couches. Illustration : Etape 1, Choix du nom de la classe d’entité et de son Alias.
Ici, son nom est als_typ_pplmts (pour Alsace type de peuplement), mais voila comment elle apparait dans ArcMap Illustration : Visualisation des Alias de couche sous ArcCatalog
Les alias permettent par conséquent de donner des noms de fichiers ayant une structure correcte, c' est-à-dire sans espace, et sans accent, mais compenser cette structure un peu dure à comprendre avec l’alias, qui, quant a lui, peut contenir ces caractères interdits.
RUFFIE MARC
9
IV > 2 ) La création des champs On va créer aussi directement les champs dans ArcCatalog, lors de la création de la GDB. La création et la suppression de champs d’une GDB se fait directement dans ArcCatalog, afin de ne pas la corrompre (il est tout de même possible de les créer partir de ArcMap). Illustration : Etape 2, création des champs, typage des données, et choix des Alias.
Ici aussi on peut utiliser les alias pour les champs, et voici le résultat sous ArcMap Illustration : Visualisation des Alias dans les tables attributaires ArcMap
On peut donc avoir les mêmes avantages que pour les noms de fichiers. Grâce à ceci, on peut avoir des noms de champs corrects, ou les requêtes SQL sont faisables, mais aussi ou on peut comprendre facilement la signification des champs.
RUFFIE MARC
10
V > L’avantage d’Access sous ArcMap : Il est possible d’afficher et même d’utiliser des formulaires Access sous ArcMap. Il suffit pour cela de télécharger un script, situé ici http://support.esrifrance.fr/index.asp?page=/outilsscripts/arcgis/arcmap/geodatabase/formulair eaccess/formulaireaccess.html Une fois ce script installé, il faut créer le formulaire à utiliser. Ce formulaire peut utiliser des listes déroulantes. Par contre, il faut à tout pris utiliser des champs qui ont été créés dans ArcGIS, sinon, la géodatabase risque d’être corrompue. Ce formulaire, pour qu’il puisse être affiché dans ArcMap, doit avoir exactement le même nom que le fichier de forme. Les valeurs de ces listes déroulantes peuvent évoluer, pour cela, il suffit que la liste déroulante contienne des valeurs contenues dans une autre table (créé sous Access). Dans le formulaire à afficher sous ArcMap, il suffit de créer un bouton d’ouverture de formulaire. Ce nouveau formulaire permettra de rajouter des valeurs dans la liste déroulante. Illustration : Utilisation d’un formulaire Access sous ArcMap
Vous pouvez voir ici qu’en cliquant sur la parcelle, un formulaire s’est ouvert, avec une liste déroulante dessus. A droite de cette liste déroulante, on peut voir un bouton qui va ouvrir le second formulaire, de petite taille. Il suffit alors de rajouter des valeurs dans ce second formulaire pour compléter la liste déroulante. Ces contraintes de saisie sont fortement utiles lorsqu’une entreprise a la volonté d’harmoniser leurs données, pour que leurs éventuelles requêtes soient toujours les mêmes. ATTENTION : Les requêtes de sélections faites sous Access sont inutilisables sous ArcMap. Contrainte d’utilisation : L’utilisateur doit fermer à chaque fois le formulaire avant de sélectionner une autre entité, car il ne se met pas jour automatiquement.
RUFFIE MARC
11
VI > L’utilisation des géodatabases sous Access On peut aussi, sous Access, utiliser les états pour mettre en page les tables attributaires. D’un point de vue esthétique, on peut arriver à faire des bilans bien plus agréables à lire. Ainsi, pour les PSG, il serait envisageable d’utiliser ces états pour faire des fiches récapitulatives par parcelles. Ce serait un atout non négligeable, et un gain de temps conséquent. En utilisant le SQL, on peut arriver à faire des requêtes bien plus complexes. Celles-ci pourraient aussi bien être pour la consultation que pour des mises à jour. Ceci est possible tant que la requête n’altère pas la structure de la géodatabase (ajout de champ, suppression de champ).
RUFFIE MARC
12
VII > Les opérations sur les géodatabases VII > 1 ) Le compactage Une géodatabase est une base de données Access, et comme toutes celles-ci, elle va s’alourdir au fil du temps. A chaque manipulation par l’utilisateur, elle va peser de plus en plus lourd, même si il n’y a pas d’ajout d’informations, juste en stockant des informations inutiles. Pour remédier à ce problème d’alourdissement, il est nécessaire de la compacter. Cette opération est sans risque, et ArcCatalog propose de la faire. Il faut faire clic droit sur la géodatabase voulue, puis sélectionner compacter une base de données. Illustration : Compactage d’une géodatabase.
RUFFIE MARC
13
VII > 2 ) La création de domaines Les domaines correspondent a des listes déroulantes que l’ont peut intégrer dans les tables attributaires sous ArcMap. Les domaines créés dans une géodatabases seront accessibles par tous les jeux d’entités situés à l’intérieur de celle-ci. La création des domaines se fait dans ArcCatalog. Il suffit de faire clic droit sur la Géodatabase, et aller dans propriétés. Dans l’onglet domaine, on va avoir 3 étages de tableaux. Le premier étages liste tous les domaines (ou listes déroulantes) disponible dans la géodatabase. Dans ce tableau, on rentre le nom du domaine, et sa description. Le deuxième tableau contient les informations de structuration du domaine, et notamment le typage du domaine Le troisième tableau contient les informations sur le contenu du domaine sélectionné dans le premier tableau. Le code, et la description. La description, c’est ce que l’on visualisera dans la table Attributaire.
Voici par exemple un extrait de domaine. A gauche, le code correspond à ce qu’il y aura écrit en dur dans la base de données. A droite, le descriptif est ce qui apparaitra dans la liste déroulante. Illustration : Domaine concernant les essences Code A BOISER BOULEAU CHARME CHATAIGNER CHENE P. CHENE R. CHENE S. DOUGLAS EPICEAS ERABLES FEUILLUS DIVERS
RUFFIE MARC
Descriptif A boiser Bouleau Charme Châtaigner Chêne pédonculé Chêne rouge Chêne sessile Douglas Epicéas Erables Feuillus divers
14
VII > 3 ) L’utilisation des domaines Ensuite, une fois ces domaines créés, on peut alors les rattacher à des champs dans les jeux d’entités. Il faut faire clic droit sur le jeu d’entité voulu, et aller dans propriétés. Dans l’onglet champ, on a la liste de tous les champs de la classe d’entités. Il faut alors sélectionner le champ voulu dans le tableau du haut, et dans le tableau du bas, sélectionner le domaine créé auparavant. Illustration : Utilisation d’un domaine.
Maintenant, vous avez à disposition dans la liste attributaire dans ArcMap des zones de listes déroulantes. Illustration : Une liste déroulante dans une table attributaire
ATTENTION : Pour pouvoir utiliser les domaines, il faut que le typage du champ ET le typage du domaine soient les mêmes. Sinon, cette opération ne sera pas possible. Une fois que l’on a utilisé une valeur dans un domaine, il est impossible modifier sa valeur. RUFFIE MARC
15
VIII > Les outils pour les géodatabases VIII > 1 ) Les opérations sur les domaines Le problème avec les domaines, c’est qu’ArcCatalog, de façon native, ne propose pas de réorganiser de façon ordonnée toutes les valeurs d’un domaine. Pour que ce soit réalisable, il faut télécharger une .dll à cet endroit, et la charger sur ArcCatalog. http://support.esrifrance.fr/OutilsScripts/ArcGIS/ArcCatalog/Geodatabase/TrierDomaines/Tri erDomaines.html Pour utiliser cet outil, il faut sélectionner à gauche la géodatabase voulue, puis cliquer sur le bouton correspondant à l’outil en question. Illustration : utilisation de l’outil de tri
Une fenêtre s’ouvre alors, et il ne reste plus qu’à choisir les paramètres voulus pour le tri. Illustration : fenêtre de tri d’un domaine
RUFFIE MARC
16
VIII > 2 ) Créer des diagrammes sur les géodatabases. Afin de mieux exposer la structure d’une géodatabase, ESRI propose un outil qui permet de créer un diagramme représentatif de la géodatabase sélectionnée. Cette .dll est téléchargeable ici : http://support.esrifrance.fr/OutilsScripts/ArcGIS/ArcCatalog/Geodatabase/GDBDiagrammer/ GDBDiagrammer.html Il suffit de la charger dans ArcCatalog, de sélectionner la géodatabase dans la liste de gauche, et sélectionner l’outil mis en évidence ci-dessous Illustration : Choix de la géodatabase
Il ne reste plus qu’à générer le diagramme, et l’opération est terminée (il faut néanmoins être doté d’une licence Microsoft Visio). Illustration : Fenêtre de l’outil permettant de générer le diagramme.
RUFFIE MARC
17
IX > Les nouveautés ArcGIS 9.2 (ArcSDE) Avec la version 9.2 d’ArcGIS, il sera possible à l’utilisateur d’historiser les modifications faites sur sa géodatabase. L’utilisateur aura donc la possibilité de faire un Backup de sa géodatabase. Pour gérer ces opérations, le logiciel ne créé pas une nouvelle GDB à chaque modifications, mais il créé une table (Delta), dans la géodatabase, qui va stocker ces modifications. Par conséquent, la GDB va peut a peu s’alourdir, a force de stocker toutes ces changements, et par conséquent, les temps d’affichages risquent d’être plus long. Un administrateur doit alors s’occuper de compresser la géodatabase, comme sous Access. Cette opération va supprimer tout les backups de fait jusque la. ESRI annonce que cette opération est possible même si d’autres utilisateurs sont en train d’utiliser cette géodatabase. La technique de versionnement prend correspond a la réplication d’une base de données. Par conséquent, un utilisateur qui ne serait pas branché sur le réseau pourra travailler sur une géodatabase, en même temps que d’autres utilisateurs. Une fois les modifications faites, il n’aura qu’à mettre sa géodatabase sur le réseau, et en faisant une simple opération, ArcGIS mettra à jour la géodatabase réseau, en injectant uniquement les modifications faites par l’utilisateur auparavant externe au réseau. Ainsi, les modifications faites par les utilisateurs réseau en parallèle ne seront pas écrasées, et la GDB de l’utilisateur externe au réseau sera elle aussi mise à jour. L’administrateur de la GDB va pouvoir créer autant de version qu’il veut. Dans un premier temps, il va devoir créer une version appelée « DEFAULT », c’est la version de base de la GDB, qui ne pourra pas être supprimée. Les utilisateurs ne travaillent jamais directement sur ce fichier. L’administrateur lors de la création des versions va pouvoir définir qu’est ce qu’il sera possible de voir pour chaque utilisateur, donner des droits de visualisation, d’édition, propres à chaque utilisateur. La donnée peut aussi être publique, c' est-à-dire visible et éditable par tout le monde. Dans les SGBD, cela correspond à la technique de réplication partielle.
RUFFIE MARC
18
Conclusion et recommandations : Une géodatabase est une base de données. Par conséquent, les espaces, ainsi que les caractères spéciaux (&, é, ’, -, è, ç, à, ^) sont à proscrire dans leurs intitulés ainsi que dans les noms des champs. Les espaces sont à remplacer par des _ (touche 8). La structure des géodatabases ne doit pas être modifiée sous Access. Ce type d’opération risque de compromettre la base de données. On ne doit pas rajouter des enregistrements sous Access, sous risque d’endommager la base de données. Une géodatabase personnelle (sans module ArcSDE) a une capacité maximum de 2 Go. Cependant, des ralentissements dans l’affichage sont constatés à partir de 350 Mo de données. Une géodatabase avec le module ArcSDE peut supporter jusqu' à 4 Go de données. L’affichage des données est quant a lui fortement accéléré dans ArcMap une fois que l’on a converti un Shape en géodatabase. La rapidité d’affichage est multipliée par 2 à 5. Cette différence est flagrante, et l’avantage est donc non négligeable lorsqu’on souhaite traiter une certaine quantité de données.
RUFFIE MARC
19
Sources : Le forum sig : www.forumsig.org ESRI France : http://support.esrifrance.fr/ ESRI Canada : http://www.esricanada.com Site d’aide ESRI : http://webhelp.esri.com/arcgisdesktop/9.2/index.cfm
RUFFIE MARC
20