服务区分析
服务区分析是为网络上指定的服务中心点查找其服务范围。例如:为网络上某点计算其 30 分钟的服务区,则结果服务区内,任意点出发到该点的时间都不会超过30分钟。
下面以长春数据为例,然后在地图中选择将要分析的服务中心点(支持多中心),根据选择服务中心点的顺序依次按照。400、500、600...递增的数值作为服务半径进行缓冲区分析。即第一个服务中心点的服务半径为 400,第二个服务中心店的服务半径为 500,依次类推。
服务区分析接口使用方法:
设置服务区分析参数 FindServiceAreasParameters,包括网络分析通用参数、途径站点等。
//创建服务区分析参数实例
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 parameter = new SuperMap.FindServiceAreasParameters({
centers: [point],
isAnalyzeById: false,
parameter: analystParameter
});
定义服务区分析服务对象,用于将客户端设置的服务区分析服务参数(parameters)传递给服务端,并接收服务端返回的动态分段分析结果数据。当向服务端发送请求并且服务端成功返回结果时,用户可对获得的服务区分析结果做相应处理。
//构建服务区分析对象,向服务器传递服务区分析服务参数
new ol.supermap.NetworkAnalystService(serviceUrl).findServiceAreas(parameter, function (serviceResult) {
//获取服务器返回的结果
var result = serviceResult.result;
});