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 en lien avec un réseau diffèrent selon la présence de tournants dans le réseau.
Réseaux géométriques dans ArcGIS for 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 appelé water_net, dont le propriétaire est l'utilisateur gdb, dans une géodatabase nommée sdedb, apparaîtrait sous la forme sdedb.gdb.water_net dans l'arborescence du catalogue.
Lorsqu'un réseau géométrique est créé, une classe d'entités jonctions orphelines est créée à l'intérieur du jeu de données d'entités. Le nom de cette classe d'entités est celui du réseau, suivi de _Junctions.
Toutes les erreurs détectées à la création du réseau géométrique sont placées dans la table d'erreurs de construction de réseau, que vous pouvez également afficher dans le catalogue. Cette table est nommée < nom_réseau > _builderr. En cas d'erreur au moment de la création 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.
En plus de ces tables, les réseaux sont composés d'un ensemble de tables de tailles variables, stocké dans la structure de l'utilisateur qui a créé le réseau géométrique. La taille de ces tables dépend de la taille du réseau : par exemple, le nombre de jonctions et le nombre de tronçons peuvent affecter la taille du réseau.
Il existe 9 tables fixes par réseau, identifiées avec la convention d'appellation suivante : N_<ID>_<descripteur_de_table>, où ID représente un identifiant réseau logique, qui est stocké dans la définition des réseaux dans 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 contenus dans 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 la description de la table d'erreurs de construction de réseau, reportez-vous à la rubrique Structure de la table d'erreurs lors de la construction du 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>