PostgreSQL 中的网络数据集

网络数据集是具有连通性关系的要素类的集合。网络数据集可通过三种类型的源创建,即边要素源(如街道中心线)、交汇点要素源(如包含铁路交叉点的点要素类)以及转弯要素源。这些源可用于构建交通网的模型。要使用网络数据集,必须安装 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 表存储有关网络与其所在要素数据集之间的关联方式的信息。

在拥有该网络数据集的用户的方案中,还将创建下列各表。如下所示:

前六个表的名称中的 ID 为逻辑网络 ID。后两个表中的 itemID 为 gdb_items 表中的 objectid

表的结构如下:

n_<id>_desc

n_<id>_desc 表包含网络数据集中每个交汇点、边和转弯元素的项。

字段名

字段类型

描述

是否允许为空

oid

integer

网络中元素的唯一标识符

NOT NULL

userclassid

integer

元素所属要素类的标识符

NOT NULL

userid

integer

要素的 ObjectID

NOT NULL

usersubid

integer

要素中元素的标识符;仅适用于复杂边要素

NOT NULL

elementtype

smallint

指示网络元素类型的代码

NOT NULL

eid

integer

网络元素的唯一元素标识符;仅对网络元素类型是唯一的

NOT NULL

n_<id>_prop

n_<id>_props 表包含网络属性(如元素计数和最大 EID 值)的概要描述。

字段名

字段类型

描述

是否允许为空

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

nd_<itemid>_dirtyareas 表用于追踪网络数据集中的已编辑空间要素。

字段名

字段类型

描述

是否允许为空

objectid

integer

记录的唯一标识符

NOT NULL

isretired

integer

指示该要素是否仍然用于追踪网络数据集的脏区

NOT NULL

dirtyarea

st_geometry

geometry

脏区的多边形几何

nd_<itemID>_dirtyobjects

nd_<itemid>_dirtyobjects 表用于追踪网络数据集中的已编辑关系对象(例如,转弯和历史流量记录)。

字段名

字段类型

描述

是否允许为空

objectid

integer

记录的唯一标识符

NOT NULL

classid

integer

gdb_items 表中的脏对象项目的 objectID

NOT NULL

oid

integer

脏对象的对象 ID

NOT NULL

updatetype

smallint

执行的编辑类型 - 插入 (0)、更新 (1) 或删除 (2) - 从而导致产生脏对象

NOT 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 中的网络数据集:

PostgreSQL 中的网络数据集表

虚线表示各列之间的隐含关系。

您可将额外的可选表用作网络数据集的一部分,从而根据历史流量速度对行驶时间建模,或者指示出时区内可能影响网络分析的更改。这些表需要在创建网络数据集之前创建,并将存储在您的方案之中(与在创建者的方案中构建网络所基于的要素类相同)。您需要指定表的名称。有关使用这些历史流量表和时区表的详细信息,请参阅本文档的 ArcGIS Network Analyst 扩展模块部分。

XML 工作空间文档中的网络数据集

网络数据集被标记为逻辑网络。以下 XML 文档(通过从 RoadNetwork 数据集中导出而创建)中的摘录。

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

相关主题

5/10/2014