SuperMap iObjects .NET 11i 知识库
设施网络分析  

6     设施网络分析环境的设置

设施网络分析环境的设置,直接影响到设施网络分析的结果。设施网络分析所需要的参数包括:用于进行设施网络分析的数据集、结点 ID 字段、弧段 ID 字段、弧段起始结点 ID 字段、弧段终止结点 ID字段、权值信息、点到弧段的距离容限、障碍结点、障碍弧段、流向字段等。

设施网络分析环境的设置是通过设施网络分析(FacilityAnalyst)类的 AnalystSetting 属性实现的,我们需要为该属性设置一个 FacilityAnalystSetting 对象,该对象提供了设施网络分析所需要的参数信息,包括用于进行设施网络分析的数据集、结点 ID 字段、弧段 ID 字段、弧段起始结点 ID 字段、弧段终止结点 ID字段、权值信息、点到弧段的距离容限、障碍结点、障碍弧段、流向字段等。这些参数的设置,直接影响到设施网络分析的结果。表 6.1 列出了 FacilityAnalystSetting 类的各个属性及其含义。

6.1 FacilityAnalystSetting 类的属性列表

类型

名称

描述

DatasetVector

NetworkDataset

获取或设置用于进行设施网络分析的网络数据集。必设。

注意,在创建流向时,此处指定的可以是不具有流向的网络数据集;但创建等级以及进行设施网络分析时,必须指定已经创建了流向的网络数据集。

String

NodeIDField

获取或设置网络数据集中标识结点 ID 的字段。必须正确设定标识网络结点 ID 的字段。仅支持 16 位整型、32 位整型字段。

String

EdgeIDField

获取或设置网络数据集中标识弧段 ID 的字段。必须正确设定标识网络弧段 ID 的字段。仅支持 16 位整型、32 位整型字段。

String

FNodeIDField

获取或设置网络数据集中标识弧段起始结点 ID 的字段。必须正确设定标识弧段起始结点 ID 的字段。仅支持 16 位整型、32 位整型字段。

String

TNodeIDField

获取或设置网络数据集中标识弧段终止结点 ID 的字段。必须正确设定标识弧段终止结点 ID 的字段。仅支持 16 位整型、32 位整型字段。

Double

Tolerance

获取或设置点到弧段的距离容限。单位与 NetworkDataset 属性指定的网络数据集的单位一致。该属性为下一版本保留。

Int32[]

BarrierNodes

获取或设置障碍点列表。可选。

Int32[]

BarrierEdges

获取或设置障碍弧段的 ID 列表。可选。

String

DirectionField

获取或设置流向字段。如果不指定,在进行设施网络分析时,默认流向均为 0,即与数字化方向相同。注意,在创建流向时,必须设置该属性。

WeightFieldInfos

WeightFieldInfos

获取或设置权值字段信息集合对象。

下面对设施网络分析环境的部分参数做进一步的说明。

网络数据集及其拓扑关系字段(NetworkDataset、NodeIDField、EdgeIDField、FNodeIDField、TNodeIDField)

网络数据集中表达其拓扑关系的字段包括:结点ID字段、弧段ID字段、弧段的起始结点ID字段和终止结点ID字段。必须指定用于分析的网络数据集及其拓扑关系字段,才能够保证网络的可用性,从而进一步完成设施网络分析。有关网络数据集及其拓扑关系字段的介绍,请参阅第4章。

FacilityAnalystSetting 对象的 NetworkDataset 属性用于指定网络数据集,NodeIDFieldEdgeIDFieldFNodeIDFieldTNodeIDField 属性分别用于设置网络数据集中的结点 ID 字段、弧段 ID 字段、起始结点 ID 字段和终止结点 ID 字段。

弧段权值字段信息(WeightFieldInfos)

弧段权值是指通过该弧段的花费,分为正向权值和反向权值,从该弧段的起始结点到达终止结点的花费称为正向权值(或正向阻力),反之为反向权值(或反向阻力)。弧段权值需要从网络数据集的弧段属性表中指定两个字段,分别为正向权值字段和反向权值字段。弧段权值可以是任意类型,如经过该弧段所需的时间、该弧段的长度等,也可以是对多个因素进行加权得到的权值。

在设施网络分析环境设置(FacilityAnalystSetting)类中,通过 WeightFieldInfos 属性来设置弧段权值,并且为该属性指定的是一个权值字段信息集合(WeightFieldInfos)对象,该对象是权值字段信息(WeightFieldInfo)对象的一个集合,其中的每一个 WeightFieldInfo 对象可以指定一对权值字段(正向权值字段和反向权值字段),并为此权值字段信息命名,该名称是该权值字段信息的唯一标识。表 6.2 列出了 WeightFieldInfo 类的三个属性及其含义。

虽然在设施网络分析时只能使用一种弧段权值,但在分析环境中可以通过 WeightFieldInfos 属性指定权值字段信息的集合,从而为网络关联多种权值,然后在分析时再通过参数指定具体使用哪种权值,这样就可以方便地变换弧段权值,而不需要重新设置交通网络分析环境。例如,在水系网络中,以河段 A 作为起始弧段,河段 B 作为终止弧段进行路径分析,可以将弧段权值设置为河段的长度,分析结果就是最短路径;将弧段权值设置为通过该河段花费的时间,那么分析结果就是时间最短的路径。由此也可见,弧段权值直接影响的分析结果的含义。

在分析时也可以不使用权值,可以通过设置权值字段的值为 0 来实现。

6.2 WeightFieldInfo 类的属性列表

类型

名称

描述

String

Name

获取或设置权值字段信息的名称。

String

FTWeightField

获取或设置正向阻力字段。

String

TFWeightField

获取或设置反向阻力字段。

障碍结点、边(BarrierNodes、BarrierEdges)

障碍,顾名思义,是网络中不能通行的部分,可以是障碍边(也称障碍弧段)、障碍结点。通过设置障碍,可以对设施网络的连通性进行修改。在设施网络分析环境中,可以通过 BarrierEdges 属性将某些弧段设置为障碍边,通过 BarrierNodes 属性将若干结点设置为障碍点。一旦一条弧段被设置为障碍边,就表示这条边在分析过程中是失效的。同样,一旦某结点被设置为障碍点,则分析时该结点是禁止通行的。


  版权所有© 北京超图软件股份有限公司。保留所有权利。