交通网络分析环境设置类。该类用于提供交通网络分析时所需要的所有参数信息。交通网络分析环境设置类的各个参数的设置直接影响分析的结果。

命名空间:  SuperMap.Analyst.NetworkAnalyst
程序集:  SuperMap.Analyst.NetworkAnalyst (in SuperMap.Analyst.NetworkAnalyst)
版本: dll

语法

C#
public class TransportationAnalystSetting

备注

在利用交通网络分析类(( TransportationAnalyst 类)进行各种交通网络分析时,都要首先设置交通网络分析的环境,而交通网络分析环境的设置就是通过 TransportationAnalyst 类对象的 AnalystSetting 属性来完成的,这个属性对应于 TransportationAnalystSetting 类的对象。

交通网络分析环境中的设置会直接影响到分析的结果,交通网络分析包括路径分析,旅行商分析,服务区分析和最近设施查找。网络数据集不同于一般线数据集的是,还包含了一个网络结点的子数据集,因此网络数据集拥有两个属性表,一个是记录弧段信息的属性表,一个是记录结点信息的属性表。在网络分析环境中,可以设置:

1. 进行交通网络分析的数据集(NetworkDataset);

2. 网络中唯一标识结点的字段(NodeIDField),该字段来源于网络结点属性表;

3. 唯一标识弧段的字段(EdgeIDField),该字段来源于弧段属性表;

4. 记录弧段起、终结点 ID 的字段(FNodeIDField 和 TNodeIDField),该字段来源于弧段属性表,对应于网络结点属性表中的结点 ID;

5. 记录要经过某一弧段需要多少权值字段信息(WeightFieldInfos),来源于弧段属性表;

6. 结点到弧段的距离容限(Tolerance);

7. 表示转向表的一系列属性,如转向表数据集(TurnDataset)、转向结点 ID 的字段(TurnNodeIDField),转向起始弧段 ID 的字段(TurnFEdgeIDField)、转向终止弧段 ID 的字段(TurnTEdgeIDField)以及转向权值字段(TurnWeightFields)。有关转向表的介绍请参见 NetworkBuilder 类的 CreateTurnTable 方法。

8. 网络中障碍边和障碍点的 ID 集合(BarrierEdges、BarrierNodes);

9. 存储结点名称和弧段名称的字段的字段名(NodeNameField、EdgeNameField)。

示例

以下代码示例通过网络数据集查找最佳路径,并将其结果的路由对象添加到 MapControl 的 TrackingLayer 中显示。

下面函数中操作的网络数据集为安装目录\SampleData\changchun\下的 changchun.udb 数据源中的名为 RoadNet 的网络数据集。

CopyC#
public void FindPathExample(DatasetVector networkDataset)
{
    //构建一个网络分析环境设置实例并设置其属性
    TransportationAnalystSetting transportationAnalystSetting = new TransportationAnalystSetting();
    transportationAnalystSetting.NetworkDataset = networkDataset;
    transportationAnalystSetting.EdgeIDField = "SmID";
    transportationAnalystSetting.NodeIDField = "SmNodeID";
    transportationAnalystSetting.FNodeIDField = "SmFNode";
    transportationAnalystSetting.TNodeIDField = "SmTNode";
    WeightFieldInfo weightInfo = new WeightFieldInfo();
    weightInfo.FTWeightField = "smLength";
    weightInfo.TFWeightField = "smLength";
    transportationAnalystSetting.WeightFieldInfos.Add(weightInfo);

    //创建交通网络分析对象并设置其属性
    TransportationAnalyst transportationAnalyst = new TransportationAnalyst();
    transportationAnalyst.AnalystSetting = transportationAnalystSetting;

    //加载网络模型
    transportationAnalyst.Load();

    //构建交通网络分析参数对象并设置其属性
    TransportationAnalystParameter parameter = new TransportationAnalystParameter();
    parameter.Nodes = new Int32[2] { 2, 50 };
    parameter.IsRoutesReturn = true;

    //进行网络分析,获得最佳路径
    TransportationAnalystResult result = transportationAnalyst.FindPath(parameter, true);
}

继承层次

System..::.Object
  SuperMap.Analyst.NetworkAnalyst..::.TransportationAnalystSetting

请参见