Skip to main content

Exploitation des données d’entreprise avec ArcGIS Online et Collector for ArcGIS – Partie 1

Dans les bases de données, les relations sont gérées par les systèmes de gestion de bases de données relationnelles (SGBDR), comme Oracle, Microsoft SQL Server et PostgreSQL. Pour ce qui est des géodatabases sur la plateforme d’Esri, les entreprises utilisent SDE.

Comment géreriez-vous toutes ces relations fondamentales entre les tables d’une géodatabase SDE, qui présentent des classes d’entités équivalentes dans l’image? Comment vos utilisateurs de bases de données, vos éditeurs et vos collecteurs de données accéderaient-ils aux données connexes à l’aide des différents produits d’Esri? Eh bien, ce blogue consiste justement à répondre à ces deux questions.

Je parlerai de processus pour différents scénarios dont vous pouvez vous servir pour exploiter vos données connexes dans la géodatabase SDE, dans les cas où vous voulez que les utilisateurs affichent les données ou demandez à ce que le personnel sur le terrain recueille des données en ligne ou hors ligne. Je commencerai ce blogue dans ArcGIS for Desktop et expliquerai comment préparer et publier des services. Je passerai ensuite aux cartes et aux applications Web d’ArcGIS Online.

Par souci de simplicité, ce billet de blogue ne montre que les relations un à plusieurs entre les classes d’entités et les tables. Sachez que les géodatabases prennent également en charge d’autres types de cardinalités ainsi que les relations entre les classes d’entités et les relations entre les tables.

C’est parti!

Scénario no 1 : Afficher des données connexes dans ArcGIS Online

Dans ma démonstration de la géodatabase SDE dans SQL Server, j’ai une classe d’entités points appelée Hydrants (bornes) et deux tables : Inspections (inspections) et Violations (transgressions). Cette classe d’entités comporte le champ Facility_Identifier (identifiant d’installation). Quant aux tables, elles comptent toutes deux le champ Facility_ID (ID d’installation), lequel correspond au champ Facility_Identifier (identifiant d’installation) des bornes d’incendie. À noter qu’une borne peut comporter de nombreux registres d’inspection ou de transgression.

L’objectif est de permettre aux utilisateurs qui n’ont pas accès à SQL Server ou à ArcGIS for Desktop de consulter les données à jour sur les bornes ainsi que les registres à jour d’inspection et de transgression connexes.

On y arrivera grâce à deux relations simples à la volée et à un service de cartes. N’oubliez tout de même pas d’ajouter la classe d’entités et les tables connexes à ArcMap et d’enregistrer la géodatabase SDE à partir d’ArcGIS for Server avant de publier le service. Prenez note également qu’en plus de ne pas être nécessaire pour afficher les données, le service d’entités ne prend pas en charge les relations in_memory.

Après la publication du service de cartes, connectez-vous à ArcGIS Online et ajoutez l’adresse URL du service REST à une nouvelle carte Web. Une fois que la fenêtre contextuelle de la couche Hydrants (bornes) s’ouvre, je peux cliquer sur une borne.

Affichage des attributs de bornes et des données connexes.

La fenêtre des attributs de bornes s’ouvre, d’où je peux aussi afficher les registres connexes (Show Related Records) de la table Inspections (inspections) ou Violations (transgressions). Les registres connexes s’afficheront dans une table au bas de l’écran. Tout fonctionne sans problème. Si je le souhaite, je peux créer une application Web et la partager avec le groupe d’utilisateurs.

Scénario no 2 : Éditer des entités et les données connexes dans ArcGIS Online

Toujours dans la même géodatabase SDE, les éditeurs vont maintenant mettre à jour les données sur les bornes dans ArcGIS Online. (Le personnel sur le terrain modifiera les registres d’inspection et de transgression connexes.) Vous vous en souvenez sans doute, j’ai mentionné plus haut que le service d’entités ne prend pas en charge les relations in_memory. Toutefois, il est nécessaire pour modifier les données en ligne. La solution à ce dilemme, c’est la classe de relations.

Il y a les classes de relations simples et les classes de relations combinées. Elles se distinguent principalement comme suit : la relation simple s’établit entre pairs, tandis que la relation combinée se fait entre parent et enfant, ce dernier étant dépendant du parent. Pour ce scénario, j’utiliserai la classe de relations simples, la classe de relations combinées ayant les mêmes modes de fonctionnement dans ArcGIS Online.

Avant de créer une classe de relations, j’ajoute les identificateurs universels à la classe d’entités et aux deux tables. Ces identificateurs sont toujours uniques et doivent préférablement être la clé primaire, tandis que les identifiants d’installation peuvent être saisis de nombreuses fois par mégarde. J’ajoute ensuite un nouveau champ GUID nommé Hydrant_Global_ID (ID universel de la borne) à chaque table, selon l’identificateur universel dans la classe d’entités.

Deux classes de relations simples sont maintenant créées, depuis la classe d’entités à l’aide du champ GlobalID (identificateur universel) comme clé primaire, à chaque table à l’aide du champ Hydrant_Global_ID (ID universel de la borne) comme clé étrangère.

Alors les mots clés pour ce scénario sont les suivants : classe de relations, identificateur universel et service d’entités. Au moment de publier le service, laissez la fonction Sync (synchroniser) désactivée, car nous ne passons pas encore en mode hors ligne.

Connectez-vous à ArcGIS Online et ajoutez le service d’entités à une nouvelle carte Web. En quoi est-ce différent de l’ajout d’un service de cartes? Eh bien, un plus grand nombre d’opérations peuvent être effectuées avec la couche Hydrants (bornes) : modifier la symbologie, créer des étiquettes, établir des itinéraires vers des entités et, bien sûr, faire de l’édition.

Édition des données sur les bornes dans une carte Web d’ArcGIS Online.

Il est possible de créer une application Web destinée aux éditeurs de bornes, qu’il s’agisse d’une application configurable accompagnée de fonctions d’édition ou d’une application créée à l’aide de Web AppBuilder afin d’y ajouter un gadget d’édition.

Édition des données sur les bornes à l’aide du gadget d’édition.

Dans mon prochain blogue, nous continuerons d’utiliser la classe d’entités Hydrants (bornes) et ses deux tables connexes. Nous explorerons aussi Collector for ArcGIS pour savoir comment éditer des entités et les données connexes, que ce soit en ligne ou hors ligne.

activé pour archivage, Collector for ArcGIS, entreprise, géodatabase, identificateur universel, mobile, sans versionnage, hors ligne, relation, données connexes, classe de relation, services, synchronisation, avec versionnage, carte web