服务区分析

服务区分析是为网络上指定的服务中心点查找其服务范围。例如:为网络上某点计算其 30 分钟的服务区,则结果服务区内,任意点出发到该点的时间都不会超过30分钟。

以长春数据为例,然后在地图中选择将要分析的服务中心点(支持多中心),根据选择服务中心点的顺序依次按照 400、500、600...递增的数值作为服务半径进行缓冲区分析。即第一个服务中心点的服务半径为 400,第二个服务中心店的服务半径为 500,依次类推。

服务区分析接口使用方法:

设置服务区分析参数 findServiceAreasParams,包括交通网络分析通用参数、途径站点等。

//添加中心点
var marker = L.marker([-3375, 5605]);
//网络分析结果参数
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 findServiceAreasParams = new SuperMap.FindServiceAreasParameters({
//服务站点数组
        centers: [marker.getLatLng()],
        //是否通过节点ID指定路径分析的结点
        isAnalyzeById: false,
        //交通网络分析通用参数。
        parameter: analystParameter,
        //每个服务站点提供服务的阻力半径
        weights: weightsArray
});

定义服务区分析服务对象,用于将客户端设置的服务区分析服务参数(parameters)传递给服务端, 并接收服务端返回的动态分段分析结果数据。当向服务端发送请求并且服务端成功返回结果时,用户可对获得的服务区分析结果做相应处理。

//定义服务区分析服务
var serviceUrl = "http://support.supermap.com.cn:8090/iserver/services/transportationanalyst-sample/rest/networkanalyst/[email protected]";
//创建服务区分析服务实例
var service = L.supermap.networkAnalystService(serviceUrl);
//向服务器发送请求,并获取返回的结果
service.findServiceAreas(findServiceAreasParams, function (serviceResult) {
//获取服务器返回的结果
        var result = serviceResult.result;
});

查看完整示例代码

results matching ""

    No results matching ""