arcgis api for js入门开发系列十四最近设施点路径分析

上一篇实现了demo的地图最短路径分析,本篇新增最近设施点路径分析,截图如下:

1.关键技术实现知识点:

(1)最近设施点的网络分析服务:http://localhost:6080/arcgis/rest/services/dlClosestFacility/NAServer/Closest%20Facility

(2)最近设施点分析的参数名称为:RouteClosestFacilityParameters,同样它也继承自BaseRouteParameters。其主要的参数(属性)有:

 属性名称          
Incidents 表示事件点
Facilities 表示设施点
Barriers 表示障碍点,还有线障碍:PolylineBarriers,面障碍:PolygonBarriers
DefaultCutoff 表示默认终断值,即不会搜索超出该值的设施点(从事件点到设施点,反之同理)
ReturnDirections 表示是否返回方向指南
DirectionsLanguage 表示返回方向指南使用的描述语言(默认与网络分析图层一致,NAServer中只有英语,其他语言需要自己安装)
DirectionsLengthUnits 表示计算方向时使用的长度单位。默认与路径网络图层的设置一致。可用的值包括esriFeet,esriKilometers, esriMeters,esriMile,esriNauticalMiles和esriYards
ReturnRoutes 表示是否返回设施点与事件点的路径
ReturnFacilities 表示是否返回设施点
ReturnIncidents 表示是否返回事件点
TravelDirection 表示路径的方向(从设施点到事件点还是事件点到设施点)
UseHierarchy 表示是否启用等级属性
FacilityReturnType 表示设施返回类型,默认为FacilityReturnType.ServerFacilityReturnAll
DefaultTargetFacilityCount 表示默认搜索的设施点个数

(3)初始化RouteTask:

//初始化事故点以及应急资源图层
ems.route.params = new esri.tasks.ClosestFacilityParameters();      
ems.route.params.defaultCutoff= 7.0;
ems.route.params.defaultTargetFacilityCount = 6.0;
ems.route.params.returnFacilities=true;
ems.route.params.returnIncidents=true;
ems.route.params.returnRoutes=true;
ems.route.params.returnDirections=true;
ems.route.closestFacilityTask = new esri.tasks.ClosestFacilityTask(MapConfig.routeUrl);

2.整体实现的流程如下:

(1)点击地图某点,以该点为中心,以一定半径来画圆形(esri.geometry.Circle);

(2)以圆形的范围的geometry,作为query的geometry条件,查询餐饮点图层,获取范围内的餐饮点总数作为route.params.facilities参数值,中心点为route.params.incidents 参数值;

(3)初始化RouteTask的参数条件之后,可以执行附近设施点分析函数,获取最终的结果

ems.route.closestFacilityTask.solve(ems.route.params, function(solveResult){
if(solveResult.routes.length>0){
}
},ems.route.routeError);    

 

作者: GIS之家

GIS之家微信号:gishome;GIS之家拥有自己的GIS开发团队,均是高校GIS研究生,具备丰富的webgis开发项目工作经验,专注以及热爱研究webgis技术的团队

发表评论

电子邮件地址不会被公开。