规划最佳路径
规划最佳路径是求解网络中两点之间阻抗最小的路经,必须按照结点的选择顺序访问网络中的结点。“阻抗最小”有多种理解,如基于单因素考虑的时间最短、费用最低、风景最好、路况最佳、过桥最少、收费站最少、经过乡村最多等。
以长春数据为例,计算地图中将要行走的地点间的最佳路径。其接口使用方法如下:
设置最佳路径分析参数 findPathParams,包括交通网络分析通用参数、途径站点等。
//网络分析结果参数
var resultSetting = new SuperMap.TransportationAnalystResultSetting({
//是否在分析结果中包含弧段要素集合
returnEdgeFeatures: true,
//返回的弧段要素集合中是否包含集合对象信息
returnEdgeGeometry: true,
//返回的结果中是否包含经过弧段ID集合
returnEdgeIDs: true,
//返回的分析结果总是否包含结点要素集合
returnNodeFeatures: true,
//返回的结点要素集合中是否包含集合对象信息
returnNodeGeometry: true,
//返回的分析结果中是否包含经过结点ID集合
returnNodeIDs: true,
//返回分析结果中是否包含行驶导引集合
returnPathGuides: true,
//返回结果中是否包含路由对象集合
returnRoutes: true
});
//网络分析通用参数
var analystParameter = new SuperMap.TransportationAnalystParameter({
//分析结果返回的内容
resultSetting: resultSetting,
//阻力字段的名称
weightFieldName: "length"
});
//最佳路径分析参数
var findPathParams = new SuperMap.FindPathParameters({
//是否通过结点ID指定路径分析的结点
isAnalyzeById: false,
//最佳路径分析经过的结点或设施点数组
nodes: [L.latLng(-3000, 4000), L.latLng(-2500, 5500), L.latLng(-4000, 6900)],
//是否按照弧段数最少的进行最佳路径分析
hasLeastEdgeCount: false,
//交通网络分析通用参数
parameter: analystParameter
});
向服务端提交最佳路径分析的请求,待服务端成功处理并返回最佳路径分析结果 serviceResult对其进行解析,将行驶路线在地图中展现出来并给出行驶导引信息。
//创建最佳路径分析实例
var serviceUrl = "http://support.supermap.com.cn:8090/iserver/services/transportationanalyst-sample/rest/networkanalyst/RoadNet@Changchun";
var findPathService = L.supermap.networkAnalystService(serviceUrl);
//向服务器发送请求,并对返回的结果进行分析处理,展示在客户端上
findPathService.findPath(findPathParams, function (serviceResult) {
//获取服务器返回的结果
var result = serviceResult.result;
});