最佳路径分析。
命名空间:
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 对象有两种方式可以指定经过点:
- 使用该对象的 Nodes 属性,以网络数据集中结点 ID 数组的形式指定最佳路径分析经过的点,因此分析过程中经过的点就是相应的网络结点;
- 使用该对象的 Points 属性,以坐标点串的形式指定最佳路径分析经过的点,因此分析过程中经过的点就是相应的坐标点。
此外,通过 TransportationAnalystParameter 对象还可以指定最佳路径分析需要的其他信息,如障碍点(边),分析结果是否包含路由、行驶导引、途经弧段或结点等。具体内容请参见 TransportationAnalystParameter 类。
需要注意,网络分析中的旅行商分析(FindTSPPath 方法)与最佳路径分析类似,都是在网络中寻找遍历所有经过点的花费最少的路径。但二者具有明显的区别,即在遍历经过点时,二者对访问经过点的顺序处理有所不同:
- 最佳路径分析:必须按照给定的经过点的次序访问所有点;
- 旅行商分析:需要确定最优次序来访问所有点,而并不一定按照给定的经过点的次序。