查找最近设施

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

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

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

//添加事件点
var eventPoint = new ol.geom.Point([5000, -3700]);
//设置网络分析结果参数
var resultSetting = new SuperMap.TransportationAnalystResultSetting({
    returnEdgeFeatures: true,
    returnEdgeGeometry: true,
    returnEdgeIDs: true,
    returnNodeFeatures: true,
    returnNodeGeometry: true,
    returnNodeIDs: true,
    returnPathGuides: true,
    returnRoutes: true
});
//设置网络分析通用参数
var analystParameter = new SuperMap.TransportationAnalystParameter({
    resultSetting: resultSetting,
    turnWeightField: "TurnCost",
    weightFieldName: "length"  //length,time
});
//设置最近设施分析参数
var findClosetFacilitiesParameter = new SuperMap.FindClosestFacilitiesParameters({
    //事件点,必设参数
    event: eventPoint,
    //要查找的设施点数量。默认值为1
    expectFacilityCount: 1,
    //设施点集合,必设
    facilities: [new ol.geom.Point([2500, -3500]), new ol.geom.Point([5500, -2500]), new ol.geom.Point([7000, -4000])],
    isAnalyzeById: false,
    parameter: analystParameter
});

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

//创建最近设施查找分析示例
new ol.supermap.NetworkAnalystService(serviceUrl).findClosestFacilities(findClosetFacilitiesParameter, function (serviceResult) {
//获取服务器返回的结果
var result = serviceResult.result;
});

查看完整示例代码

results matching ""

    No results matching ""