Topologien in einer Geodatabase in DB2

Topologien sind Regeln, die Datenintegrität durchsetzen und das Verhalten von räumlich in Beziehung stehenden Feature-Classes verwalten. Eine Geodatabase-Topologie speichert Informationen zu den Feature-Classes der Topologie (die sich im selben Feature-Dataset befinden müssen), zur Cluster-Toleranz der Topologie, zur relativen Rangstufe jeder Feature-Class in der Topologie und eine Liste der Regeln für diese Topologie.

Weitere Informationen zu den Konzepten dieser Topologien finden Sie unter Grundlagen der Topologie und Topologie in ArcGIS.

Topologien in ArcGIS Desktop

Topologien im Kataloginhaltsverzeichnis werden unter dem Feature-Dataset angezeigt, in dem sich die beteiligten Feature-Classes befinden. Die Topologie wird mit folgendem Symbol dargestellt:

Topologiesymbol

Sie können anzeigen, welche Feature-Classes in einem Feature-Dataset an der Topologie beteiligt sind, indem Sie die Registerkarte "Feature-Classes" des Dialogfelds Eigenschaften: Topologie öffnen.

Das Dialogfeld 'Eigenschaften: Topologie'

Wenn Sie auf die Registerkarte "Regeln" klicken, werden die Regeln angezeigt, die für die Topologie gelten. Nachdem die Topologie überprüft wurde, können Sie auf der Registerkarte "Fehler" eine Liste der Fehler und Ausnahmen für jede Regel generieren.

Topologien in einer IBM DB2-Datenbank

Im DBMS werden Topologien in der Tabelle GDB_ITEMS gespeichert. Die mit der Topologie verknüpften Regeln werden in der Spalte DEFINITION gespeichert.

Wenn Sie eine Topologie überprüfen, werden die nicht überprüften Bereiche und Topologiefehler jeder Topologie in einem Satz von Tabellen im Schema des Benutzers gespeichert, der mit der Geodatabase verbunden ist. Dies sind die Tabellen T_<ID>_DIRTYAREAS, T_<ID>_LINEERRORS, T_<ID>_POINTERRORS und T_<ID>_POLYERRORS. Die ID im Tabellennamen entspricht der Topologie-ID im Feld DATASETSUBTYPE1 der Tabelle GDB_ITEMS. In jeder Fehlertabelle wird die verletzte Regel im Feld TOPORULEID gespeichert. Dieses Feld ist mit dem Feld col_iteminfo der Tabelle GDB_ITEMS verknüpft.

Im Folgenden finden Sie eine Definition der nicht überprüften Bereiche und Topologiefehlertabellen und ein Beispiel für die Topologietabellen, wie sie im DB2 angezeigt werden.

T_<ID>_DIRTYAREAS

Nicht überprüfte Bereiche der Topologie werden in der Geodatabase als Geometrien gespeichert. Sie werden in der Tabelle T_<ID>_DIRTYAREAS protokolliert.

T_<ID>_DIRTYAREAS

Diese Tabelle wird erstellt, wenn Sie eine Topologie überprüfen.

Feldname

Feldtyp

Beschreibung

Null?

OBJECTID

INTEGER

Eindeutige Kennung des nicht überprüften Flächen-Features in der Topologie

NOT NULL

ISRETIRED

INTEGER

Dieser Code gibt an, ob der nicht überprüfte Bereich die maximale Anzahl von Stützpunkten (250) erreicht hat.

Wenn diese Grenze erreicht wird, wird ein neues nicht überprüftes Flächen-Feature erstellt und das vorhandene entfernt. (Der Wert ändert sich in 1.)

0 = Max. Stützpunktgrenze noch nicht erreicht oder 1 = Max. Stützpunktgrenze

NOT NULL

DIRTYAREA

ST_MULTIPOLYGON

Feld "Shape"

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

Verletzungen der Topologieregeln werden als Fehler-Features dargestellt. Wie nicht überprüfte Bereiche werden diese Fehler-Features auch in separaten Topologiefehlertabellen gespeichert und verwaltet. Diese Tabellen weisen eine fast identische Schemadefinition auf. Die Ausnahme bilden die zusätzlichen Felder für den Shape-Typ des Topologiefehlers. Wie durch die Tabellennamen angegeben, speichern sie Informationen zu Topologiefehlern auf Grundlage des Feature-Typs, für den der Fehler aufgetreten ist – Linie, Punkt oder Polygon.

Diese Tabellen sind erst in der Datenbank vorhanden, wenn Sie eine Topologie überprüft haben.

Feldname

Feldtyp

Beschreibung

Null?

OBJECTID

INTEGER

Eindeutige ID des Topologiefehler-Features in der angegebenen Topologiefehler-Tabelle; Topologiefehler haben keine eindeutige ID in der Topologie, nur in ihrer jeweiligen Tabelle.

NOT NULL

ORIGINCLASSID

INTEGER

Objektklassen-ID der Ursprungs-Feature-Class

NOT NULL

ORIGINID

INTEGER

Feature-ID des Features aus der Ursprungs-Feature-Class, auf das sich der Topologiefehler bezieht

DESTCLASSID

INTEGER

Objektklassen-ID der Ziel-Feature-Class

DESTID

INTEGER

Feature-ID des Features aus der Ziel-Feature-Class, auf das sich der Topologiefehler bezieht.

TOPORULETYPE

INTEGER

Der Typ der Topologieregel; entspricht einem Wert aus der esriTopologyRuleType-Konstante

NOT NULL

TOPORULEID

INTEGER

Die ID der in der Spalte ITEMINFO der Tabelle GDB_ITEMS gespeicherten Topologieregel

NOT NULL

ISEXCEPTION

INTEGER

Ein Code, der angibt, ob der Topologiefehler als Ausnahme markiert wurde; 0 = Keine Ausnahme (Standard) 1 = Als Ausnahme markiert

NOT NULL

SHAPE

ST_MULTILINESTRING (für T_<ID>_LINEERRORS), ST_POINT (für T_<ID>_POINTERRORS) oder ST_MULTIPOLYGON (für T_<ID>_POLYERRORS)

Gibt den Shape-Typ an

Die nicht überprüften Bereiche und Topologiefehlertabellen werden im Schema des Benutzers erstellt, der die Topologie erstellt hat. Die andere Tabelle, eine Systemtabelle, wird im Schema des ArcSDE-Administrators gespeichert.

Unten finden Sie ein Diagramm der Tabellen für eine überprüfte Topologie:

Topologietabellen in DB2

Die gestrichelten Linien geben implizite Beziehungen zwischen Spalten an.

Topologien in einem XML-Dokument

Topologien sind Typen von Datasets. Deshalb werden sie in einem XML-Dokument unter einem DataElement-Tag des Typs "FeatureDataset" angezeigt. Die Topologieregeln sind eingeschlossen und werden mit einem TopologyRule-Tag gruppiert. Für die Topologie Landbase_Topology im Feature-Dataset Water sieht der Eintrag im XML-Dokument wie folgt aus:

<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>

Verwandte Themen


7/10/2012