包 | com.supermap.web.iServerJava6R.networkAnalystServices |
类 | public class FindPathService |
继承 | FindPathService ![]() |
最佳路径是在网络数据集中指定一些结点,按照顺序访问结点从而求解起止点之间阻抗最小的路径。例如如果要顺序访问1、2、3、4四个结点,则需要分别找到1、2结点间的最佳路径 R1—2,2、3 间的最佳路径 R2—3 和 3、4结点间的最佳路径 R3—4,顺序访问1、2、3、4四个结点的最佳路径就是 R= R1—2 + R2—3 + R3—4。
阻抗就是指从一点到另一点的耗费,在实际应用中我们可以将距离、时间、花费等作为阻抗条件。阻抗最小也就可以理解为从一点到另一点距离最短、时间最少、花费最低等。当两点间距离最短时为最短路径,它是最佳路径问题的一个特例。阻抗值通过 TransportationAnalystParameter.weightFieldName
设置。
计算最佳路径除了受阻抗影响外,还受转向字段的影响。转向值通过 TransportationAnalystParameter.turnWeightField
设置。
最佳路径属于网络分析的一种。网络分析是针对网络数据集的应用。网络数据集为具有拓扑关系的包含了一个网络结点子数据集的线图层,因此网络数据集拥有两个属性表,一个是记录弧段信息的属性表,一个是记录结点信息的属性表。
最佳路径分析和旅行商分析都是在网络中寻找遍历所有指定结点的最经济的路径,区别在于遍历所有结点的过程中对结点访问顺序不同。最佳路径分析必须按照指定顺序对站点进行访问,而旅行商分析是无序的路径分析。
该类负责将客户端指定的最佳路径分析参数传递给服务端,并接收服务端返回的结果数据,将最终结果存储于 FindPathResult 中。用户若需获取服务端返回的原始结果,需监听 FindPathEvent.PROCESS_COMPLETE 事件。该事件中既存有服务端返回的原始结果,又存有可在客户端显示的最终结果(FindPathResult)。
另请参见
方法 | 定义方 | ||
---|---|---|---|
FindPathService(url:String)
使用网络分析服务地址 URL 实例化 FindPathService 类的新实例。.
|
FindPathService | ||
processAsync(parameters:FindPathParameters, responder:IResponder = null):AsyncToken
将客户端指定的最佳路径分析参数传递给服务端,与服务端完成异步通讯。.
|
FindPathService |
事件 | Summary | 定义方 | ||
---|---|---|---|---|
当与服务端交互失败时触发该事件。 | FindPathService | |||
当与服务端交互成功时触发该事件。 | FindPathService |
FindPathService | () | 构造函数 |
public function FindPathService(url:String)
使用网络分析服务地址 URL 实例化 FindPathService 类的新实例。.
参数url:String — 网络分析服务地址。请求网络分析服务,URL应为:http://{服务器地址}:{服务端口号}/iserver/services/{网络分析服务名}/rest/networkanalyst/{网络数据集@数据源}; 例如:"http://localhost:8090/iserver/services/components-rest/rest/networkanalyst/RoadNet@Changchun"。 |
processAsync | () | 方法 |
public function processAsync(parameters:FindPathParameters, responder:IResponder = null):AsyncToken
将客户端指定的最佳路径分析参数传递给服务端,与服务端完成异步通讯。.
与服务端异步通讯成功后,触发 FindPathEvent.PROCESS_COMPLETE 事件。因此获取返回的结果有两种方式:
1. 通过 AsyncResponder 类获取(推荐使用);
2. 通过监听 FindPathEvent.PROCESS_COMPLETE 事件获取。
参数
parameters:FindPathParameters — 最佳路径分析参数类。 |
|
responder:IResponder (default = null ) — 由 AsyncResponder 类实现。远程或异步请求服务完成时将调用的处理函数。使用方法为AsyncResponder(result:Function, fault:Function, token:Object = null) result:Function — 成功完成请求时应调用的函数。必须具有以下签名: public function (result:Object, token:Object = null):void; fault:Function — 请求完成但出错时应调用的函数。必须具有以下签名: public function (error:FaultEvent, token:Object = null):void; token:Object (default = null) — 与此请求相关的其他信息。 有关 AsyncResponder 类的详细信息请参见 “ActionScript 语言帮助文档”。 |
AsyncToken — 返回 AsyncToken 对象,它为异步 RPC 操作提供设置额外数据或标记级别数据的位置。有关 AsyncToken 类的详细信息请参见 “ActionScript 3.0 语言和组件参考”。 |
fault | 事件 |
mx.rpc.events.FaultEvent
当与服务端交互失败时触发该事件。
processComplete | 事件 |