Jeux de données schématiques d'une géodatabase dans PostgreSQL

Les jeux de données schématiques sont similaires aux jeux de données d'entité, mais contiennent un ensemble de modèles de diagrammes schématiques et de classes d'éléments schématiques. Ils permettent la visualisation et la manipulation graphique des données de réseau.

Jeux de données schématiques dans ArcGIS for Desktop

Dans l'arborescence du catalogue, les jeux de données schématiques s'accompagnent de l'icône suivante :

Icône de jeu de données schématiques

Lorsque vous développez un jeu de données schématiques, vous pouvez voir les diagrammes schématiques qu'il contient. Ces diagrammes s'accompagnent de l'icône suivante :

Icône de diagramme schématique

Les noms du jeu de données schématiques et du diagramme schématique dans une géodatabase de PostgreSQL contiennent le nom de la base de données, le nom du propriétaire du jeu de données, ainsi que les noms du jeu de données et du diagramme.

Jeux de données schématiques dans une base de données PostgreSQL

Les tables suivantes permettent le stockage des informations sur les jeux de données schématiques :

Table sch_dataset

La table sch_dataset contient un enregistrement pour chaque jeu de données schématiques créé dans la géodatabase. Le champ ID de cette table permet d'identifier les tables d'entités et de diagrammes associées et apparaît dans ces noms de tables.

Nom du champ

Type de champ

Description

Nul ?

id

integer

Identifiant unique du jeu de données schématiques

La valeur dans ce champ est l'identifiant contenu dans les noms de toutes les autres tables de jeu de données schématiques, à l'exception des tables sch_release et sch_uniqueid.

NOT NULL

major

integer

Numéro de la version du jeu de données

NOT NULL

minor

integer

Numéro de sous-version majeur du jeu de données ; non utilisé pour l'instant

bugfix

integer

Numéro de correctif ou de Service Pack de la version du jeu de données ; non utilisé pour l'instant

NOT NULL

dbname

varchar(32)

Nom de la base de données de stockage du jeu de données schématiques

owner

varchar(32)

Utilisateur ayant créé le jeu de données schématiques

name

varchar(128)

Nom du jeu de données schématiques

NOT NULL

lockinfo

varchar(38)

Utilisé par l'outil de configuration de l'éditeur Jeu de données schématiques pour éviter les conflits lorsque plusieurs utilisateurs modifient simultanément la configuration

blobs

bytea

Stocke les métadonnées du jeu de données schématiques

Table sch_release

La table sch_release n'est pas utilisée actuellement.

Nom du champ

Type de champ

Description

Nul ?

major

integer

Numéro de version des tables système

NOT NULL

minor

integer

Numéro de sous-version majeur des tables système ; non utilisé pour l'instant

NOT NULL

bugfix

integer

Numéro de correctif ou de Service Pack des tables système ; non utilisé pour l'instant

NOT NULL

Table sch_uniqueid

La table sch_uniqueid fournit des identificateurs uniques pour les index des classes d'entités schématiques.

Nom du champ

Type de champ

Description

Nul ?

id

integer

Identifiant unique utilisé lors de la création de nouveaux modèles de diagrammes pour la classe d'objets

NOT NULL

dummy

integer

Non utilisé actuellement

sch<id>_clsentry

Cette table stocke les associations entre modèles de diagramme et types d'entités d'un jeu de données schématiques. Cette table est créée lorsque le jeu de données schématiques est créé.

Nom du champ

Type de champ

Description

Nul ?

id

integer

Identifie de manière unique la relation entre un modèle de diagramme et une classe d'entités

NOT NULL

diagramclassid

integer

Correspond au champ ID de la table sch<id>_diaclass

NOT NULL

elementclassid

integer

Correspond au champ ID de la table sch<id>_eltclass

NOT NULL

sch<id>_datasrc

Cette table contient une liste de toutes les sources de données auxquelles accède le jeu de données schématiques. Cette table est créée lorsque le jeu de données schématiques est créé.

Nom du champ

Type de champ

Description

Nul ?

id

integer

Identifie de manière unique une source de données

NOT NULL

name

varchar(255)

Nom de la source de données

NOT NULL

clsid

varchar(38)

Identifiant de classe du composant de source de données

NOT NULL

label

varchar(255)

Non utilisé actuellement

connection

bytea

Paramètres de la connexion ; permettent de maintenir et de restaurer la connexion

NOT NULL

sch<id>_diaclass

Cette table assure le suivi de l'ensemble des modèles de diagramme présents dans un jeu de données schématiques. Elle contient une ligne pour chaque modèle de diagramme créé.

Cette table est créée lorsque le jeu de données schématiques est créé.

Nom du champ

Type de champ

Description

Nul ?

id

integer

Identifie de manière unique un modèle de diagramme

NOT NULL

objectclassid

integer

Correspond au champ ID de la table sch_uniqueid

NOT NULL

creationname

varchar(255)

Nom de la classe de diagrammes lors de la création de la table

NOT NULL

name

varchar(255)

Nom actuel de la classe de diagrammes (si le nom d'origine a été modifié)

Correspond au nom du modèle de diagramme dans le nom de table sch<id>d_<diagram_template_name>

NOT NULL

parentid

integer

Identifiant de l'entrée de classe de diagrammes parent

NOT NULL

datasourceid

integer

Correspond au champ ID de la table sch<id>_datasrc ; utilisé uniquement pour un modèle de diagramme basé sur une requête personnalisée

builderclsid

varchar(38)

Identifiant de classe pour le constructeur de structure (XML, jeu de données réseau ou standard)

linkerclsid

varchar(38)

Composant qui gère la méthode de relation entre entité et élément

algorithmclsid

varchar(38)

Identifiant de classe de l'algorithme appliqué automatiquement aux diagrammes de ce type

blobs

bytea

Stocke les paramètres de définition de la classe de diagrammes (propriétés du générateur, requête personnalisée, propriétés de couche par défaut, attributs, algorithmes disponibles pour les diagrammes en fonction de ce type et de leurs paramètres, classe de nœuds par défaut et référence spatiale)

sch<id>_eltclass

Cette table conserve une liste de toutes les classes d'entités pour chaque jeu de données. Cette table est créée lorsque le jeu de données schématiques est créé. Pour chaque ligne de cette table, une table sch<id>e_<feature_class_name> et une table sch<id>a_<feature_class_name> sont créées.

Nom du champ

Type de champ

Description

Nul ?

id

integer

Identifie de manière unique une classe d'entités de schéma

NOT NULL

objectclassid

integer

Correspond au champ ID de la table gdb_items

NOT NULL

creationname

varchar(255)

Nom de la classe d'entités de schéma lors de la création de la table

NOT NULL

name

varchar(255)

Nom actuel de la classe d'entités de schéma (s'il a changé)

Correspond au nom de la classe d'entités dans les noms des tables sch<id>e_<feature_class_name> et sch<id>a_<feature_class_name>

NOT NULL

parentid

integer

Identifiant de l'entrée de classe d'éléments parent

NOT NULL

elementtype

integer

Valeur spécifiant le type d'élément (nœud, lien, nœud sur lien ou sous-lien)

NOT NULL

relationclsid

varchar(38)

Relation avec une classe d'entités

associatedsid

integer

Identifiant de source de données de la classe d'entités liée

associatedocid

integer

Identifiant des classes d'entités liées de la table gdb_items

datasourceid

integer

Correspond au champ ID dans la table sch<id>_datasrc ; utilisé uniquement pour une classe d'entités schématiques basée sur une requête personnalisée

blobs

bytea

Stocke les paramètres de définition de la classe d'entités schématiques (attributs et requête personnalisée, par exemple).

sch<id>_folder

Cette table conserve une liste de tous les dossiers créés dans un jeu de données. Cette table est créée lorsque le jeu de données schématiques est créé.

Nom du champ

Type de champ

Description

Nul ?

id

integer

Identifiant unique du dossier

NOT NULL

name

varchar(255)

Nom du dossier

NOT NULL

pfid

integer

Identifiant du dossier parent en cas d'imbrication

NOT NULL

xml

bytea

Stocke les métadonnées du dossier

sch<id>a_<nom_classe_entités>

Cette table assure le suivi des associations entre une entité de schéma et une entité SIG. Elle n'est utilisée que lorsque des éléments sont associés à un enregistrement schématique conformément aux règles définies dans la table sch<id>r_<diagram_template_name>.

Nom du champ

Type de champ

Description

Nul ?

id

integer

Identifie de manière unique l'association entre une entité de schéma et une entité SIG

NOT NULL

schematicid

integer

Identifiant unique pour une entité de schéma

NOT NULL

datasourceid

integer

Correspond au champ ID de la table sch<id>_datasrc

ucid

integer

Identifiant de classe de l'entité reliée

uoid

integer

Identifiant ObjectID de l'entité reliée

usid

integer

ID de l'élément dans l'entité associée ; concerne uniquement les entités associées qui sont des tronçons complexes.

Identifie l'ID de segment sur le tronçon complexe ; 0 pour tous les autres types d'entités associées.

uguid

integer

GUID de l'entité liée (s'il en existe une)

sch<id>d_<nom_modèle_diagramme>

Cette table stocke une liste de tous les diagrammes créés à partir d'un modèle de diagramme donné (celui indiqué par la table <NOM_MODELE_DIAGRAMME>). Cette table est créée lorsque son modèle de diagramme associé est créé et contient une ligne par diagramme.

Nom de champ

Type de champ

Description

Nul ?

id

integer

Identifie de manière unique un diagramme

NOT NULL

name

varchar(255)

Nom du diagramme

NOT NULL

folderid

integer

Correspond au champ ID de la table sch<id>_folder

NOT NULL

diagramclassid

integer

Correspond au champ objectclassid de la table sch<id>_diaclass

NOT NULL

lastupdate

timestamp without time zone

Date et heure de la dernière mise à jour de l'utilisateur

version

varchar(255)

Si généré à partir de données versionnées, indique la version

creationdate

timestamp without time zone

Date et heure de création du diagramme

creator

varchar(100)

Nom de l'utilisateur ayant créé le diagramme

updatedby

varchar(100)

Nom du dernier utilisateur ayant mis à jour le diagramme

blobs

bytea

Stocke les paramètres du diagramme, par exemple, une liste des nœuds de fin et racines, et le champ classid du dernier algorithme exécuté avant l'enregistrement

lockstatus

integer

Indique si le diagramme est actuellement verrouillé ou modifié par un utilisateur

lastmodification

timestamp without time zone

Date et heure de dernière modification du diagramme

modifiedby

varchar(100)

Dernier utilisateur ayant modifié le diagramme

sch<id>e_<nom_classe_entités>

Cette table stocke une liste de toutes les entités de schéma créées à l'aide d'une classe d'entités de schéma et utilisées dans un diagramme.

Nom de champ

Type de champ

Description

Nul ?

id

integer

Identifie de manière unique une entité de schéma ; clé primaire

NOT NULL

diagramclassid

integer

Correspond au champ objectclassid de la table sch<id>_diaclass

NOT NULL

diagramobjectid

integer

Correspond au champ id de la table sch<id>d_<nom_modèle_diagramme>

NOT NULL

schematicid

varchar(128)

Identifie de manière unique l'entité schématique dans le diagramme ; se compose des identifiants ucid, uoid et usid lorsque l'entité schématique est créée par le générateur standard

NOT NULL

isinitial

integer

Indique si cette entité schématique faisait partie de la liste de création initiale

NOT NULL

isdisplayed

integer

Indique si cette entité schématique est affichée actuellement

NOT NULL

relationobjectid

integer

ObjectID de l'entité standard associée ou de l'objet dans la relation

relationclassid

integer

ID de classe de l'entité standard associée ou de l'objet dans la relation

datasourceid

integer

Correspond au champ ID de la table sch<id>_datasrc

ucid

integer

ID de classe de l'entité ou de l'objet correspondant

uoid

integer

ObjectID de l'entité ou de l'objet correspondant

usid

integer

ID de l'élément dans l'entité correspondante ; concerne uniquement les entités correspondantes qui sont des tronçons complexes.

Identifie l'ID de segment sur le tronçon complexe correspondant. 0 pour tous les autres types d'entités correspondantes.

updatestatus

integer

Spécifie si une entité est nouvelle suite à la dernière mise à jour

subtype

integer

Sous-type de l'entité

propertyset

bytea

Stocke les informations attributaires

initialx

numeric(32,20)

Position X de l'entité lors de sa création ; applicable uniquement au type d'entité schématique de nœud

initialy

numeric(32,20)

Position Y de l'entité lors de sa création ; applicable uniquement au type d'entité schématique de nœud

initialposition

numeric(32,20)

Position initiale de l'entité sur son lien schématique de référence associé ; applicable uniquement au type d'entité schématique de nœud sur lien

referencelink

varchar(128)

Schematicid du lien schématique de référence auquel l'entité est associée ; applicable uniquement aux types d'entités schématiques de nœud sur lien ou de sous-lien

rotation

numeric(32,20)

Rotation de symbole de l'entité ; applicable uniquement aux types d'entités schématiques de nœud ou de nœud sur lien

fromtid

varchar(128)

Schematicid du nœud d'origine de l'entité ; applicable uniquement aux types d'entités schématiques de lien ou de sous-lien

totid

varchar(128)

Schematicid du nœud de fin de l'entité ; applicable uniquement aux types d'entités schématiques de lien ou de sous-lien

fromport

integer

Numéro de port sur le symbole du nœud d'origine de l'entité à utiliser pour se connecter à l'entité ; applicable uniquement aux types d'entités schématiques de lien ou de sous-lien

toport

integer

Numéro de port sur le symbole du nœud de fin de l'entité à utiliser pour se connecter à l'entité ; applicable uniquement aux types d'entités schématiques de lien ou de sous-lien

flowdirection

integer

Indique le sens de parcours ; applicable uniquement aux types d'entités schématiques de lien ou de sous-lien

uguid

varchar(38)

GUID de l'entité liée (s'il en existe une)

shape

st_geometry

geometry

Géométrie de l'entité de schéma.

sch<id>r_<nom_modèle_diagramme>

Cette table stocke une liste de toutes les règles schématiques configurées dans un modèle de diagramme. Elle est créée lorsque son modèle de diagramme associé est créé, mais n'est renseignée que si des règles sont configurées.

Nom de champ

Type de champ

Description

Nul ?

id

integer

Identifie la règle de relation de manière unique

NOT NULL

ordernumber

integer

Indique l'ordre d'exécution des règles

NOT NULL

active

integer

Indique si la règle est active

NOT NULL

clsid

varchar(38)

Identifiant de classe de la règle

NOT NULL

propertyset

bytea

Propriétés de règle

Affichez le diagramme d'un jeu de données schématique dans PostgreSQL.

RemarqueRemarque :

Pour ouvrir le fichier, vous devez disposer de Adobe Acrobat Reader.

Les lignes pointillées indiquent les relations implicites entre colonnes.

Jeux de données schématiques dans un document d'espace de travail XML

Bien que vous ne puissiez pas exporter de façon simultanée l'intégralité d'un jeu de données schématiques vers XML, vous pouvez exporter des diagrammes de schéma vers un document XML. L'exemple suivant illustre un extrait de ce type de fichier :

<sch:Diagrams xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns:esri="http://www.esri.com/schemas/ArcGIS/10.1" xmlns:xs="http://www.w3.org/2001/XMLSchema"
 xmlns:sch="http://www.esri.com/schemas/ArcGIS/10.1/Schematics">
 <Diagram DiagramTemplateName="GeoSchematic" DiagramName="Feeder 0801-Rice Creek"
  EnforceDiagram TemplateName="false" EnforceDiagramName="false" Version="sde.DEFAULT">
  <Features>
    <NodeFeature>
      <FeatureClassName>TransformerBank</FeatureClassName>
      <ExternalUniqueID>36-1585-0</ExternalUniqueID>

        <DatasourceName>postgres gdb</DatasourceName>
      <UCID>36</UCID>
      <UOID>1585</UOID>
      <SUBTYPE>0</SUBTYPE>
      <UPDATESTATUS>1</UPDATESTATUS>
      <InitialX>376834.28999999911</InitialX>
      <InitialY>1571795.700000003</InitialY>
      <ROTATION>0</ROTATION>
    </NodeFeature>
    <LinkFeature>
       <FeatureClassName>PrimaryLine</FeatureClassName>
       <ExternalUniqueID>16-1083-0</ExternalUniqueID>
         
         <DatasourceName>postgres gdb</DatasourceName>
       <UCID>16</UCID>
       <UOID>1083</UOID>
       <SUBTYPE>1</SUBTYPE>
       <UPDATESTATUS>1</UPDATESTATUS>
       <FromNode>21-8-0</FromNode>
       <ToNode>36-250-0</ToNode>
       <PropertySet xsi:type="esri:PropertySet">
         <PropertyArray xsi:type="esri:ArrayOfPropertySetProperty">
           <PropertySetProperty xsi:type="esri:PropertySetProperty">
             <Key>placement</Key>
             <Value xsi:type="xs:int">0</Value>
           </PropertySetProperty>
         <PropertyArray>
        </PropertySet>
       <Vertices />
     </LinkFeature>
    </Features>
    <Datasources>
      <Datasource>
        <NameString>postgres gdb</NameString>
        <WorkSpaceInfo xsi:type="esri:WorkspaceName">
          <PathName>c:\Documents and Settings\gis\
           Application Data\ESRI\Desktop10.0\ArcCatalog\sdegdb on pgsql</PathName>
          <BrowseName>ArcSDE Data</BrowseName>
          <WorkspaceFactoryProgID>esriDataSourcesGDB.SdeWorkspaceFactory.1</WorkspaceFactoryProgID>
          <WorkspaceType>esriRemoteDatabaseWorkspace</WorkspaceType>
          <Connection Properties xsi:type="esri:PropertySet">
            <PropertyArray xsi:type="esri:ArrayOfPropertySetProperty">
              <PropertySetProperty xsi:type="esri:PropertySetProperty">
                <Key>SERVER</Key>
                <Value xsi:type="xs:string">barnacles</Value>
              </PropertySetProperty>
              <PropertySetProperty xsi:type="esri:PropertySetProperty">
                <Key>INSTANCE</Key>
                <Value xsi:type="xs:string">sde:postgresql:barnacles</Value>
              </PropertySetProperty>
              <PropertySetProperty xsi:type="esri:PropertySetProperty">
                <Key>DATABASE</Key>
                <Value xsi:type="xs:string">spdata</Value>
              </PropertySetProperty>
              <PropertySetProperty xsi:type="esri:PropertySetProperty">
                <Key>AUTHENTICATION_MODE</Key>
                <Value xsi:type="xs:string">DBMS</Value>
              </PropertySetProperty>
              <PropertySetProperty xsi:type="esri:PropertySetProperty">
                <Key>USER</Key>
                <Value xsi:type="xs:string">editor</Value>
              </PropertySetProperty>
              <PropertySetProperty xsi:type="esri:PropertySetProperty">
                <Key>PASSWORD</Key>
                <Value xsi:type="xs:base64Binary">QgRGAA9PPOCwUR3vjWUTw2sRnEhHAA==</Value>
              </PropertySetProperty>
              <PropertySetProperty xsi:type="esri:PropertySetProperty">
                <Key>VERSION</Key>
                <Value xsi:type="xs:string">sde.DEFAULT</Value>
              </PropertySetProperty>
            </PropertyArray>
          </ConnectionProperties>
        </WorkSpaceInfo>
      </Datasource>
    </Datasources>
  </Diagram>
</sch:Diagrams>

Thèmes connexes

7/11/2014