PostgreSQL に格納されたネットワーク データセット
ネットワーク データセットは、接続性リレーションシップを持つフィーチャクラスのコレクションです。ネットワーク データセットは、道路中心線などのエッジ フィーチャクラス、踏切を含むポイント フィーチャクラスなどのジャンクション フィーチャクラス、およびターン フィーチャ ソースの 3 種類のソースに基づいて作成されます。ネットワーク データセットは交通網をモデリングするために使用されます。ネットワーク データセットを使用するには、ArcGIS Network Analyst エクステンションがインストールされている必要があります。
ArcGIS for Desktop のネットワーク データセット
カタログ ツリーでは、PostgreSQL にネットワーク データセットを含んでいるフィーチャ データセットは、データセットを展開するまではその他のデータセットと同じように表示されます。データセットを展開すると、ネットワーク データセットが次のアイコンで表示されます。
 
PostgreSQL のジオデータベース内のネットワークの名前には、データベース名、ネットワークの所有者名、ネットワークそのものの名前が含まれます。
たとえば、ジオデータベース「m16」で「hbear」に所有されているネットワーク データセット「road_network_nd」は、カタログ ツリーでは「m16.hbear.road_network_nd」として表示されます。
ネットワーク データセットを作成すると、システム ジャンクション フィーチャクラスも作成されます。このフィーチャクラスの名前は、ネットワーク データセット名の後に _Junctions が続きます。
PostgreSQL データベースのネットワーク データセット
ネットワーク データセットは gdb_items テーブルで管理されます。gdb_itemtypes テーブルには、そのオブジェクトがネットワーク データセットであることを示す値が格納されます。gdb_itemrelationships テーブルには、ネットワークとそれを含むフィーチャ データセットがどのように関連付けられているかを示す情報が格納されます。
次のテーブルも、ネットワーク データセットを所有するユーザのスキーマで作成されます。次にテーブル名を示します。
- n_<id>_desc:n_<id>_desc テーブルはネットワークのエレメントを定義します。これは正規化されたテーブルであり、行の数はジオメトリック ネットワークのジャンクション、エッジ、ターンの数と同じです。
- n_<id>_props:n_<id>_props テーブルにはエレメントの数や EID の最大値など、ネットワークのプロパティに関するサマリ情報が含まれています。
- n_<id>_topology:このテーブルにはすべてのトポロジの BLOB ページが格納されています。
- n_<id>_edgeweight:このテーブルには、エッジのウェイト値に対するすべての BLOB ページが格納されています。
- n_<id>_junctionweight:このテーブルには、ジャンクションのウェイト値に対するすべての BLOB ページが格納されています。
- n_<id>_turnweight:このテーブルには、ターンのウェイト値に対するすべての BLOB ページが格納されています。
- nd_<itemid>_dirtyareas:nd_<itemid>_dirtyareas テーブルには、ネットワーク内の編集された空間フィーチャに関する情報が格納されています。
- nd_<itemid>_dirtyobjects:nd_<itemid>_dirtyobjects テーブルには、ネットワーク データセット内の編集されたリレーショナル オブジェクトに関する情報が格納されています。
最初の 6 つのテーブルの名前に含まれている ID は、論理ネットワーク ID です。最後の 2 つのテーブルに含まれる itemID は、gdb_items テーブルの objectid です。
各テーブルの構造は次のとおりです。
n_<id>_desc テーブルには、ネットワーク データセット内のジャンクション エレメント、エッジ エレメント、ターン エレメントのそれぞれのアイテムが含まれています。
| フィールド名 | フィールド タイプ | 説明 | NULL? | 
|---|---|---|---|
| oid | integer | ネットワークのエレメントの一意な識別子 | NOT NULL | 
| userclassid | integer | エレメントが属しているフィーチャクラスの識別子。 | NOT NULL | 
| userid | integer | フィーチャの ObjectID。 | NOT NULL | 
| usersubid | integer | フィーチャのエレメントの識別子。コンプレックス エッジ フィーチャにのみ適用されます。 | NOT NULL | 
| elementtype | smallint | ネットワーク エレメントのタイプを示すコード: | NOT NULL | 
| eid | integer | ネットワーク エレメントの一意なエレメント ID。エレメント ID はそのタイプのネットワーク エレメントでのみ一意です。 | NOT NULL | 
n_<id>_props テーブルにはエレメントの数や EID の最大値など、ネットワークのプロパティに関するサマリ情報が含まれています。
| フィールド名 | フィールド タイプ | 説明 | NULL? | 
|---|---|---|---|
| propertyid | integer | The unique identifier of the network property | NOT NULL | 
| propertyname | varchar(32) | The name of the property | NOT NULL | 
| propertyvalue | integer | The value of the property | NOT NULL | 
nd_<itemid>_dirtyareas テーブルは、ネットワーク データセット内のどの空間フィーチャが編集されたかを追跡します。
| フィールド名 | フィールド タイプ | 説明 | NULL? | 
|---|---|---|---|
| objectid | integer | レコードの一意な ID | NOT NULL | 
| isretired | integer | このフィーチャがネットワーク データセットのダーティ エリアの追跡にまだ使用されているかどうかを示します。 | NOT NULL | 
| dirtyarea | st_geometry geometry | ダーティ エリアのポリゴン ジオメトリ。 | 
nd_<itemid>_dirtyobjects テーブルは、ネットワーク データセット内の編集されたリレーショナル オブジェクト(ターンや履歴交通量レコード)を追跡します。
| フィールド名 | フィールド タイプ | 説明 | NULL? | 
|---|---|---|---|
| objectid | integer | レコードの一意な ID | NOT NULL | 
| classid | integer | gdb_items テーブル内のダーティ オブジェクト アイテムの objectID。 | NOT NULL | 
| oid | integer | ダーティ オブジェクトのオブジェクト ID。 | NOT NULL | 
| updatetype | smallint | 結果がダーティ オブジェクトとなった編集の実行タイプ。挿入(0)、更新(1)、削除(2)。 | NOT NULL | 
残りのネットワーク テーブルではフィールド名とタイプはすべて同じです。これらの構造は次のとおりです。
| フィールド名 | フィールド タイプ | 説明 | NULL? | 
|---|---|---|---|
| oid | integer | テーブルの bytea ページの一意の識別子 | NOT NULL | 
| pagenumber | integer | テーブルの bytea ページの番号 | NOT NULL | 
| pageblob | bytea | エッジやエッジのステータスなど、テーブルが定義しているエレメントの説明 | |
| tableid | integer | n_<ID>_edgeweight、n_<ID>_turnweight、n_<ID>_junctionweight BLOB テーブルの場合、tableID は weightID です。n_<ID>_topology BLOB テーブルの場合、tableID は、GeoDatabase\GeoDatabase\Network\Network\TableDefs.h ファイルで定義されたトポロジ テーブルの配列内の元のテーブルの位置です。 | NOT NULL | 
次に、PostgreSQL のネットワーク データセットに関するダイアグラムを示します。
 
      
破線はテーブル間の暗黙的なリレーションシップを示しています。
ネットワークデータセットには、過去の走行速度の履歴に基づいて移動時間をモデリングしたり、ネットワーク解析に影響を与える可能性があるタイム ゾーンの変更を表すために、ネットワーク データセットの一部として使用できる追加のオプションのテーブルがあります。これらのテーブルは、ネットワーク データセットを作成する前に作成し、(ネットワークが構築されるフィーチャクラスと同じように)ユーザ スキーマに格納されている必要があります。テーブルの名前を指定します。これらの交通履歴およびタイム ゾーン テーブルの使用の詳細については、マニュアルの ArcGIS Network Analyst エクステンションをご参照ください。
XML ワークスペース ドキュメントのネットワーク データセット
ネットワーク データセットは論理ネットワークとしてタグ付けされます。次に示すのは RoadNetwork データセットからエクスポートされた XML ドキュメントの一部です。
<LogicalNetworkName>m16.hbear.RoadNetwork_ND</LogicalNetworkName> 
  <NetworkType>1</NetworkType> 
  <Buildable>true</Buildable> 
  <SupportsTurns>true</SupportsTurns> 
  <Properties xsi:nil="true" /> 
  <UserData xsi:nil="true" /> 
  <EdgeFeatureSources xsi:type="esri:ArrayOfEdgeFeatureSource">
    <EdgeFeatureSource xsi:type="esri:EdgeFeatureSource">
      <ID>1</ID> 
      <ClassID>1</ClassID> 
      <Name>m16.hbear.Streets</Name> 
      <ElementType>esriNETEdge</ElementType> 
      <Properties xsi:nil="true" /> 
      <FromElevationFieldName /> 
      <ToElevationFieldName /> 
        <Connectivity xsi:type="esri:PropertySet">
          <PropertyArray xsi:type="esri:ArrayOfPropertySetProperty">
            <PropertySetProperty xsi:type="esri:PropertySetProperty">
              <Key>Version</Key> 
              <Value xsi:type="xs:short">1</Value> 
            </PropertySetProperty>
            <PropertySetProperty xsi:type="esri:PropertySetProperty">
              <Key>UsesSubtypes</Key> 
              <Value xsi:type="xs:short">0</Value> 
            </PropertySetProperty>
            <PropertySetProperty xsi:type="esri:PropertySetProperty">
              <Key>ClassConnectivity</Key> 
              <Value xsi:type="xs:short">1</Value> 
            </PropertySetProperty>
            <PropertySetProperty xsi:type="esri:PropertySetProperty">
              <Key>SubtypeConnCount</Key> 
              <Value xsi:type="xs:int">0</Value> 
            </PropertySetProperty>
            <PropertySetProperty xsi:type="esri:PropertySetProperty">
              <Key>DefaultGroup</Key> 
              <Value xsi:type="xs:int">1</Value> 
            </PropertySetProperty>
            <PropertySetProperty xsi:type="esri:PropertySetProperty">
              <Key>GroupCount</Key> 
              <Value xsi:type="xs:int">0</Value> 
            </PropertySetProperty>
         </PropertyArray>
      </Connectivity>
    </EdgeFeatureSource>
  </EdgeFeatureSources>
  <JunctionFeatureSources xsi:type="esri:ArrayOfJunctionFeatureSource" /> 
    <SystemJunctionSources xsi:type="esri:ArrayOfSystemJunctionSource">
      <SystemJunctionSource xsi:type="esri:SystemJunctionSource">
        <ID>3</ID> 
        <ClassID>4</ClassID> 
        <Name>m16.hbear.RoadNetwork_ND_Junctions</Name> 
        <ElementType>esriNETJunction</ElementType> 
        <Properties xsi:nil="true" /> 
        <ElevationFieldName /> 
      </SystemJunctionSource>
    </SystemJunctionSources>
  <TurnFeatureSources xsi:type="esri:ArrayOfTurnFeatureSource">
    <TurnFeatureSource xsi:type="esri:TurnFeatureSource">
      <ID>2</ID> 
      <ClassID>2</ClassID> 
      <Name>m16.hbear.Turns</Name> 
      <ElementType>esriNETTurn</ElementType> 
      <Properties xsi:nil="true" /> 
    </TurnFeatureSource>
  </TurnFeatureSources>
  <EvaluatedNetworkAttributes xsi:type="esri:ArrayOfEvaluatedNetworkAttribute">
    <EvaluatedNetworkAttribute xsi:type="esri:EvaluatedNetworkAttribute">
      <ID>1</ID> 
      <Name>Oneway</Name> 
      <Units>Unknown</Units> 
      <DataType>esriNADTBoolean</DataType> 
      <UsageType>esriNAUTRestriction</UsageType> 
      <UserData xsi:nil="true" /> 
      <UseByDefault>true</UseByDefault> 
      <AttributeParameters xsi:type="esri:ArrayOfNetworkAttributeParameter" /> 
    </EvaluatedNetworkAttribute>
  </EvaluatedNetworkAttributes>