当前位置: 首页 > 文档资料 > 认识现代 WebGIS >

1.5.3.2.13.4 多旅行商分析/物流配送

优质
小牛编辑
132浏览
2023-12-01

多旅行商分析也称为物流配送,是指在网络数据集中,给定M个配送中心点和N个配送目的地(M,N为大于零的整数),查找经济有效的配送路径,并给出相应的行走路线。多旅行商分析功能就是解决如何合理分配配送次序和送货路线,使配送总花费达到最小或每个配送中心的花费达到最小。

多旅行商分析的结果将给出,每个配送中心所负责的配送目的地,并且在某个配送中心向其负责的配送目的地配送货物的时候,又给出经过各个配送目的地的顺序,和相应的行走路线,从而使该配送中心的配送花费最少,或者使得所有的配送中心的总花费最小。

下面以长春数据为例,利用多旅行商分析和旅行商分析对食品厂各个仓库配送中心到用户指定的零售站的配送路线进行分析,并且给出质检员定期到各个零售站检查货品情况时所走的花费最小的路线,其接口使用方法如下所示:

设置多旅行商分析参数 findMTSPPathsParams,包括交通网络分析通用参数、配送中心点集合、配送目标点集合、配送模式等。

//设置网络分析结果参数
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,
    weightFieldName: "length"  //"length"或者"time"
});
//设置多旅行商分析参数
var findMTSPPathsParameter = new SuperMap.FindMTSPPathsParameters({
    centers: [new ol.geom.Point([6000, -5500]), new ol.geom.Point([5500, -2500]), new ol.geom.Point([2500, -3500])],
    isAnalyzeById: false,
    nodes: [new ol.geom.Point([5000, -5000]), new ol.geom.Point([6500, -3200])],
    hasLeastTotalCost: true,
    parameter: analystParameter
});

通过向服务端提交物流配送分析的请求参数,待服务端成功处理并返回分析处理结果后对其进行解析,获得由配送中心依次向各个配送目的地配送货物的最佳路径。

//创建物流配送分析服务实例
new ol.supermap.NetworkAnalystService(serviceUrl).findMTSPPaths(findMTSPPathsParameter, function (serviceResult) {
//获取服务器返回的结果
var result = serviceResult.result;
});

查看完整示例代码