- Exploration des données source que vous allez utiliser
- Connexion à une base de données externe
- Création d'un modèle de diagramme schématique basé sur le générateur standard
- Création de classes d'entités schématiques
- Configuration des classes d'entités schématiques ISP_Equipments
- Configuration des classes d'entités schématiques ISP_Valves
- Configuration des classes d'entités schématiques ISP_Pipes
- Génération d'un diagramme schématique de requêtes personnalisées
Les diagrammes schématiques peuvent être générés à partir de pratiquement n'importe quelles données auxquelles vous pouvez vous connecter via une connexion ADO ou ODBC (données qui n'ont pas besoin d'être à l'intérieur d'une géodatabase). Le générateur standard est généralement utilisé pour générer des diagrammes à partir d'entités mises en surbrillance dans une carte après une opération de sélection ou de traçage, mais il peut également être configuré pour générer des diagrammes à partir de données qui ne sont pas dans une géodatabase ou qui sont de simples données tabulaires non spatiales. Comme cette configuration nécessite que vous écriviez des requêtes SQL directement dans une source de données, vous devez avoir de l'expérience en écriture de requêtes SQL et bien comprendre vos données et leur structure. Au cours de cet exercice, vous allez apprendre à créer et configurer un modèle de diagramme schématique pour générer des diagrammes à partir de données tabulaires non spatiales. Les données que vous allez utiliser se trouvent dans la base de données du didacticiel Brazil.bgb, qui se trouve dans le répertoire C:\ArcGIS\ArcTutor\Schematics\Schematics_Configuration\Mixed_Data. La configuration du modèle de diagramme sera effectuée à l'aide du jeu de données schématique SchematicBuilderSamples créé à l'exercice 1.
Exploration des données source que vous allez utiliser
La première phase de cette configuration concerne la compréhension des données et la connexion aux données, afin que vous puissiez ensuite configurer les requêtes pour utiliser les données.
- Démarrez l'application ArcCatalog.
- Accédez à C:\ArcGIS\ArcTutor\Schematics\Schematics_Configuration\Mixed_Data.
- Double-cliquez sur l'entrée Brazil.gdb pour ouvrir son contenu.
Dans l'onglet Contenu de la fenêtre Catalogue, vous voyez maintenant trois tables portant le préfixe ISP_. ISP est l'abréviation de "Inside Plant". Les enregistrements de ces tables décrivent le fonctionnement interne de certaines usines à gaz. Les usines à gaz elles-mêmes sont des entités réelles qui font partie d'un réseau géométrique et qui se trouvent dans la classe d'entités pug_PUG_gas_plants, qui est à l'intérieur du jeu de données d'entité pipelines.
- Double-cliquez sur le jeu de données d'entité pipelines pour présenter les classes d'entités de réseau géométrique.
- Sélectionnez la classe d'entités pug_PUG_gas_plants et sélectionnez l'onglet Aperçu.
- Au bas de l'onglet, utilisez la liste déroulante Aperçu pour sélectionner Table afin de pouvoir voir les données.
- Utilisez la barre de défilement afin de voir à la fois les champs NAME et PLANT_NMBER.
Vous n'avez que les deux données PLANT_NUMBER et NAME pour trois des usines à gaz. L'idée ici est que vous allez autoriser un utilisateur final dans ArcMap à générer un diagramme pour l'une de ces usines en fonction de son nom (l'utilisateur final n'a pas besoin de connaître le numéro d'usine : plant_number). Vous vous apercevrez toutefois très rapidement que pour interroger les enregistrements des tables ISP_, vous devez connaître le numéro d'usine (PLANT_NUMBER). Il s'agit donc de deux informations importantes dans cette classe d'entités.
- Sélectionnez la table ISP_EQUIPMENTS dans l'arborescence du Catalogue.
Elle s'affiche sous forme de table sous l'onglet Aperçu.
- Déplacez-vous dans l'onglet Aperçu jusqu'à ce que vous puissiez afficher à la fois les colonnes NUMBER_ et PLANT_NUMBER.
La colonne NUMBER_ vous donne un numéro unique pour chacun des enregistrements. La colonne PLANT_NUMBER vous indique dans quelle usine à gaz chaque enregistrement se situe. L'idée de base ici, que vous allez suivre pendant la configuration, est que si un utilisateur souhaite voir le diagramme de l'usine Aracaui (plant_number = 101), vous devez alors exécuter une requête pour obtenir tous les enregistrements ISP_EQUIPMENTS pour PLANT_NUMBER 101.
- Regardez rapidement la table ISP_VALVES en la sélectionnant dans l'arborescence du Catalogue.
Cette table possède globalement la même structure, dans laquelle vous trouvez une colonne NUMBER_ et une colonne PLANT_NUMBER.
- Cliquez maintenant sur la table ISP_PIPES dans l'arborescence du catalogue.
Cette table est la clé de cette application de requêtes personnalisées en question. Cette table indique la connectivité entre les enregistrements ISP_EQUIPMENTS et les enregistrements ISP_VALVES.
- Déplacez-vous dans l'onglet Aperçu jusqu'à ce que vous puissiez afficher à la fois les colonnes FROM_NODE_NUM et TO_NODE_NUM.
Pour chaque ligne de cette table (canalisation individuelle à l'intérieur de l'usine), ces colonnes vous indiquent à quoi elles sont connectées et d'où elles sont connectées en fonction des valeurs présentes dans ces colonnes qui correspondent à une valeur dans la colonne Number_ column, que ce soit dans la table ISP_EQUIPMENTS ou ISP_VALVES.
Connexion à une base de données externe
- Modifiez le jeu de données schématique SchematicBuilderSamples stocké dans la géodatabase C:\ArcGIS\ArcTutor\Schematics\TutorialSchematicDB en naviguant jusqu'à cette base de données à l'aide d'ArcCatalog, en cliquant avec le bouton droit sur le jeu de données, puis en sélectionnant l'option de menu Modifier .
- Avant d'aller plus loin, vous devez créer une source de données qui pointe sur les données révisées dans la base de données Brazil.gdb. Le reste de la configuration devra s'assurer de cette source de données.
- Cliquez avec le bouton droit sur le dossier Sources de données dans l'arborescence de l'Editeur de jeu de données schématique et cliquez sur Nouvelle source de données.
Un onglet Propriétés montre maintenant les informations de la nouvelle source de données. Conservez le nom par défaut, et comme Brazil.gdb est une géodatabase fichier, le Type est également correct.
- Cliquez sur le bouton Parcourir la géodatabase fichier Esri à la fin de la zone de texte Fichier GDB.
Cela a pour effet d'ouvrir la boîte de dialogue Connexion GDB Fichier Esri.
- Accédez à la base de données brazil.gdb qui se trouve dans C:\ArcGIS\ArcTutor\Schematics\Schematics_Configuration\Mixed_Data et sélectionnez-la.
- Cliquez sur le bouton Sélectionner pour fermer la boîte de dialogue.
- Cliquez sur OK dans l'onglet Propriétés.
Vous avez réussi à établir une connexion vers l'autre base de données.
- Cliquez avec le bouton droit sur le dossier Sources de données dans l'arborescence de l'Editeur de jeu de données schématique et cliquez sur Nouvelle source de données.
Création d'un modèle de diagramme schématique basé sur le générateur standard
La deuxième phase consiste en la création du modèle de diagramme schématique qui sera utilisé pour générer les diagrammes à partir des données tabulaires.
- Cliquez avec le bouton droit sur l'entrée SchematicBuilderSamples dans l'arborescence de l'Editeur du Jeu de données et cliquez sur l'élément de menu Nouveau modèle de diagramme schématique.
L'onglet Propriétés pour le nouveau modèle de diagramme schématique s'affiche automatiquement sur le côté droit de la fenêtre Editeur.
- Saisissez DiagramsFromCustomQueries dans la zone de texte Nom.
- Sélectionnez Générateur standard dans la section Générateur schématique.
- Cliquez sur OK.
Une entrée pour le modèle de diagramme DiagramsFromCustomQueries s'affiche maintenant dans l'arborescence de l'Éditeur de jeu de données. Trois nouveaux onglets (Associations, Mises en page et Règles) s'affichent sur le côté droit de la fenêtre Editeur.
- Cliquez sur DiagramsFromCustomQueries dans l'arborescence de l'Editeur de jeu de données schématique pour commencer à travailler sur sa configuration.
- Cliquez sur le bouton Editeur de requête / d'identifiant qui se trouve dans la zone Requête de l'onglet Propriétés.
Cette opération ouvre la boîte de dialogue Editeur de requête / d'identifiant :
- Utilisez la liste déroulante Source de données pour sélectionner l'entrée NewDataSource qui a été créée dans la section Connexion à une base de données externe ci-dessus.
La liste des tables se remplit maintenant de toutes les tables trouvées dans cette source de données. Vous souhaitez maintenant obtenir la liste des noms des usines à gaz, ainsi que leurs numéros.
- Faites défiler la liste des tables jusqu'à ce que vous trouviez l'entrée pug_PUG_gas_plants. Double-cliquez sur cette entrée.
Le système a ajouté une requête à la section des requêtes. La requête renvoie toutes les colonnes de cette table. Vous souhaitez donner à l'utilisateur d'ArcMap une liste de noms uniquement. Pour la section des identifiants, voici donc ce que vous allez spécifier.
- Dans la liste Champs au bas du formulaire, double-cliquez sur l'entrée NOM, pour l'ajouter à la liste Identifiant.
- Cliquez sur OK pour fermer le formulaire.
- Ajoutez un attribut pour obtenir le numéro de l'usine. (Il sera utilisé pour filtrer les données lorsque vous écrirez les requêtes pour vos classes d'entités schématiques.) Cliquez avec le bouton droit sur l'entrée DiagramsFromCustomQueries dans l'arborescence de l'Editeur du Jeu de données et choisissez Nouvel attribut dans le menu contextuel.
Cette opération permet d'ouvrir l'onglet des propriétés Nouvel attribut à droite de l'éditeur. De nombreux types d'attributs sont disponibles dans Schematics. Dans ce cas, vous obtenez simplement un champ de la requête que vous avez déjà écrite. Champ se trouve être le Type par défaut.
- Tapez PlantNum dans le champ Nom.
- Faites défiler la liste Champs jusqu'à l'affichage de PLANT_NUMBER. Double-cliquez sur cette entrée pour l'ajouter à la liste Identifiant.
- Cliquez sur OK pour terminer cette définition d'attribut.
- Cliquez sur Enregistrer sur la barre d'outils Editeur de jeu de données schématique.
Création de classes d'entités schématiques
- Cliquez avec le bouton droit sur le modèle de diagramme DiagramsFromCustomQueries dans l'arborescence de l'Editeur du Jeu de données et cliquez sur l'élément de menu Nouvelle classe d'entités schématiques.
L'onglet Propriétés correspondant à la nouvelle classe d'entités schématiques s'affiche automatiquement sur le côté droit de la fenêtre Editeur.
- Tapez ISP_Equipments dans le champ Nom.
- Cliquez sur OK.
- Cliquez avec le bouton droit sur le modèle de diagramme DiagramsFromCustomQueries dans l'arborescence de l'Editeur du Jeu de données et cliquez sur l'élément de menu Nouvelle classe d'entités schématiques.
L'onglet Propriétés correspondant à la nouvelle classe d'entités schématiques s'affiche automatiquement sur le côté droit de la fenêtre Editeur.
- Tapez ISP_Valves dans le champ Nom.
- Cliquez sur OK.
- Cliquez avec le bouton droit sur le modèle de diagramme DiagramsFromCustomQueries dans l'arborescence de l'Editeur du Jeu de données et cliquez sur l'élément de menu Nouvelle classe d'entités schématiques.
L'onglet Propriétés correspondant à la nouvelle classe d'entités schématiques s'affiche automatiquement sur le côté droit de la fenêtre Editeur.
- Tapez ISP_Pipes dans le champ Nom.
- Utilisez la liste déroulante Type et sélectionnez Lien.
Les enregistrements de canalisation sont les liens entre les valves et l'équipement.
- Cliquez sur OK.
- Cliquez sur Enregistrer sur la barre d'outils Editeur de jeu de données schématique.
Configuration des classes d'entités schématiques ISP_Equipments
- Utilisez la souris pour cliquer sur l'entrée ISP_Equipments dans l'arborescence de l'éditeur de jeu de données schématique.
L'onglet Propriétés s'ouvre pour cette classe d'entités schématiques.
- Choisissez Requête lors de la génération / mise à jour dans la liste déroulante Mode d'évaluation de la section Requête.
Le bouton Editeur de requête / d'identifiant devient disponible :
- Cliquez sur le bouton Editeur de requête / d'identifiant .
Cette opération ouvre la boîte de dialogue Editeur de requête / d'identifiant.
- Utilisez la liste déroulante Source de données pour choisir l'entrée NewDataSource dans la liste.
- Double-cliquez sur l'entrée ISP_EQUIPMENTS dans la liste Tables.
Cette opération permet d'ajouter automatiquement une requête à la section Query.
- Cette fois, cependant, vous devez changer la requête afin qu'elle filtre correctement tous les enregistrements en fonction du numéro de l'usine à gaz que l'utilisateur choisira pour générer des diagrammes. Modifiez la requête en ajoutant le texte suivant à la fin de ce qui a été fait automatiquement pour vous : where plant_number = ?
Une fois que vous avez entré ce texte, une nouvelle section Paramètres s'ouvre automatiquement. Cela vous permet d'indiquer au système quel attribut sera transmis à la requête à la place du symbole "?". Comme votre configuration ne comprenait qu'un seul attribut, il est déjà sélectionné.
- Vous devez cependant changer un élément. Par défaut, la case Est du texte est cochée. Cependant, dans votre cas, ces données sont un numéro. Vous devez donc changer cette case à cocher. Cliquez sur la case à cocher Est du texte afin de la décocher.
- Vous pouvez tester votre requête à ce stade si vous le souhaitez. Saisissez un PlantNum valide dans le champ Valeur de test (101, par exemple, correspond à l'usine à gaz Aracaiu), puis cliquez sur le bouton Afficher les résultats.
Si la requête a été correctement évaluée, vous ne devez voir que les enregistrements contenant cette valeur.
- Double-cliquez sur l'entrée NUMBER_ dans la liste Champs pour l'ajouter à la liste Identifiant.
Chaque entité schématique d'un diagramme doit être identifiée de façon unique. Dans cet exemple, vous savez que le champ NUMBER_ est unique dans toutes les tables utilisées pour extraire des données. Dans vos exemples, vous devrez vous assurer que les valeurs sont uniques, et dans certains cas, vous pouvez être amené à faire preuve de créativité pour garantir leur unicité.
- Cliquez sur OK pour terminer cette définition.
Configuration des classes d'entités schématiques ISP_Valves
- Utilisez la souris pour cliquer sur l'entrée ISP_Valves dans l'arborescence de l'éditeur de jeu de données.
L'onglet Propriétés s'ouvre pour cette classe d'entités schématiques.
- Choisissez Requête lors de la génération / mise à jour dans la liste déroulante Mode d'évaluation de la section Requête.
- Cliquez sur le bouton Editeur de requête / d'identifiant sur l'onglet Propriétés.
Cette opération ouvre la boîte de dialogue Editeur de requête / d'identifiant.
- Utilisez la liste déroulante Source de données pour choisir l'entrée NewDataSource dans la liste.
- Double-cliquez sur l'entrée ISP_VALVES dans la liste Tables.
Cette opération permet d'ajouter automatiquement une requête à la section Query.
- Vous devez changer la requête afin qu'elle filtre correctement tous les enregistrements en fonction du numéro de l'usine à gaz que l'utilisateur choisira pour générer des diagrammes. Modifiez la requête en ajoutant le texte suivant à la fin de ce qui a été fait automatiquement pour vous : where plant_number = ?
Une fois que vous avez entré ce texte, une nouvelle section Paramètres s'ouvre automatiquement. Cela vous permet d'indique au système quel attribut sera transmis à la requête à la place du symbole "?". Comme votre configuration ne comprenait qu'un seul attribut, il est déjà sélectionné.
- Vous devez cependant changer un élément. Par défaut, la case Est du texte est cochée. Cependant, dans votre cas, ces données sont un numéro. Vous devez donc changer cette case à cocher. Cliquez sur la case à cocher Est du texte afin de la décocher.
- Vous pouvez tester votre requête à ce stade si vous le souhaitez. Saisissez un PlantNum valide dans le champ Valeur de test (101, par exemple, correspond à l'usine à gaz Aracaiu), puis cliquez sur le bouton Afficher les résultats.
Si la requête a été correctement évaluée, vous ne devez voir que les enregistrements qui ont cette valeur.
- Double-cliquez sur l'entrée NUMBER_ dans la liste Champs pour l'ajouter à la liste Identifiant.
Chaque entité schématique d'un diagramme doit être identifiée de façon unique. Dans cet exemple, vous savez que le champ NUMBER_ est unique dans toutes les tables utilisées pour extraire des données. Dans vos propres exemples, vous devrez vous assurer que les valeurs sont uniques, et dans certains cas, vous pouvez être amené à faire preuve de créativité pour vous assurer que les valeurs sont uniques.
- Cliquez sur OK pour terminer cette définition.
La boîte de dialogue Requête / Identifiant se ferme et l'onglet Propriétés correspondant à la classe d'entités schématiques ISP_Valves s'affiche comme suit :
Configuration des classes d'entités schématiques ISP_Pipes
Pour la dernière section de configuration des classes d'entités, procédez presque exactement de la même manière, à l'exception des noms des classes d'entités et des noms des tables interrogées. Cette fois, la configuration des requêtes restera inchangée, mais vous aurez à réaliser d'autres tâches pour définir certains attributs, afin d'indiquer au système quels champs sont utilisés pour la connecter les nœuds.
- Utilisez la souris pour cliquer sur l'entrée ISP_Pipes dans l'arborescence de l'éditeur de jeu de données.
L'onglet Propriétés s'ouvre pour cette classe d'entités schématiques.
- Choisissez Requête lors de la génération / mise à jour dans la liste déroulante Mode d'évaluation de la section Requête.
- Cliquez sur le bouton Editeur de requête / d'identifiant sur l'onglet Propriétés.
Cette opération ouvre la boîte de dialogue Editeur de requête / d'identifiant.
- Utilisez la liste déroulante Source de données pour choisir l'entrée NewDataSource dans la liste.
- Double-cliquez sur l'entrée ISP_PIPES dans la liste Tables.
Cette opération permet d'ajouter automatiquement une requête à la section Query.
- Vous devez changer la requête afin qu'elle filtre correctement tous les enregistrements en fonction du numéro de l'usine à gaz que l'utilisateur choisira pour générer des diagrammes. Modifiez la requête en ajoutant le texte suivant à la fin de ce qui a été fait automatiquement pour vous : where plant_number = ?
Une fois que vous avez entré ce texte, une nouvelle section Paramètres s'ouvre automatiquement. Cela vous permet d'indique au système quel attribut sera transmis à la requête à la place du symbole "?". Comme votre configuration ne comprenait qu'un seul attribut, il est déjà sélectionné.
- Vous devez cependant changer un élément. Par défaut, la case Est du texte est cochée. Cependant, dans votre cas, ces données sont un numéro. Vous devez donc changer cette case à cocher. Cliquez sur la case à cocher Est du texte afin de la décocher.
- Vous pouvez tester votre requête à ce stade si vous le souhaitez. Saisissez un PlantNum valide dans le champ Valeur de test (101, par exemple, correspond à l'usine à gaz Aracaiu), puis cliquez sur le bouton Afficher les résultats.
Si la requête a été correctement évaluée, vous ne devez voir que les enregistrements qui ont cette valeur.
- Double-cliquez sur l'entrée OBJECTID dans la liste Champs pour l'ajouter à la liste Identifiant.
Chaque entité schématique d'un diagramme doit être identifiée de façon unique. Dans cet exemple, vous savez que le champ OBJECTID est unique dans toutes les tables utilisées pour extraire des données. Dans vos propres exemples, vous devrez vous assurer que les valeurs sont uniques, et dans certains cas, vous pouvez être amené à faire preuve de créativité pour vous assurer que les valeurs sont uniques.
- Cliquez sur OK pour terminer cette partie de la définition de ISP_Pipes.
La boîte de dialogue Requête / Identifiant se ferme et l'onglet Propriétés correspondant à la classe d'entités schématiques ISP_Pipes s'affiche comme suit :
- Cliquez avec le bouton droit sur l'entrée ISP_Pipes dans l'arborescence de l'Editeur de jeu de données schématiques et choisissez Nouvel attribut.
Un onglet Propriétés s'ouvre pour le nouvel attribut.
- Utilisez la liste déroulante Name pour choisir l'entrée OriginNode dans la liste des attributs prédéfinis.
Cette liste d'attributs est prédéfinie par le système. Ils ont tous un impact sur certaines fonctionnalités du système. OriginNode est un attribut qui indiquera à un lien à quel nœud il doit se connecter comme point de départ (origine).
- Double-cliquez sur l'entrée FROM_NODE_NUM dans la liste Champs pour l'ajouter à la liste Identifiant, c'est-à-dire le champ dans la table ISP_PIPES qui contient les informations de connexion du point de départ pour chaque canalisation.
- Cliquez sur OK pour terminer cette configuration d'attribut.
- Cliquez avec le bouton droit sur l'entrée ISP_Pipes dans l'arborescence de l'Editeur de jeu de données et choisissez Nouvel attribut.
Un onglet Propriétés s'ouvre pour le nouvel attribut.
- Utilisez la liste déroulante Name pour choisir l'entrée ExtremityNode dans la liste des attributs prédéfinis.
ExtremityNode est un attribut qui indiquera à un lien à quel nœud il doit se connecter comme point de fin (extrémité).
- Double-cliquez sur l'entrée TO_NODE_NUM_ dans la liste Champs pour l'ajouter à la liste Identifiant, c'est-à-dire le champ dans la table ISP_PIPES qui contient les informations de connexion du point de fin pour chaque canalisation.
- Cliquez sur OK pour terminer cette configuration d'attribut.
- Cliquez sur le bouton Enregistrer sur la barre d'outils Editeur.
- Fermez l'Editeur de jeu de données schématique.
Génération d'un diagramme schématique de requêtes personnalisées
Dans cette section, vous allez générer votre premier diagramme schématique selon le modèle de diagramme DiagramsFromCustomQueries créé récemment.
- Démarrer ArcMap avec un document cartographique vierge.
- Cliquez sur le bouton Générer un nouveau diagramme schématique de la barre d'outils Schématiques.
La boîte de dialogue Nouveau diagramme schématique s'ouvre.
- Cliquez sur le bouton de navigation à droite du champ Jeu de données ou dossier schématique pour ouvrir la boîte de dialogue Sélectionner le jeu de données schématique ou le dossier schématique.
- Naviguez vers et sélectionnez la géodatabase TutorialSchematicDB créée dans C:\ArcGIS\ArcTutor\Schematics à l'exercice 1.
- Double-cliquez sur cette géodatabase et sélectionnez le jeu de données schématique SchematicBuilderSamples.
- Cliquez sur le bouton Ajouter.
- Vérifiez que le diagramme DiagramsFromCustomQueries est sélectionné dans la liste déroulante Modèle de diagramme schématique.
ARACAIU est déjà sélectionné dans la section Nom du diagramme schématique parce qu'il est le premier dans la liste alphabétique.
- Cliquez sur la flèche de la liste déroulante Nom du diagramme schématique pour voir la liste de tous les noms d'usines à gaz provenant de la table pug_PUG_gas_plants.
Rappelez-vous que vous souhaitiez que le nom convivial s'affiche pour les utilisateurs, et non le numéro. C'est pour cela que l'attribut PlantNum a été intégré à la configuration.
- Assurez-vous que ARACAIU est toujours sélectionné.
- Cliquez sur OK pour générer le diagramme.
Comme ces enregistrements tabulaires ne comportaient aucune coordonnée, Schematics a automatiquement placé tous les nœuds à la coordonnée 0,0. Si vos données comportent des informations x et y, vous pouvez alors créer des attributs prédéfinis pour chacune des classes d'entités schématiques Nœud afin que la position initiale du diagramme utilise les coordonnées x et y des données au lieu d'être placée à l'emplacement 0,0. Dans les deux cas, l'utilisateur peut maintenant entamer une session de mise à jour et appliquer des algorithmes, etc., sur le diagramme.