PostgreSQL に格納されたジオデータベースのジオメトリック ネットワーク
ジオメトリック ネットワークは接続性リレーションシップを持つフィーチャ データセットのライン(エッジ)フィーチャクラスとポイント(ジャンクション)フィーチャクラスのコレクションです。ジオメトリック ネットワークは、送電線や下水道などの設備をモデリングするために使用されます。
ネットワークとして作成されるテーブルは、ネットワークにターンがあるかどうかによって変わります。
ArcGIS for Desktop のジオメトリック ネットワーク
カタログ ツリーでは、ジオメトリック ネットワークを含んでいるフィーチャ データセットは、データセットを展開するまでは同じように表示されます。データセットを展開すると、ジオメトリック ネットワークが次のアイコンを使って示されます。
PostgreSQL に格納されているジオデータベースのジオメトリック ネットワーク名には、データベース名、ジオメトリック ネットワークの所有者の名前、およびジオメトリック ネットワーク自体の名前が含まれます。
たとえば、ユーザ「gdb」によって所有されている、ジオデータベース「sdedb」内のジオメトリック ネットワーク「water_net」は、カタログ ツリーに「sdedb.gdb.water_net」と表示されます。
ジオメトリック ネットワークを構築すると、フィーチャ データセットの内部に孤立ジャンクション フィーチャクラスが作成されます。このフィーチャクラスの名前は、_Junctions の前にあるネットワーク名です。
ジオメトリック ネットワークの作成時に発生するエラーは、構築エラー テーブルに格納されるだけでなく、カタログから参照することができます。このテーブルには <ネットワーク名>_builderr という名前が付けられます。water_net ジオメトリック ネットワークの構築時にエラーが発生した場合、sdedb.gdb.water_net_builderr という名前のテーブルがジオデータベース内に作成されます。
PostgreSQL データベースのジオメトリック ネットワーク
ジオメトリック ネットワークは gdb_items テーブルで追跡可能です。gdb_itemtypes テーブルには、オブジェクトがジオメトリック ネットワークであることを示す値が格納されます。gdb_itemrelationships テーブルには、ネットワークとそれを含むフィーチャ データセットがどのように関連付けられているかを示す情報が格納されます。
これらのテーブル以外にも、ジオメトリック ネットワークを作成したユーザのスキーマに格納されているさまざまなサイズのテーブル セットによって、ネットワークは構築されます。これらのテーブルのサイズはネットワークのサイズに依存します。たとえば、ジャンクションの数やエッジの数などがネットワーク サイズに影響します。
各ネットワークに固定のテーブルが 9 個あり、それらは N_<ID>_<table_descriptor> という命名規則によって識別されます。この場合、ID は gdb_items テーブルのネットワーク定義に格納されている論理ネットワーク ID を表します(N_1_<table_descriptor>、N_2_<table_descriptor> など)。
テーブルの実際の数は、ネットワークに含まれるエレメントによって決まります。ネットワークでは、ターンとウェイトに基づいて最大で 21 個のテーブルが作成されます。
ネットワーク自体がバージョン対応である場合は、これらのテーブルもすべてバージョン対応です。
テーブルn_<id>_desc、n_<id>_e<#>、n_<id>_estatus、n_<id>_etopo、n_<id>_flodir、n_<id>_jdesc、n_<id>_jstatus、n_<id>_jtopo、および n_<id>_props は必ず作成されます。
N_<ID>_* テーブルは DBMS では表示されますが、SQL やサードパーティ アプリケーションを使用して変更しないでください。ネットワークが破壊されるおそれがあります。
n_<id>_<>
名前が N_ で始まるジオデータベースのテーブルは、ネットワークに関する情報を格納します。
n_<id>_desc
n_<id>_desc テーブルはネットワークのエレメントを定義します。これは正規化されたテーブルであり、行の数はジオメトリック ネットワークのジャンクションの数およびエッジの数と同じです。
フィールド タイプ |
説明 |
NULL? | |
---|---|---|---|
oid フィールド名 |
integer |
ジオメトリック ネットワークのエレメントの一意な識別子。 |
NOT NULL |
userclassid |
integer |
エレメントが属しているフィーチャクラスの識別子。 |
NOT NULL |
userid |
integer |
フィーチャの ObjectID。 |
NOT NULL |
usersubid |
integer |
フィーチャのエレメントの識別子。コンプレックス エッジ フィーチャにのみ適用されます。 |
NOT NULL |
elementtype |
smallint |
ネットワーク エレメントのタイプを示すコード。1 = ジャンクションまたは 2 = エッジのいずれか。 |
NOT NULL |
eid |
integer |
ネットワーク エレメントの一意なエレメント ID。エレメント ID はそのタイプのネットワーク エレメントでのみ一意です。 |
NOT NULL |
n_<id>_props
n_<id>_props テーブルにはエレメントの数や EID の最大値など、ネットワークのプロパティに関するサマリ情報が含まれています。
フィールド名 |
フィールド タイプ |
説明 |
NULL? |
---|---|---|---|
propertyid |
integer |
ネットワーク プロパティの一意な ID |
NOT NULL |
propertyname |
varchar(32) |
プロパティの名前。 |
NOT NULL |
propertyvalue |
integer |
プロパティの値。 |
NOT NULL |
残りのネットワーク テーブルではフィールド名とタイプはすべて同じです。次に、テーブルの名前とそれらが管理する情報を示します。
フィールド名 |
フィールド タイプ |
説明 |
NULL? |
---|---|---|---|
oid |
integer |
テーブルの bytea ページの一意の識別子 |
NOT NULL |
pagenumber |
integer |
テーブルの bytea ページの番号 |
NOT NULL |
pageblob |
bytea |
エッジやエッジのステータスなど、テーブルが定義しているエレメントの説明 |
- n_<id>_e<#> - ネットワーク エッジのウェイト(# = 2、3 、4 または 5)を示します。
- n_<id>_edesc - ネットワークのエッジを示します。
- n_<id>_estatus - 削除状態や無効状態を含め、各エッジのステータスを示します。
- n_<id>_etopo - ネットワーク エッジ トポロジまたは接続性を示します。
- n_<id>_flodir - ネットワーク フローの方向を示します。
- n_<id>_j<#> - ネットワーク ジャンクションのウェイト(# = 0 または 1)を示します。
- n_<id>_jdesc - ネットワーク ジャンクションを示します。
- n_<id>_jstatus - 削除状態や無効状態を含め、各ネットワーク ジャンクションのステータスを示します。
- n_<id>_jtopo - ジャンクション エレメントとエッジ エレメントの接続性を示します。
- n_<id>_jtopo2 - 複数のエッジが 1 つのジャンクションに接続している場合のジャンクション エレメントとエッジ エレメントの接続性を示します。
- n_<id>_t<#>*- 各ターン エレメントのウェイト値を示します。
- n_<id>_tdefn*- ターンを構成するエッジとジャンクションのリストを示すことで、各ターン エレメントを定義します。
- n_<id>_tdefn2*- ターンが複数のエッジで構成される場合など、ターン エレメントを定義するオーバーフロー テーブル。
- n_<id>_tdesc*- ネットワークのターンを示します。
- n_<id>_tstatus*- 削除状態や無効状態を含め、各ネットワーク ターンのステータスを示します。
View a diagram of a geometric network in PostgreSQL.
破線はテーブル間の暗黙的なリレーションシップを示しています。
このファイルを開くには、Adobe Acrobat Reader が必要です。
構築エラー テーブルの詳細については、「ネットワーク構築エラー テーブルのスキーマ」をご参照ください。
XML ワークスペース ドキュメントのジオメトリック ネットワーク
ジオメトリック ネットワークの場合、XML ドキュメントのデータ エレメントは GeometricNetwork タイプとして定義されます。次に、ジオメトリック ネットワークが含まれたフィーチャ データセットからエクスポートした XML ドキュメントの一部を示します。
<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>