Topologías en una geodatabase en DB2

Las topologías son reglas que aplican la integridad de datos y administran el comportamiento de las clases de entidad relacionadas espacialmente. Una topología de geodatabase almacena información sobre las clases de entidad (que deben estar en el mismo dataset de entidades) que participan en la topología, la tolerancia cluster asignada a la topología, la clasificación relativa de cada clase de entidad en la topología y una lista de reglas que se aplican a esa topología.

Para obtener más información sobre los conceptos relacionados con las topologías, consulteConceptos básicos de topología yTopología en ArcGIS.

Topologías en ArcGIS Desktop

En el árbol de catálogo, las topologías aparecen en el dataset de entidades en que residen las clases de entidad participantes. La topología está representada con el siguiente icono:

Icono de topología

Puede ver qué clases de entidad en una dataset de entidades participan en la topología si busca en la pestaña Clases de entidad del cuadro de diálogo Propiedades de topología.

El cuadro de diálogo Propiedades de topología

Si hace clic en la pestaña Reglas, se visualizan las reglas que se aplican a la topología. Una vez que la topología se valida, puede generar una lista de errores y excepciones para cada regla desde la pestaña Errores.

Topologías en una base de datos IBM DB2

En el DBMS, las topologías se almacenan en la tabla GDB_ITEMS. Las reglas asociadas a la topología se almacenan en la columna DEFINITION.

Cuando valida una topología, los errores de topología y las áreas sin validar que se encuentran y que están asociados con cada topología se almacenan en un conjunto de tablas en el esquema del usuario conectado a la geodatabase. Son las tablas T_<ID>_DIRTYAREAS, T_<ID>_LINEERRORS, T_<ID>_POINTERRORS y T_<ID>_POLYERRORS. El Id. en los nombres de tabla corresponde al Id. de topología en el campo DATASETSUBTYPE1 de la tabla GDB_ITEMS. Cada tabla de errores almacena la regla infringida en el campo TOPORULEID. El campo está vinculado al campo col_iteminfo de la tabla GDB_ITEMS.

Lo siguiente es una definición de las tablas de los errores de topología y las áreas sin validar, y un ejemplo de las tablas de topología como aparecen en DB2.

T_<ID>_DIRTYAREAS

Las áreas sin validar, o las partes sin validar de la topología, se almacenan en la geodatabase como geometrías. Se rastrean en la tabla T_<ID>_DIRTYAREAS.

T_<ID>_DIRTYAREAS

Esta tabla se crea cuando valida una topología.

Nombre de campo

Tipo de campo

Descripción

¿Nulo?

OBJECTID

INTEGER

Identificador único de la entidad del área sin validar en la topología

NOT NULL

ISRETIRED

INTEGER

Este código indica si el área sin validar ha alcanzado la cantidad máxima de vértices (250).

Cuando se alcanza ese límite, se crea una nueva entidad de área sin validar y se retira la existente (el valor cambia a 1).

0 = Aún no se alcanzó el límite máximo de vértices o 1 = Límite máximo de vértices

NOT NULL

DIRTYAREA

ST_MULTIPOLYGON

Campo de forma

T_<ID>_LINEERRORS, T_<ID>_POINTERRORS y T_<ID>_POLYERRORS

Las infracciones a las reglas de topología se representan como entidades de error. Como sucede con las áreas sin validar, estas entidades de error también se almacenan y se administran en tablas de error de topología separadas. Todas estas tablas comparten una definición de esquema casi idéntica, a excepción de los campos adicionales específicos al tipo de forma del error de topología. Como se indica en los nombres de tabla, almacenan información sobre los errores de topología basados en el tipo de entidad en la que ocurre el error: línea, punto o polígono.

Estas tablas no existen en la base de datos hasta que haya validado la topología.

Nombre de campo

Tipo de campo

Descripción

¿Nulo?

OBJECTID

INTEGER

ID único de la entidad de error de topología en la tabla de errores de topología especificada; los errores de topología no tienen ID únicos en la topología, sólo en sus tablas específicas.

NOT NULL

ORIGINCLASSID

INTEGER

ID de la clase de objeto de la clase de entidad de origen

NOT NULL

ORIGINID

INTEGER

ID de entidad de la entidad de la clase de entidad de origen que se relaciona con el error de topología

DESTCLASSID

INTEGER

Id. de clase de objeto de la clase de entidad de destino

DESTID

INTEGER

ID de entidad de la entidad de la clase de entidad de destino que se relaciona con el error de topología.

TOPORULETYPE

INTEGER

El tipo de regla topológica; corresponde a un valor de la constante esriTopologyRuleType

NOT NULL

TOPORULEID

INTEGER

El ID de la regla topológica almacenado en la columna ITEMINFO de la tabla GDB_ITEMS

NOT NULL

ISEXCEPTION

INTEGER

Un código que indica si el error de topología se marcó o no como excepción; 0 = No es una excepción (predeterminado) 1 = Marcado como excepción

NOT NULL

SHAPE

ST_MULTILINESTRING (para T_<ID>_LINEERRORS), ST_POINT (para T_<ID>_POINTERRORS) o ST_MULTIPOLYGON (para T_<ID>_POLYERRORS)

Indica el tipo de forma

Las tablas de los errores de topología y las áreas sin validar se crean en el esquema del usuario que creó la topología, a diferencia de la otra tabla, que es una tabla del sistema almacenada en el esquema del usuario administrador de ArcSDE.

El siguiente es un diagrama de las tablas de una topología validada:

Tablas de topología en DB2

Las líneas discontinuas indican relaciones implícitas entre las columnas.

Topologías en un documento XML

Las topologías son tipos de datasets, por lo que aparecen en un documento XML en una etiqueta DataElement del tipo FeatureDataset. Las reglas de topología están incluidas y agrupadas con una etiqueta TopologyRule. Para una topología, Landbase_Topology, en un dataset de entidades, Water, la entrada en el documento XML se muestra de la siguiente manera:

<DatasetDefinitions xsi:type="esri:ArrayOfDataElement"> <DataElement xsi:type="esri:DEFeatureDataset">     <CatalogPath>/V=sde.DEFAULT/FD=sde.RJP.Landbase</CatalogPath>      <Name>sde.RJP.Landbase</Name>    <Children xsi:type="esri:ArrayOfDataElement">     <DataElement xsi:type="esri:DETopology">           <CatalogPath>/V=sde.DEFAULT/FD=sde.RJP.Landbase/TOPO=sde.RJP.Landbase_Topology</CatalogPath>          <Name>sde.RJP.Landbase_Topology</Name>          <DatasetType>esriDTTopology</DatasetType>          <DSID>-1</DSID>          <Versioned>true</Versioned>          <CanVersion>true</CanVersion>        <Extent xsi:type="esri:EnvelopeN">            <XMin>503924.656249088</XMin>             <YMin>680110.56250334</YMin>             <XMax>512514.562497088</XMax>             <YMax>689084.187511697</YMax>          <SpatialReference xsi:type="esri:ProjectedCoordinateSystem">   <WKT>PROJCS["NAD_1927_StatePlane_Alabama_East_FIPS_0101", GEOGCS["GCS_North_American_1927", DATUM["D_North_American_1927", SPHEROID["Clarke_1866",6378206.4,294.9786982]], PRIMEM["Greenwich",0.0], UNIT["Degree",0.0174532925199433]], PROJECTION["Transverse_Mercator"], PARAMETER["False_Easting",500000.0], PARAMETER["False_Northing",0.0], PARAMETER["Central_Meridian",-85.83333333333333], PARAMETER["Scale_Factor",0.99996], PARAMETER["Latitude_Of_Origin",30.5], UNIT["Foot_US",0.3048006096012192]]</WKT>               <XOrigin>489871.255812</XOrigin>               <YOrigin>665787.099562</YOrigin>               <XYScale>499999.999534338</XYScale>               <ZOrigin>0</ZOrigin>               <ZScale>1</ZScale>               <MOrigin>0</MOrigin>               <MScale>1</MScale>               <XYTolerance>6.56166666666667E-04</XYTolerance>               <ZTolerance>2</ZTolerance>               <MTolerance>2</MTolerance>               <HighPrecision>true</HighPrecision>            </SpatialReference>        </Extent>      <SpatialReference xsi:type="esri:ProjectedCoordinateSystem">   <WKT>PROJCS["NAD_1927_StatePlane_Alabama_East_FIPS_0101",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-85.83333333333333],PARAMETER["Scale_Factor",0.99996],PARAMETER["Latitude_Of_Origin",30.5],UNIT["Foot_US",0.3048006096012192]]</WKT>               <XOrigin>489871.255812</XOrigin>               <YOrigin>665787.099562</YOrigin>               <XYScale>499999.999534338</XYScale>               <ZOrigin>0</ZOrigin>               <ZScale>8192</ZScale>               <MOrigin>0</MOrigin>               <MScale>8192</MScale>               <XYTolerance>6.56166666666667E-04</XYTolerance>               <ZTolerance>2</ZTolerance>               <MTolerance>2</MTolerance>               <HighPrecision>true</HighPrecision>        </SpatialReference>       <ClusterTolerance>0.5</ClusterTolerance>        <ZClusterTolerance>-1</ZClusterTolerance>        <MaxGeneratedErrorCount>-1</MaxGeneratedErrorCount>      <FeatureClassNames xsi:type="esri:Names">          <Name>sde.RJP.Blocks</Name>           <Name>sde.RJP.Parcels</Name>        </FeatureClassNames>     <TopologyRules xsi:type="esri:ArrayOfTopologyRule">       <TopologyRule xsi:type="esri:TopologyRule">            <HelpString />             <RuleID>183</RuleID>             <Name />             <GUID>7D3E7075-16CF-47AD-A8F4-842B921B1E1E</GUID>             <TopologyRuleType>esriTRTAreaNoOverlap</TopologyRuleType>             <OriginClassID>100</OriginClassID>             <OriginSubtype>0</OriginSubtype>             <DestinationClassID>100</DestinationClassID>             <DestinationSubtype>0</DestinationSubtype>             <TriggerErrorEvents>false</TriggerErrorEvents>             <AllOriginSubtypes>true</AllOriginSubtypes>             <AllDestinationSubtypes>true</AllDestinationSubtypes>          </TopologyRule>       <TopologyRule xsi:type="esri:TopologyRule">            <HelpString />             <RuleID>184</RuleID>             <Name />             <GUID>6F58891D-5BD9-4848-802E-90458152B0CE</GUID>             <TopologyRuleType>esriTRTAreaCoveredByArea</TopologyRuleType>             <OriginClassID>100</OriginClassID>             <OriginSubtype>1</OriginSubtype>             <DestinationClassID>98</DestinationClassID>             <DestinationSubtype>1</DestinationSubtype>             <TriggerErrorEvents>false</TriggerErrorEvents>             <AllOriginSubtypes>false</AllOriginSubtypes>             <AllDestinationSubtypes>false</AllDestinationSubtypes>          </TopologyRule>     </TopologyRules> </DataElement>

Temas relacionados


3/6/2012