查找最近设施

最近设施分析是指在网络上给定一个事件点和一组设施点,为事件点查找以最小耗费能到达的一个或几个设施点,结果显示从事件点到设施点(或从设施点到事件点)的最佳路径,耗费,及行驶方向。例如事件发生点是一起交通事故,要求查找在10分钟内能到达的最近医院,超过10分钟能到达的都不予考虑。此例中,事故发生地即是一个事件点,周边的医院则是设施点。最近设施查找实际上也是一种路径分析,因此,同样可以应用障碍边和障碍点的设置,在行驶路途上这些障碍将不能被穿越,在路径分析中会予以考虑。

下面以长春数据为例,在地图上标记事故事件点,然后针对三个医院进行最近设施查找分析,其接口使用方法如下所示:

设置最近设施分析参数,包括交通网络分析通用参数、事件点、设施点、查找半径等。

//设置网络分析结果参数
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,
    //转向权重字段的名称
    turnWeightField: "TurnCost",
    //阻力字段的名称
    weightFieldName: "length"
});
//设置最近设施分析参数
var findClosetFacilitiesParams = new SuperMap.FindClosestFacilitiesParameters({
    //事件点,一般为需要获得服务设施服务的事件位置
    event: L.latLng(-3700, 5000),
    //要查找的设施点数量
    expectFacilityCount: 1,
    //设施点集合,一般为提供服务的服务设施位置
    facilities: [L.latLng(-3500, 2500), L.latLng(-2500, 5500), L.latLng(-4000, 7000)],
    //事件点和设施点是否通过节点ID号来指定
    isAnalyzeById: false,
    //交通网络分析通用参数
    parameter: analystParameter
});

定义最近设施查找分析对象,用于将客户端设置的最近设施查找分析服务参数传递给服务端, 并接收服务端返回的最近设施分析结果。当向服务端发送请求并且服务端成功返回结果时,用户可对获得的最近设施分析结果做相应处理。

//创建最近设施分析服务实例
var serviceUrl = "http://support.supermap.com.cn:8090/iserver/services/transportationanalyst-sample/rest/networkanalyst/[email protected]";
var findClosetFacilitiesService = L.supermap.networkAnalystService(serviceUrl);
//向服务端发送请求,并返回结果进行处理
findClosetFacilitiesService.findClosestFacilities(findClosetFacilitiesParams, function (serviceResult) {
//获取服务器返回的结果
    var result = serviceResult.result;
});

查看完整代码示例

results matching ""

    No results matching ""