Redes geométricas en una geodatabase en PostgreSQL
Las redes geométricas son conjuntos de clases de entidad de línea (eje) y de punto (cruce) en un dataset de entidades que poseen una relación de conectividad. Las redes geométricas se utilizan para modelar una infraestructura, como líneas de servicio eléctrico y sistemas de alcantarilla.
Las tablas que se crean con una red dependen de que en la red existan giros.
Redes geométricas en ArcGIS Desktop
En el árbol de catálogo, los datasets de entidades que contienen redes geométricas se ven iguales hasta que se expande el dataset. Una vez que el dataset está expandido, se ve una red geométrica representada con el siguiente icono:
El nombre de una red geométrica en una geodatabase en PostgreSQL contiene el nombre de la base de datos, el nombre del propietario de la red geométrica y el nombre de la red geométrica misma.
Por ejemplo, una red geométrica, water_net, a cargo del usuario gdb, en una geodatabase llamada sdedb se especifica como sdedb.gdb.water_net en el árbol de catálogo.
Cuando se crea una red geométrica, se crea una clase de entidad de cruce huérfano dentro del dataset de entidades. El nombre de esta clase de entidad es el nombre de la red seguido por _Junctions.
Cualquier error que se encuentre al crear la red geométrica se ubica en la tabla de errores de construcción, que también se puede ver en el Catálogo. Esta tabla se denomina <nombre_red>_builderr. Si hubo errores al construir la red geométrica water_net, se creará una tabla llamada sdedb.gdb.water_net_builderr en la geodatabase.
Redes geométricas en una base de datos PostgreSQL
Las redes geométricas se rastrean en la tabla gdb_items. La tabla gdb_itemtypes almacena un valor que indica que el objeto es una red geométrica. La tabla gdb_itemrelationships almacena la información sobre cómo se relacionan la red y el dataset de entidades de la misma.
Además de estas tablas, las redes están compuestas por un conjunto de tablas de tamaños variados que se almacenan en el esquema del usuario que creó la red geométrica. El tamaño de estas tablas depende del tamaño de la red, por ejemplo, la cantidad de cruces y la cantidad de ejes puede afectar el tamaño de la red.
Hay 9 tablas fijas por red que están identificadas por la siguiente convención de nombres: N_<ID>_<descriptor de tabla>, en donde ID representa una ID de red lógica, la cual está almacenada en la definición de la red en la tabla gdb_items; por ejemplo, N_1_<descriptor de tabla>, N_2_<descriptor de tabla>.
El número real de tablas varía según los elementos que contenga la red. Se puede crear un máximo de 21 tablas para una red con giros y pesos.
Todas estas tablas están versionadas cuando la red misma está versionada.
Las siguientes tablas se crean siempre: n_<id>_desc, n_<id>_e<#>, n_<id>_estatus, n_<id>_etopo, n_<id>_flodir, n_<id>_jdesc, n_<id>_jstatus, n_<id>_jtopo, y n_<id>_props.
Las tablas N_<ID>_* se pueden ver en el DBMS pero no deben modificarse mediante SQL/aplicaciones de terceros, ya que esto podría dañar la red.
n_<id>_<>
Las tablas que comienzan con N_ en una geodatabase almacenan información sobre las redes.
n_<id>_desc
La tabla n_<id>_desc describe los elementos de una red. Esta es una tabla normalizada cuya cantidad de filas es igual a la cantidad de cruces y la cantidad de ejes en una red geométrica.
Tipo de campo |
Descripción |
¿Nulo? | |
---|---|---|---|
oid Nombre de campo |
integer |
El identificador único de un elemento en una red geométrica |
NO NULO |
userclassid |
integer |
El identificador de la clase de entidad a la que pertenece el elemento |
NO NULO |
userid |
integer |
El Id. de objeto de la entidad |
NO NULO |
usersubid |
integer |
El identificador de un elemento en una entidad; solo se aplica a entidades de eje complejo |
NO NULO |
elementtype |
smallint |
Un código que indica el tipo de elemento de red; ya sea 1 = cruce o 2 = eje |
NO NULO |
eid |
integer |
El identificador de elemento único del elemento de red; solo es único para el tipo de elemento de red |
NO NULO |
n_<id>_props
La tabla n_<id>_props contiene una descripción del resumen de las propiedades de red, tales como la cantidad de elementos y los valores EID máximos.
Nombre de campo |
Tipo de campo |
Descripción |
¿Nulo? |
---|---|---|---|
propertyid |
integer |
El identificador único de la propiedad de red |
NO NULO |
propertyname |
varchar(32) |
El nombre de la propiedad |
NO NULO |
propertyvalue |
integer |
El valor de la propiedad |
NO NULO |
Todas las tablas de red restantes contienen los mismos tipos y nombres de campo. Debajo de la definición de las tablas se describen los nombres de las tablas y aquello que rastrean.
Nombre de campo |
Tipo de campo |
Descripción |
¿Nulo? |
---|---|---|---|
oid |
integer |
El identificador único de la página bytea en la tabla |
NO NULO |
pagenumber |
integer |
El número de la página bytea en la tabla |
NO NULO |
pageblob |
bytea |
La descripción del elemento que describe la tabla, como borde y estado de borde |
- n_<id>_e<#>: describe los pesos de eje de red; # = 2, 3, 4 ó 5
- n_<id>_edesc: describe los ejes en una red
- n_<id>_estatus: describe el estado de cada eje junto con los estados eliminados y deshabilitados
- n_<id>_etopo: describe la conectividad o topología de eje de red
- n_<id>_flodir: describe la dirección del flujo de red
- n_<id>_j<#>: describe los pesos de cruce de red; # = 0 ó 1
- n_<id>_jdesc: describe los cruces de red
- n_<id>_jstatus: describe el estado de cada cruce de red junto con los estados eliminados y deshabilitados
- n_<id>_jtopo: describe la conectividad de los elementos de cruce con los elementos de eje
- n_<id>_jtopo2: describe la conectividad de los elementos de cruce con los elementos de eje cuando hay varios ejes conectados a un solo cruce
- n_<id>_t<#>*: describe los valores de peso de cada elemento de giro
- n_<id>_tdefn*: define cada elemento de giro mediante la enumeración de ejes y cruces que componen el giro
- n_<id>_tdefn2*: tabla de desbordamiento para la definición del elemento de giro; por ejemplo, si varios ejes componen un giro
- n_<id>_tdesc*: describe los giros en una red
- n_<id>_tstatus*: describe el estado de cada giro de red junto con los estados eliminados y deshabilitados
View a diagram of a geometric network in PostgreSQL.
Las líneas discontinuas indican relaciones implícitas entre las columnas.
Necesita Adobe Acrobat Reader para abrir el archivo.
Para obtener una descripción de la tabla de errores de creación, consulte Esquema de la tabla de Errores al construir la red.
Redes geométricas en un documento de espacio de trabajo XML
Para una red geométrica, los elementos de datos en un documento XML están enumerados como tipo GeometricNetwork. La siguiente es una parte del documento XML que se exportó desde un dataset de entidades que contiene una red geométrica:
<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>