Jeux de données d'entité d'une géodatabase dans SQL Server
Les jeux de données d'entité sont des objets qui vous permettent de regrouper des classes d'entités associées afin qu'elles fassent partie d'une fonctionnalité spécifique. Ils permettent de regrouper notamment des classes d'entités dotées des caractéristiques suivantes :
- Elles sont stockées dans le même système de coordonnées.
- Elles font partie d'une topologie.
- Elles font partie d'une classe de relations.
- Elles font partie d'un réseau géométrique, d'un jeu de données réseau, d'un jeu de données schématique, d'un atelier parcellaire ou d'un jeu de données de MNT.
- Elles sont associées à des annotations liées à des entités.
Pour en savoir plus sur les différents composants des jeux de données d'entité dans SQL Server, utilisez les liens suivants :
Les sections suivantes décrivent l'apparence d'un jeu de données d'entité de l'arborescence du catalogue dans ArcGIS for Desktop, dans le système de gestion de bases de données (SGBD) et dans un document XML.
Jeux de données d'entité dans ArcGIS for Desktop
Dans l'arborescence du catalogue, les jeux de données d'entité sont représentés avec l'icône suivante :
Lorsque le jeu de données d'entité est développé dans l'arborescence du Catalogue, vous pouvez consulter l'ensemble des classes d'entités et autres objets de données qu'il comprend.
Le nom d'un jeu de données d'entité d'une géodatabase de Microsoft SQL Server contient le nom de la base de données, le nom du propriétaire du jeu et le nom du jeu même. Cela est illustré par l'exemple ci-dessus.
Jeux de données d'entité dans une base de données Microsoft SQL Server
Dans la base de données, les jeux de données d'entité sont des ensembles virtuels de classes d'entités. Ils sont regroupés par un identifiant de jeu de données commun, conservé dans la table système GDB_ITEMS.
Dans le cas de l'exemple de jeu de données d'entité Water, la classe d'entités Tanks est identifiée dans le cadre du jeu de données d'entité Water par le biais de la table GDB_ITEMRELATIONSHIPS. L'identificateur UUID du jeu de données d'entité est ORIGINID, et l'identificateur UUID de la classe d'entités est DESTID.
L'exemple suivant présente la table métier de la classe d'entités Tanks et les tables système qui suivent le jeu de données d'entité Water dans SQL Server :
Puisque les jeux de données d'entité sont des ensembles virtuels d'objets, les classes d'entités des jeux de données d'entité sont autonomes dans le sens qu'elles disposent d'enregistrements propres dans les tables associées aux classes d'entités telles que SDE_layers, SDE_table_registry, SDE_geometry_columns et SDE_column_registry. Les classes d'entités associées aux jeux de données d'entité étant des objets de base de données de plein droit, elles ne peuvent pas porter le même nom que d'autres tables ou classes d'entités autonomes dans la même structure de la base de données.
Reportez-vous aux rubriques Classes d'entités d'une géodatabase dans SQL Server pour consulter un diagramme illustrant les relations des classes d'entités dans la géodatabase.
Les topologies, réseaux géométriques, jeux de données réseau, ateliers parcellaires, jeux de données schématiques et jeux de données de MNT sont des objets de base de données supplémentaires qui peuvent faire partie d'un jeu de données d'entité. Ces objets utilisent des tables système supplémentaires, décrites dans d'autres rubriques.
Jeux de données d'entité dans un document XML
Dans un document XML, les jeux de données d'entité sont délimités par la balise DatasetDefinitions et définis par une balise DataElement de type esri:DEFeatureDataset. Les classes d'entités qui font partie du jeu de données d'entité sont répertoriées en tant qu'éléments de données enfants du jeu de données d'entité. Ces définitions d'élément sont suivies d'une définition du jeu de données d'entité. Les informations sur le jeu de données Water dans un document XML se présentent comme suit :
<DatasetDefinitions xsi: type="esri:ArrayOfDataElement">
<DataElement xsi:type="esri:DEFeatureDataset">
<CatalogPath>/V=dbo.DEFAULT/FD=mydgdb.MAP.Water</CatalogPath>
<Name>mydgdb.MAP.Water</Name>
<Children xsi:type="esri:ArrayOfDataElement">
<DataElement xsi:type="esri:DEFeatureClass">
<CatalogPath>/V=mydgdb.MAP.Water/RC=mydgdb.MAP.Anno_19_72</CatalogPath>
<Name>mydgdb.MAP.Anno_19_72</Name>
<DatasetType>esriDTFeatureClass</DatasetType>
<DSID>1</DSID>
<Versioned>false</Versioned>
<CanVersion>true</CanVersion>
<HasOID>false</HasOID>
<OIDFieldName/>
<Fields xsi:type="esri:Fields">
<FieldArray xsi:type="esri:ArrayOfField">
</Fields>
... et tous les autres éléments de données enfants…
</Children>
<DatasetType>esriDTFeatureDataset</DatasetType>
<DSID>-1</DSID>
<Versioned>false</Versioned>
<CanVersion>true</CanVersion>
<ConfigurationKeyword></Configuration Keyword>
<Extent xsi:type="esri:EnvelopeN">
<XMin>2210083.8332546502</XMin>
<YMin>386326.52300001681</YMin>
<XMax>2223761.6047394276</XMax>
<YMax>399843.09970059991</YMax>
<SpatialReference xsi:type"esri:ProjectedCoordinateSystem">
<WKT>PROJCS["NAD_1927_StatePlane_Colorado_North_FIPS_0501",
GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",
SPHERIOD["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0.0],
UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],
PARAMETER["False_Easting",2000000.0],PARAMETER["False_Northing",0.0],
PARAMETER["Centeral_Meridian",-105.5],PARAMETER["Stnadard_parallel_1",39.71666666666667],
PARAMETER["Standard_Parallel_2",40.78333333333333],
PARAMETER["Latitude_Of_Origin",39.333333333334],
UNIT["Foot_US",0.3048006096012192],AUTHORITY["EPSG",26753]]</WKT>
<XOrigin>-119259500</XOrigin>
<YOrigin>-96173400</YOrigin>
<XYScale>37140179.758043662</XYScale>
<ZOrigin>-100000</ZOrigin>
<ZScale>10000</ZScale>
<MOrigin>-100000</MOrigin>
<MScale>10000</MScale>
<XYTolerance>0.0032808333333333335</XYTolerance>
<ZTolerance>0.001</ZTolerance>
<MTolerance>0.001</MTolerance>
<HighPrecision>true</HighPrecision>
<WKID>26753</WKID>
</SpatialReference>
</Extent>
</DataElement>
</DatasetDefinitions>
Bien que la balise <Versioned> soit définie sur false pour le jeu de données d'entité, cela ne répercute pas l'état versionné des classes d'entités dans le jeu de données d'entité. Pour trouver cette information, interrogez chaque classe d'entités individuelle dans le jeu de données d'entité.