最佳路径分析。

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

语法

C#
public TransportationAnalystResult FindPath(
	TransportationAnalystParameter parameter,
	bool hasLeastEdgeCount
)

参数

parameter
Type: SuperMap.Analyst.NetworkAnalyst..::.TransportationAnalystParameter
交通网络分析参数对象。
hasLeastEdgeCount
Type: System..::.Boolean
是否弧段数最少。true 代表按照弧段数最少进行查询,由于弧段数少不代表弧段长度短,所以此时查出的结果可能不是最短路径。如下图所示,如果连接 AB 的绿色路径的弧段数少于黄色路径,当本参数设置为 true 时,绿色路径就是查询得到的路径,当参数设置为 false 时,黄色路径就是查询得到的路径。

返回值

分析结果对象。

备注

最佳路径分析解决的问题是,在网络数据集中,给定 N 个点(N 大于等于2),找出按照给定点的次序依次经过这 N 个点的花费最小的路径。“花费最小”有多种理解,如时间最短、费用最低、风景最好、路况最佳、过桥最少、收费站最少、经过乡村最多等。

最佳路径分析的经过点是在 TransportationAnalystParameter 类型的参数 parameter 中指定的。通过 TransportationAnalystParameter 对象有两种方式可以指定经过点:

  1. 使用该对象的 Nodes 属性,以网络数据集中结点 ID 数组的形式指定最佳路径分析经过的点,因此分析过程中经过的点就是相应的网络结点;
  2. 使用该对象的 Points 属性,以坐标点串的形式指定最佳路径分析经过的点,因此分析过程中经过的点就是相应的坐标点。

此外,通过 TransportationAnalystParameter 对象还可以指定最佳路径分析需要的其他信息,如障碍点(边),分析结果是否包含路由、行驶导引、途经弧段或结点等。具体内容请参见 TransportationAnalystParameter 类。

需要注意,网络分析中的旅行商分析(FindTSPPath 方法)与最佳路径分析类似,都是在网络中寻找遍历所有经过点的花费最少的路径。但二者具有明显的区别,即在遍历经过点时,二者对访问经过点的顺序处理有所不同:

  • 最佳路径分析:必须按照给定的经过点的次序访问所有点;
  • 旅行商分析:需要确定最优次序来访问所有点,而并不一定按照给定的经过点的次序。

示例

请参见