选址分区分析
选址分区分析是为了确定一个或多个待建设施的最佳或最优位置,使得设施可以用一种最经济有效的方式为需求方提供服务或者商品。选址分区不仅仅是一个选址过程,还要将需求点的需求分配到相应的新建设施的服务区中,因此称之为选址与分区。
设置选址分区分析参数,包括交通网络分析通用参数、途径站点等。
// 设置设施点的资源供给中心
var supplyCenterType_FIXEDCENTER = SuperMap.SupplyCenterType.FIXEDCENTER;
var supplyCenterType_NULL = SuperMap.SupplyCenterType.NULL;
var supplyCenterType_OPTIONALCENTER = SuperMap.SupplyCenterType.OPTIONALCENTER;
// 以一个中心点为例
var supplyCenters = [new SuperMap.SupplyCenter({
maxWeight: 500, // 资源供给中心的最大耗费值,必设参数
nodeID: 139, // 资源供给中心点的结点 ID 号,必设参数
resourceValue: 100, // 资源供给中心能提供的最大服务量或商品数量,必设参数
type: supplyCenterType_OPTIONALCENTER //选址分区中资源中心的类型包括固定中心和可选中心两种
})];
// 设置选址分区分析参数
findLocationParameter = new SuperMap.FindLocationParameters({
// 期望用于最终设施选址的资源供给中心数量,必设字段
expectedSupplyCenterCount: 8,
// 是否从中心点开始分配资源。默认为 false
isFromCenter: false,
nodeDemandField: "Demand",
// 转向权值字段的名称
turnWeightField: "TurnCost",
// 阻力字段的名称, 必设
weightName: "length",
// 资源供给中心集合,必设字段
supplyCenters: supplyCenters
});
定义选址分区分析服务对象,用于将客户端设置的选址分区分析服务参数传递给服务端,并接收服务端返回的动态分段分析结果数据。当向服务端发送请求并且服务端成功返回结果时,用户可对获得的选址分区分析结果做相应处理。
//创建选址分区分析服务实例
var serviceUrl = "http://support.supermap.com.cn:8090/iserver/services/transportationanalyst-sample/rest/networkanalyst/RoadNet@Changchun";
var findLocationService = L.supermap.networkAnalystService(serviceUrl);
//向服务端发送请求,并对返回结果进行处理
findLocationService.findLocation(findLocationParams, function (serviceResult) {
//获取服务器返回的结果
var result = serviceResult.result;
});