Topologies in a geodatabase in Informix
トポロジとはデータ整合性を適用し、空間的に関連するフィーチャクラスの振舞いを管理するためのルールです。ジオデータベース トポロジはトポロジに属するフィーチャクラス(同じフィーチャ データセットに含まれている必要があります)、トポロジに割り当てられるクラスタ許容値、トポロジでの各フィーチャクラスの相対ランク、トポロジに適用されるルールのリストに関する情報を格納します。
トポロジ関連の概念の詳細については、「トポロジの基礎」と「ArcGIS のトポロジ」をご参照ください。
Topologies in ArcGIS for Desktop
カタログ ツリーのトポロジは、トポロジに属するフィーチャクラスが含まれているフィーチャ データセットの下に表示されます。トポロジは次のアイコンで表されます。
[トポロジ プロパティ] ダイアログ ボックスの [フィーチャクラス] タブをみると、フィーチャ データセットのどのフィーチャクラスがトポロジに属しているかが確認できます。
[ルール] タブをクリックすると、トポロジに適用されるルールが表示されます。トポロジを整合チェックした後、[エラー] タブで各ルールのエラーと例外のリストを生成することができます。
Topologies in an IBM Informix database
DBMS では、トポロジは gdb_items テーブルに格納されます。トポロジに関連付けられたルールは definition 列に格納されます。
トポロジ整合チェックを実行すると、各トポロジで検出されたダーティ エリアとトポロジ エラーが、ジオデータベースに接続しているユーザのスキーマで一連のテーブルに格納されます。これらは、t_<id>_dirtyareas、t_<id>_lineerrors、t_<id>_pointerrors、t_<id>_polyerrors の各テーブルです。テーブル名に含まれている ID は、gdb_items テーブルの datasetsubtype1 フィールドのトポロジ ID に相当します。各エラー テーブルは違反したルールを toporuleid フィールドに格納します。このフィールドは、gdb_items テーブルの col_iteminfo フィールドにリンクされています。
次に、Informix でのダーティ エリア テーブルとトポロジ エラー テーブルの定義とトポロジ テーブルの例を示します。
t_<id>_dirtyareas
このテーブルは、トポロジの整合チェックを実行したときに作成されます。
Field name |
Field type |
Description |
Null? |
---|---|---|---|
objectid |
integer |
トポロジのダーティ エリア フィーチャの一意な ID |
NOT NULL |
isretired |
integer |
このコードは、ダーティ エリアが頂点の最大数(250)に達したかどうかを示します。 この制限に達すると、新しいダーティ エリア フィーチャが作成され、既存のダーティ エリア フィーチャは使用されなくなります(値が 1 に変わります)。 0 = 頂点の最大数にまだ達していない、1 = 頂点の最大数 |
|
dirtyarea |
st_multipolygon |
Shape フィールド |
t_<id>_lineerrors, t_<id>_pointerrors, and t_<id>_polyerrors
トポロジ ルールへの違反はエラー フィーチャとして表されます。ダーティ エリアの場合と同様に、これらのエラー フィーチャも個別のトポロジ エラー テーブルに格納され、そこで管理されます。これらのテーブルはほぼ同じスキーマ定義を共有しますが、トポロジ エラーのシェープ タイプ固有の追加フィールドがあります。テーブル名が示しているように、それらはエラーが発生したフィーチャのタイプ(ライン、ポイント、ポリゴン)に基づいて、トポロジ エラーに関する情報を格納します。
これらのテーブルは、トポロジの整合チェックを行っていない場合、データベースに存在しません。
Field name |
Field type |
Description |
Null? |
---|---|---|---|
objectid |
Int |
Unique ID of the topology error feature in the specified topology error table Topology errors do not have unique IDs in the topology, only in their specific table. |
|
originclassid |
Int |
Object class ID of the origin feature class |
|
originid |
Int |
Feature ID of the feature from the origin feature class that is related to the topology error |
|
destclassid |
Int |
Object class ID of the destination feature class |
|
destid |
Int |
Feature ID of the feature from the destination feature class that is related to the topology error |
|
toporuletype |
Int |
The type of topology rule; corresponds to a value from the esriTopologyRuleType constant |
|
toporuleid |
Int |
The ID of the topology rule stored in the iteminfo column of the gdb_items table |
|
isexception |
Int |
A code that indicates whether the topology error has been marked as an exception.
|
|
shape |
|
Indicates shape type |
ダーティ エリア テーブルとトポロジ エラー テーブルは、他のテーブル(ジオデータベース管理者ユーザのスキーマに格納されたシステム テーブル)とは異なり、トポロジを作成したユーザのスキーマに作成されます。
次に、整合チェックされたトポロジのテーブルの図を示します。
破線はテーブル間の暗黙的なリレーションシップを示しています。
Topologies in an XML document
トポロジはデータセットに分類されるため、XML ドキュメントの FeatureDataset タイプの DataElement タグの下に定義されます。トポロジ ルールは TopologyRule タグで追加され、グループ化されます。フィーチャ データセット Water のトポロジ landbase_rel_topology の場合、XML ドキュメントのエントリは次のようになります。
<DatasetDefinitions xsi:type="esri:ArrayOfDataElement">
<DataElement xsi:type="esri:DEFeatureDataset">
<CatalogPath>/V=sde.DEFAULT/FD=sde92:vtest.landbase_rel</CatalogPath>
<Name>sde92:vtest.landbase_rel</Name>
<Children xsi:type="esri:ArrayOfDataElement">
<DataElement xsi:type="esri:DETopology">
<CatalogPath>/V=sde.DEFAULT/FD=sde92:vtest.landbase_rel/TOPO=sde92:vtest.landbase_rel_Topology</CatalogPath>
<Name>sde92:vtest.landbase_rel_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>