SQL Server 中的网络数据集
网络数据集是具有连通性关系的要素类的集合。网络数据集可通过三种类型的源创建,即边要素源(如街道中心线)、交汇点要素源(如包含铁路交叉点的点要素类)以及转弯要素源。这些源可用于构建交通网的模型。要使用网络数据集,必须安装 ArcGIS Network Analyst 扩展模块。
ArcGIS Desktop 中的网络数据集
在目录树中,包含 SQL Server 中网络数据集的要素数据集在展开之前,外观没有什么异样。在展开数据集后,网络数据集将用以下图标来表示:
SQL Server 中地理数据库中网络的名称包含数据库名称、网络所有者的名称及网络本身的名称。
例如,如果网络数据集 roads_nd 为 RJP 所有并且位于地理数据库 sdedb 中,则它将以 sdedb.RJP.roads_nd 形式列出在目录树中。
创建网络数据集时,还会创建系统交汇点要素类。该要素类的名称是在网络数据集的名称后面附加 _Junctions。
Microsoft SQL Server 数据库中的网络数据集
在 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 表存储有关网络数据集中已编辑关系对象的信息。
前六个表的名称中的 ID 为逻辑网络 ID。后两个表中的 itemID 为 GDB_ITEMS 表中的 ObjectID。
表的结构如下:
N_<ID>_Desc 表包含网络数据集中每个交汇点、边和转弯元素的项。
字段名 |
字段类型 |
描述 |
是否允许空值 |
---|---|---|---|
OID |
integer |
网络中元素的唯一标识符 |
非空 |
userclassid |
smallint |
元素所属要素类的标识符 |
非空 |
userid |
integer |
要素的 ObjectID |
非空 |
usersubid |
integer |
要素中元素的标识符;仅适用于复杂边要素 |
非空 |
elementtype |
smallint |
指示网络元素类型的代码 |
非空 |
EID |
integer |
网络元素的唯一元素标识符;仅对网络元素类型唯一 |
非空 |
N_<ID>_PROPS 表包含网络属性(如元素计数和最大 EID 值)的概要描述。
字段名 |
字段类型 |
描述 |
是否允许空值 |
---|---|---|---|
propertyid |
integer |
The unique identifier of the network property |
NOT NULL |
propertyname |
nvarchar(32) |
The name of the property |
NOT NULL |
propertyvalue |
integer |
The value of the property |
NOT NULL |
ND_<ITEMID>_DIRTYAREAS 表用于追踪网络数据集中的已编辑空间要素。
字段名 | 字段类型 | 描述 | 是否允许空值 |
---|---|---|---|
objectid | integer | 记录的唯一标识符 | 非空 |
isretired | integer | 指示该要素是否仍然用于追踪网络数据集的脏区 | 非空 |
dirtyarea | integer geometry geography | 脏区的多边形几何 |
ND_<ITEMID>_DIRTYOBJECTS 表用于追踪网络数据集中的已编辑关系对象(例如,转弯和历史流量记录)。
字段名 | 字段类型 | 描述 | 是否允许空值 |
---|---|---|---|
objectid | integer | 记录的唯一标识符 | 非空 |
classid | integer | GDB_ITEMS 表中的脏对象项目的 objectID | 非空 |
OID | integer | 脏对象的对象 ID | 非空 |
updatetype | smallint | 执行的编辑类型 - 插入 (0)、更新 (1) 或删除 (2) - 从而导致产生脏对象 | 非空 |
其余的所有网络表均包含相同的字段名和字段类型。这些表的结构如下:
字段名 |
字段类型 |
描述 |
是否允许空值 |
---|---|---|---|
OID |
integer |
表中 varbinarymax 页的唯一 ID |
非空 |
pagenumber |
integer |
表中 varbinarymax 页的页码 |
非空 |
pageblob |
varbinary(max) |
对表所描述的元素(如边和边状态)进行说明 | |
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 文件中所定义的拓扑表数组内原始表的位置。 |
非空 |
下图显示的是 SQL Server 中的网络数据集:
虚线表示各列之间的隐含关系。
您可将额外的可选表用作网络数据集的一部分,从而根据历史流量速度对行驶时间建模,或者指示出时区内可能影响网络分析的更改。这些表需要在创建网络数据集之前创建,并将存储在您的方案之中(与在创建者的方案中构建网络所基于的要素类相同)。您需要指定表的名称。请参阅本文档的“网络分析”部分,获得有关使用这些历史流量表和时区表的详细信息。
XML 工作空间文档中的网络数据集
以下是从 XML 文档(通过从网络数据集中导出而创建)中摘录的一部分内容。以下列出了边和交汇点元素的属性:
<EdgeFeatureSources xsi:type="esri:ArrayOfEdgeFeatureSource"> <EdgeFeatureSource xsi:type="esri:EdgeFeatureSource"> <ID>1</ID> <ClassID>99</ClassID> <Name>sdedb.RJP.Road_cl</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>2</ID> <ClassID>1683</ClassID> <Name>sdedb.RJP.Roads_ND_Junctions</Name> <ElementType>esriNETJunction</ElementType> <Properties xsi:nil="true" /> <ElevationFieldName /> </SystemJunctionSource> </SystemJunctionSources> <TurnFeatureSources xsi:type="esri:ArrayOfTurnFeatureSource" /> <EvaluatedNetworkAttributes xsi:type="esri:ArrayOfEvaluatedNetworkAttribute"> <EvaluatedNetworkAttribute xsi:type="esri:EvaluatedNetworkAttribute"> <ID>1</ID> <Name>speed</Name> <Units>Unknown</Units> <DataType>esriNADTBoolean</DataType> <UsageType>esriNAUTRestriction</UsageType> <UserData xsi:nil="true" /> <UseByDefault>true</UseByDefault> <AttributeParameters xsi:type="esri:ArrayOfNetworkAttributeParameter" /> </EvaluatedNetworkAttribute> <EvaluatedNetworkAttribute xsi:type="esri:EvaluatedNetworkAttribute"> <ID>2</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> <EvaluatedNetworkAttribute xsi:type="esri:EvaluatedNetworkAttribute"> <ID>3</ID> <Name>timeofday</Name> <Units>Unknown</Units> <DataType>esriNADTInteger</DataType> <UsageType>esriNAUTCost</UsageType> <UserData xsi:nil="true" /> <UseByDefault>true</UseByDefault> <AttributeParameters xsi:type="esri:ArrayOfNetworkAttributeParameter" /> </EvaluatedNetworkAttribute> </EvaluatedNetworkAttributes> <NetworkAssignments xsi:type="esri:ArrayOfNetworkAssignment"> <NetworkAssignment xsi:type="esri:NetworkAssignment"> <IsDefault>true</IsDefault> <ID>-1</ID> <NetworkAttributeName>speed</NetworkAttributeName> <NetworkElementType>esriNETJunction</NetworkElementType> <NetworkEvaluatorCLSID>{318C4B91-F5D2-467A-996C-0AB51B0D8FF2}</NetworkEvaluatorCLSID> <NetworkEdgeDirection>esriNEDNone</NetworkEdgeDirection> <NetworkEvaluatorData 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>ConstantValue</Key> <Value xsi:type="xs:boolean">false</Value> </PropertySetProperty> </PropertyArray> </NetworkEvaluatorData> </NetworkAssignment> <NetworkAssignment xsi:type="esri:NetworkAssignment"> <IsDefault>true</IsDefault> <ID>-1</ID> <NetworkAttributeName>speed</NetworkAttributeName> <NetworkElementType>esriNETEdge</NetworkElementType> <NetworkEvaluatorCLSID>{318C4B91-F5D2-467A-996C-0AB51B0D8FF2}</NetworkEvaluatorCLSID> <NetworkEdgeDirection>esriNEDNone</NetworkEdgeDirection> <NetworkEvaluatorData 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>ConstantValue</Key> <Value xsi:type="xs:boolean">false</Value> </PropertySetProperty> </PropertyArray> </NetworkEvaluatorData> </NetworkAssignment> <NetworkAssignment xsi:type="esri:NetworkAssignment"> <IsDefault>true</IsDefault> <ID>-1</ID> <NetworkAttributeName>speed</NetworkAttributeName> <NetworkElementType>esriNETTurn</NetworkElementType> <NetworkEvaluatorCLSID>{318C4B91-F5D2-467A-996C-0AB51B0D8FF2}</NetworkEvaluatorCLSID> <NetworkEdgeDirection>esriNEDNone</NetworkEdgeDirection> <NetworkEvaluatorData 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>ConstantValue</Key> <Value xsi:type="xs:boolean">false</Value> </PropertySetProperty> </PropertyArray> </NetworkEvaluatorData> </NetworkAssignment> <NetworkAssignment xsi:type="esri:NetworkAssignment"> <IsDefault>true</IsDefault> <ID>-1</ID> <NetworkAttributeName>oneway</NetworkAttributeName> <NetworkElementType>esriNETJunction</NetworkElementType> <NetworkEvaluatorCLSID>{318C4B91-F5D2-467A-996C-0AB51B0D8FF2}</NetworkEvaluatorCLSID> <NetworkEdgeDirection>esriNEDNone</NetworkEdgeDirection> <NetworkEvaluatorData 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>ConstantValue</Key> <Value xsi:type="xs:boolean">false</Value> </PropertySetProperty> </PropertyArray> </NetworkEvaluatorData> </NetworkAssignment> <NetworkAssignment xsi:type="esri:NetworkAssignment"> <IsDefault>true</IsDefault> <ID>-1</ID> <NetworkAttributeName>oneway</NetworkAttributeName> <NetworkElementType>esriNETEdge</NetworkElementType> <NetworkEvaluatorCLSID>{318C4B91-F5D2-467A-996C-0AB51B0D8FF2}</NetworkEvaluatorCLSID> <NetworkEdgeDirection>esriNEDNone</NetworkEdgeDirection> <NetworkEvaluatorData 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>ConstantValue</Key> <Value xsi:type="xs:boolean">false</Value> </PropertySetProperty> </PropertyArray> </NetworkEvaluatorData> </NetworkAssignment> <NetworkAssignment xsi:type="esri:NetworkAssignment"> <IsDefault>true</IsDefault> <ID>-1</ID> <NetworkAttributeName>oneway</NetworkAttributeName> <NetworkElementType>esriNETTurn</NetworkElementType> <NetworkEvaluatorCLSID>{318C4B91-F5D2-467A-996C-0AB51B0D8FF2}</NetworkEvaluatorCLSID> <NetworkEdgeDirection>esriNEDNone</NetworkEdgeDirection> <NetworkEvaluatorData 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>ConstantValue</Key> <Value xsi:type="xs:boolean">false</Value> </PropertySetProperty> </PropertyArray> </NetworkEvaluatorData> </NetworkAssignment> <NetworkAssignment xsi:type="esri:NetworkAssignment"> <IsDefault>true</IsDefault> <ID>-1</ID> <NetworkAttributeName>timeofday</NetworkAttributeName> <NetworkElementType>esriNETJunction</NetworkElementType> <NetworkEvaluatorCLSID>{318C4B91-F5D2-467A-996C-0AB51B0D8FF2}</NetworkEvaluatorCLSID> <NetworkEdgeDirection>esriNEDNone</NetworkEdgeDirection> <NetworkEvaluatorData 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>ConstantValue</Key> <Value xsi:type="xs:int">0</Value> </PropertySetProperty> </PropertyArray> </NetworkEvaluatorData> </NetworkAssignment> <NetworkAssignment xsi:type="esri:NetworkAssignment"> <IsDefault>true</IsDefault> <ID>-1</ID> <NetworkAttributeName>timeofday</NetworkAttributeName> <NetworkElementType>esriNETEdge</NetworkElementType> <NetworkEvaluatorCLSID>{318C4B91-F5D2-467A-996C-0AB51B0D8FF2}</NetworkEvaluatorCLSID> <NetworkEdgeDirection>esriNEDNone</NetworkEdgeDirection> <NetworkEvaluatorData 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>ConstantValue</Key> <Value xsi:type="xs:int">0</Value> </PropertySetProperty> </PropertyArray> </NetworkEvaluatorData> </NetworkAssignment> <NetworkAssignment xsi:type="esri:NetworkAssignment"> <IsDefault>true</IsDefault> <ID>-1</ID> <NetworkAttributeName>timeofday</NetworkAttributeName> <NetworkElementType>esriNETTurn</NetworkElementType> <NetworkEvaluatorCLSID>{318C4B91-F5D2-467A-996C-0AB51B0D8FF2}</NetworkEvaluatorCLSID> <NetworkEdgeDirection>esriNEDNone</NetworkEdgeDirection> <NetworkEvaluatorData 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>ConstantValue</Key> <Value xsi:type="xs:int">0</Value> </PropertySetProperty> </PropertyArray> </NetworkEvaluatorData> </NetworkAssignment> </NetworkAssignments> <ConfigurationKeyword>NETWORK_DEFAULTS</ConfigurationKeyword>