规划最佳路径

规划最佳路径是求解网络中两点之间阻抗最小的路经,必须按照结点的选择顺序访问网络中的结点。“阻抗最小”有多种理解,如基于单因素考虑的时间最短、费用最低、风景最好、路况最佳、过桥最少、收费站最少、经过乡村最多等。

以长春数据为例,计算地图中将要行走的地点间的最佳路径。其接口使用方法如下:

设置最佳路径分析参数 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/[email protected]";
var findPathService = L.supermap.networkAnalystService(serviceUrl);
//向服务器发送请求,并对返回的结果进行分析处理,展示在客户端上
findPathService.findPath(findPathParams, function (serviceResult) {
//获取服务器返回的结果
 var result = serviceResult.result;
});

查看完整示例代码

results matching ""

    No results matching ""