Classes d'entités d'une géodatabase dans PostgreSQL

Une classe d'entités est une collection d'entités géographiques du même type géométrique (points, lignes, polygones, multi-points, annotations, cotes ou multipatch). Vous pouvez par exemple stocker des points dans une classe d'entités pour tous les dépôts ferroviaires situés le long d'une ligne de chemin de fer. Dans une autre classe d'entités, vous pouvez stocker des lignes qui représentent l'ensemble des voies ferrées.

Cette rubrique présente la façon dont une classe d'entités apparaît dans le fenêtre Catalogue, dans le système de gestion de bases de données (SGBD) et dans un document XML.

Classes d'entités dans ArcGIS Desktop

Il existe sept types de classes d'entités que vous pouvez créer dans ArcGIS Desktop : point, multi-points, ligne, polyligne, annotation, cote et multipatch.

Vous pouvez identifier le type de classe d'entités grâce à l'icône qui apparaît dans l'arborescence du catalogue. Le tableau répertorie les icônes de chaque type de classe d'entités.

Icône de classe d'entités

Type de classe d'entités

Icône de classe d'entités points ou multi-points

Point ou multi-points

Icône de classe d'entités lignes

Ligne

Icône de classe d'entités surfaciques

Polygone

Icône de classe d'entités annotations

Annotations

Icône de classe d'entités de cotation

Cote

Icône de classe d'entités multipatchs

Multipatch

Dans PostgreSQL, le nom d'une classe d'entités, tel qu'il apparaît dans l'arborescence du catalogue, comprend le nom de la base de données dans laquelle se trouve la classe d'entités, le nom du propriétaire de la classe d'entités et le nom de la classe d'entités même.

Par exemple, une classe d'entités nommée parcels, dont le propriétaire est l'utilisateur harley, dans une géodatabase nommée stegageo, est désignée « stegageo.harley.parcels », dans l'arborescence du catalogue.

Pour obtenir une description des différents types de classes d'entités, reportez-vous à la rubrique Principes de base des classes d'entités.

Classes d'entités dans une base de données PostgreSQL

Les classes d'entités des bases de données PostgreSQL utilisent l'un des deux types de stockage de géométries suivants : ST_Geometry ou géométrie PostGIS.

All feature classes have a business table, which stores attribute information, an ObjectID, and a Shape field. The ObjectID and Shape fields can have different names, but they are required to be in the business table of a feature class.

AstuceAstuce :

Annotation and dimension feature classes have additional required fields in their business tables. See Managing annotation feature class properties for a list of these fields.

Classes d'entités d'une base de données PostgreSQL utilisant le stockage ST_Geometry

Par défaut, les classes d'entités créées dans les géodatabases d'un système de gestion de base de données (SGBD) de type PostgreSQL utilisent le stockage ST_Geometry. Cela implique l'ajout d'une colonne ST_Geometry dans la table métier de la classe d'entités pour permettre le stockage de l'attribut spatial.

ST_Geometry est une superclasse abstraite non-instantiable, dont les sous-classes sont instantiables. Pour plus d'informations, reportez-vous à la rubrique Qu'est-ce que le type de stockage ST_Geometry ?

Lors de la création d'une classe d'entités à l'aide d'ArcGIS avec le stockage ST_Geometry, une table métier avec une colonne ST_Geometry est créée dans la structure du propriétaire. Par ailleurs, des enregistrements sont ajoutés aux tables sde_layers, sde_table_registry, sde_geometry_columns, sde_column_registry, sde_spatial_references (si une référence spatiale a été définie) et aux tables gdb_items dans la structure de l'utilisateur sde pour assurer le suivi des données concernant la classe d'entités. La table gdb_itemtypes de la structure de l'utilisateur sde définit le type de données, dans ce cas, une classe d'entités.

Suite au chargement de données, vous observerez plusieurs tables i et procédures mémorisées dans votre base de données. Ces procédures mémorisées et tables i permettent de générer les identifiants des entités pour les classes d'entités. Le nom des tables i contient un nombre. Ce nombre correspond à l'identifiant registration_id de la classe d'entités dans la table sde_table_registry. La modification de ces tables ou procédures mémorisées n'est pas prise en charge et fortement déconseillée.

View a diagram of a feature class using ST_Geometry storage in PostgreSQL.

RemarqueRemarque :

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

Les lignes pointillées indiquent des relations implicites entre les colonnes ; les traits pleins indiquent des relations explicites entre les colonnes.

Classes d'entités d'une base de données PostgreSQL utilisant la géométrie PostGIS

Si vous installez PostGIS et créez votre base de données à l'aide du modèle PostGIS, vous pouvez utiliser ses types textuel étendu connu (EWKT) et binaire étendu connu (EWKB) pour la création de classes d'entités. Dans ce cas, une colonne de géométrie est ajoutée à la table métier pour le stockage des géométries des entités. Dans la géodatabase, ce type de stockage de géométries est désigné par PG_GEOMETRY.

Par défaut, le paramètre GEOMETRY_STORAGE du mot-clé de configuration DEFAULTS de la table DBTUNE est défini sur ST_GEOMETRY. Si vous préférez le stockage PG_GEOMETRY pour la plupart des classes d'entités, vous pouvez définir le paramètre GEOMETRY_STORAGE du mot-clé DEFAULTS sur PG_GEOMETRY (utilisez la commande d'administration sdedbtune pour modifier la configuration des paramètres DBTUNE). Vous pouvez également spécifier le mot-clé PG_GEOMETRY lors de la création de classes d'entités avec ArcGIS ou avec les commandes ArcSDE. Lors de la création d'une classe d'entités à l'aide d'ArcGIS avec le stockage PG_GEOMETRY, une table métier avec une colonne de géométrie est créée dans la structure du propriétaire. Dans la structure SDE, les enregistrements sont ajoutés aux mêmes tables que les classes d'entités utilisant le stockage ST_GEOMETRY. De plus, un enregistrement est ajouté à la table geometry_columns dans la structure publique. Par conséquent, tout utilisateur qui crée des données avec le stockage PG_GEOMETRY doit disposer des privilèges SELECT, INSERT, UPDATE et DELETE pour la table public.geometry_columns.

AttentionAttention :

En l'absence de fonction PostGIS permettant de mettre à jour le nom de table stocké dans la table public.geometry_columns, il est impossible de renommer les classes d'entités créées avec le stockage PG_GEOMETRY. Le fait de renommer la classe d'entités laisserait un enregistrement orphelin dans la table public.geometry_storage.

View a diagram of a feature class using PostGIS geometry storage in PostgreSQL.

RemarqueRemarque :

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

Les lignes pointillées indiquent des relations implicites entre les colonnes ; les traits pleins indiquent des relations explicites entre les colonnes.

Pour plus d'informations sur le stockage de géométries PostGIS dans la géodatabase, reportez-vous à la rubrique ArcGIS et le type de géométrie PostGIS.

Classes d'entités stockées dans un document d'espace de travail XML

Les classes d'entités sont définies au sein des éléments DataElement. Les balises DataElement d'une classe d'entités sont définies sur le type esri:DEFeatureClass. Dans la classe d'entités DataElement, d'autres éléments définissent la classe d'entités, notamment les éléments Field, Domain, ConfigurationKeyword et SpatialReference.

   <DataElement xsi:type="esri:DEFeatureClass">
      <CatalogPath>/V=sde.DEFAULT/FC=stegageo.harley.parcels</CatalogPath> 
        <Name>stegageo.harley.parcels</Name> 
        <DatasetType>esriDTFeatureClass</DatasetType> 
        <DSID>13</DSID> 
        <Versioned>true</Versioned> 
        <CanVersion>true</CanVersion> 
        <HasOID>true</HasOID> 
        <OIDFieldName>objectid</OIDFieldName> 
        <Fields xsi:type="esri:Fields">
          <FieldArray xsi:type="esri:ArrayOfField">
            <Field xsi:type="esri:Field">
              <Name>objectid</Name> 
              <Type>esriFieldTypeOID</Type> 
              <IsNullable>false</IsNullable> 
              <Length>4</Length> 
              <Precision>10</Precision> 
              <Scale>0</Scale> 
              <Required>true</Required> 
              <Editable>false</Editable> 
              <AliasName>OBJECTID</AliasName> 
              <ModelName>OBJECTID</ModelName> 
            </Field>
 

Tous les autres éléments qui définissent la classe d'entités

</DataElement>

Rubriques connexes


7/10/2012