Réseaux géométriques d'une géodatabase dans PostgreSQL
Les réseaux géométriques sont des ensembles de classes d'entités lignes (tronçon) et points (jonction) d'un jeu de données d'entité qui possèdent une relation de connectivité. Les réseaux géométriques permettent de modéliser les infrastructures, telles que les lignes d'installation électrique et les systèmes d'égout.
Les tables créées avec un réseau diffèrent selon la présence ou l'absence de tournants dans le réseau.
Réseaux géométriques dans ArcGIS Desktop
Dans l'arborescence du catalogue, les jeux de données d'entité contenant des réseaux géométriques gardent la même apparence tant que vous n'avez pas développé le jeu de données. Une fois le jeu de données développé, vous voyez apparaître un réseau géométrique représenté avec l'icône suivante :
Le nom d'un réseau géométrique d'une géodatabase dans PostgreSQL contient le nom de la base de données, le nom du propriétaire du réseau et le nom du réseau même.
Par exemple, un réseau géométrique nommé water_net, dont le propriétaire est l'utilisateur gdb, dans une géodatabase nommée sdedb, apparaîtra sous la forme sdedb.gdb.water_net dans l'arborescence du catalogue.
Lors de la construction d'un réseau géométrique, une classe d'entités jonction orpheline est créée à l'intérieur du jeu de données d'entité. Le nom de cette classe d'entités correspond à celui du réseau, suivi de _Junctions.
Toute erreur détectée lors de la création du réseau géométrique est consignée dans la table d'erreurs de construction, visible également dans le catalogue. Cette table est nommée <nom_réseau>_builderr. Si des erreurs sont détectées lors de la construction du réseau géométrique water_net, une table nommée sdedb.gdb.water_net_builderr est créée dans la géodatabase.
Réseaux géométriques dans une base de données PostgreSQL
Les réseaux géométriques font l'objet d'un suivi dans la table gdb_items. La table gdb_itemtypes stocke une valeur qui indique que l'objet est un réseau géométrique. La table gdb_itemrelationships stocke des informations sur la relation entre le réseau et le jeu de données d'entité dans lequel il se trouve.
Outre ces tables, les réseaux sont composés d'un ensemble de tables de taille variable stocké dans la structure de l'utilisateur qui a créé le réseau géométrique. La taille de ces tables dépend de celle du réseau ; ainsi, le nombre de jonctions et le nombre de tronçons peuvent avoir une incidence sur la taille du réseau.
Il existe 9 tables fixes par réseau, identifiées avec la convention d'appellation N_<ID>_<descripteur_de_table>, où ID représente un identifiant réseau logique, stocké dans la définition de réseau de la table gdb_items ; par exemple N_1_<descripteur_de_table>, N_2_<descripteur_de_table>.
Le nombre réel de tables varie en fonction des éléments dont est constitué le réseau. Au maximum 21 tables peuvent être créées pour un réseau comprenant des tournants et des pondérations.
Toutes ces tables sont versionnées lorsque le réseau est lui-même versionné.
Les tables suivantes sont toujours créées : n_<id>_desc, n_<id>_e<#>, n_<id>_estatus, n_<id>_etopo, n_<id>_flodir, n_<id>_jdesc, n_<id>_jstatus, n_<id>_jtopo et n_<id>_props.
Les tables N_<ID>_* peuvent être affichées dans le SGBD, mais ne doivent pas être modifiées à l'aide d'applications SQL ou d'applications tierces car cela pourrait endommager le réseau.
n_<id>_<>
Les tables de la géodatabase qui commencent par N_ stockent des informations sur les réseaux.
n_<id>_desc
La table n_<id>_desc décrit les éléments d'un réseau. Il s'agit d'une table normalisée qui compte une ligne par jonction et par tronçon d'un réseau géométrique.
Type de champ |
Description |
Nul ? | |
---|---|---|---|
oid Nom du champ |
integer |
Identifiant unique d'un élément d'un réseau géométrique |
NOT NULL |
userclassid |
integer |
Identifiant de la classe d'entités à laquelle appartient l'élément |
NOT NULL |
userid |
integer |
ObjectID de l'entité |
NOT NULL |
usersubid |
integer |
Identifiant d'un élément dans une entité ; concerne uniquement les tronçons complexes |
NOT NULL |
elementtype |
smallint |
Code indiquant le type d'élément de réseau concerné ; 1 = jonction ou 2 = tronçon |
NOT NULL |
eid |
integer |
Identifiant d'élément unique de l'élément de réseau ; l'identifiant d'élément n'est unique que pour le type de l'élément de réseau |
NOT NULL |
n_<id>_props
La table n_<id>_props contient un résumé descriptif des propriétés d'un réseau, telles que le nombre d'éléments et les valeurs EID maximales.
Nom du champ |
Type de champ |
Description |
Nul ? |
---|---|---|---|
propertyid |
integer |
Identifiant unique de la propriété de réseau |
NOT NULL |
propertyname |
varchar(32) |
Nom de la propriété |
NOT NULL |
propertyvalue |
integer |
Valeur de la propriété |
NOT NULL |
Toutes les autres tables réseau contiennent les mêmes noms et types de champs. Les noms des tables et les suivis qu'elles assurent sont décrits sous les définitions des tables.
Nom du champ |
Type de champ |
Description |
Nul ? |
---|---|---|---|
oid |
integer |
Identifiant unique de la page bytea dans la table |
NOT NULL |
pagenumber |
integer |
Numéro de la page bytea dans la table |
NOT NULL |
pageblob |
bytea |
Description de l'élément que la table décrit ; par exemple, tronçon et état du tronçon |
- n_<id>_e<#> - Décrit le poids des tronçons du réseau, avec # = 2, 3, 4 ou 5
- n_<id>_edesc - Décrit les tronçons du réseau
- n_<id>_estatus - Décrit l'état de chaque tronçon du réseau, y compris les états de suppression et de désactivation
- n_<id>_etopo - Décrit la topologie ou la connectivité des tronçons du réseau
- n_<id>_flodir - Décrit le sens de circulation du réseau
- n_<id>_j<#> - Décrit le poids des jonctions du réseau, avec # = 0 ou 1
- n_<id>_jdesc - Décrit les jonctions du réseau
- n_<id>_jstatus - Décrit l'état de chaque jonction du réseau, y compris les états de suppression et de désactivation
- n_<id>_jtopo - Décrit la connectivité des éléments jonctions avec les éléments tronçons
- n_<id>_jtopo2 - Décrit la connectivité des éléments jonctions avec les éléments tronçons lorsqu'il y a plusieurs tronçons connectés à une même jonction
- n_<id>_t<#>* - Décrit les valeurs de pondération de chaque élément tournant
- n_<id>_tdefn* - Définit chaque élément tournant en répertoriant les tronçons et jonctions qui le composent
- n_<id>_tdefn2* - Table de débordement pour la définition des éléments tournants ; par exemple pour les tournants composés de plusieurs tronçons
- n_<id>_tdesc* - Décrit les tournants du réseau
- n_<id>_tstatus* - Décrit l'état de chaque tournant du réseau, y compris les états de suppression et de désactivation
View a diagram of a geometric network in PostgreSQL.
Les lignes pointillées indiquent les relations implicites entre colonnes.
Pour ouvrir le fichier, vous devez disposer de Adobe Acrobat Reader.
Pour obtenir une description de la table d'erreurs de construction, reportez-vous à la rubrique Structure de la table d'erreurs de construction de réseau.
Réseaux géométriques dans un document d'espace de travail XML
Pour un réseau géométrique, l'élément DataElement dans un document XML est listé en tant que type GeometricNetwork. Voici un extrait d'un document XML exporté d'un jeu de données d'entité contenant un réseau géométrique :
<DataElement xsi:type="esri:DEGeometricNetwork"> <CatalogPath>/V=sde.DEFAULT/FD=m6db.perrita.Electric/GN=m6db.perrita.Electric_Net</CatalogPath> <Name>m6db.perrita.Electric_Net</Name> <DatasetType>esriDTGeometricNetwork</DatasetType> <DSID>-1</DSID> <Versioned>false</Versioned> <CanVersion>true</CanVersion> <Extent xsi:type="esri:EnvelopeN"> <XMin>0</XMin> <YMin>0</YMin> <XMax>6229821.98995209</XMax> <YMax>2299265.90002099</YMax> <SpatialReference xsi:type="esri:ProjectedCoordinateSystem"> <WKT>PROJCS["NAD_1983_StatePlane_California_VI_FIPS_0406_Feet", GEOGCS["GCS_North_American_1983", DATUM["D_North_American_1983", SPHEROID["GRS_1980",6378137.0,298.257222101]], PRIMEM["Greenwich",0.0], UNIT["Degree",0.0174532925199433]], PROJECTION["Lambert_Conformal_Conic"], PARAMETER["False_Easting",6561666.666666666], PARAMETER["False_Northing",1640416.666666667], PARAMETER["Central_Meridian",-116.25], PARAMETER["Standard_Parallel_1",32.78333333333333], PARAMETER["Standard_Parallel_2",33.88333333333333], PARAMETER["Latitude_Of_Origin",32.16666666666666], UNIT["Foot_US",0.3048006096012192]]</WKT> <XOrigin>5937666.642992</XOrigin> <YOrigin>2016067.94250924</YOrigin> <XYScale>31249.9999708962</XYScale> <ZOrigin>0</ZOrigin> <ZScale>1</ZScale> <MOrigin>0</MOrigin> <MScale>1</MScale> <XYTolerance>6.56166666666667E-04</XYTolerance> <ZTolerance>0.00002</ZTolerance> <MTolerance>0.00002</MTolerance> <HighPrecision>true</HighPrecision> </SpatialReference> </Extent> <SpatialReference xsi:type="esri:ProjectedCoordinateSystem"> <WKT>PROJCS["NAD_1983_StatePlane_California_VI_FIPS_0406_Feet", GEOGCS["GCS_North_American_1983", DATUM["D_North_American_1983", SPHEROID["GRS_1980",6378137.0,298.257222101]], PRIMEM["Greenwich",0.0], UNIT["Degree",0.0174532925199433]], PROJECTION["Lambert_Conformal_Conic"], PARAMETER["False_Easting",6561666.666666666], PARAMETER["False_Northing",1640416.666666667], PARAMETER["Central_Meridian",-116.25], PARAMETER["Standard_Parallel_1",32.78333333333333], PARAMETER["Standard_Parallel_2",33.88333333333333], PARAMETER["Latitude_Of_Origin",32.16666666666666], UNIT["Foot_US",0.3048006096012192]]</WKT> <XOrigin>5937666.642992</XOrigin> <YOrigin>2016067.94250924</YOrigin> <XYScale>31249.9999708962</XYScale> <ZOrigin>0</ZOrigin> <ZScale>400000</ZScale> <MOrigin>0</MOrigin> <MScale>400000</MScale> <XYTolerance>6.56166666666667E-04</XYTolerance> <ZTolerance>0.00002</ZTolerance> <MTolerance>0.00002</MTolerance> <HighPrecision>true</HighPrecision> </SpatialReference> <NetworkType>esriNTUtilityNetwork</NetworkType> <OrphanJunctionFeatureClassName>m6db.perrita.Electric_Net_Junctions</OrphanJunctionFeatureClassName> <FeatureClassNames xsi:type="esri:Names"> <Name>m8db.perrita.Prime</Name> <Name>m8db.perrita.Secondary</Name> <Name>m8db.perrita.bridging</Name> <Name>m8db.perrita.circuit_bkr</Name> <Name>m8db.perrita.StreetLights</Name> <Name>m8db.perrita.meters</Name> <Name>m8db.perrita.switch</Name> <Name>m8db.perrita.transformers</Name> <Name>m8db.perrita.Tapwire</Name> <Name>m8db.perrita.Electric_Net_Junctions</Name> </FeatureClassNames> <ConnectivityRules xsi:type="esri:ArrayOfConnectivityRule" /> <NetworkWeights xsi:type="esri:ArrayOfNetWeight"> <NetWeight xsi:type="esri:NetWeight"> <WeightID>0</WeightID> <WeightName>switch</WeightName> <WeightType>esriWTInteger</WeightType> <BitGateSize>0</BitGateSize> </NetWeight> </NetworkWeights> <WeightAssociations xsi:type="esri:ArrayOfNetWeightAssociation"> <NetWeightAssociation xsi:type="esri:NetWeightAssociation"> <WeightID>0</WeightID> <TableName>m8db.perrita.switch</TableName> <FieldName>Status</FieldName> </NetWeightAssociation> </WeightAssociations> </DataElement>