arcgis api for js入门开发系列十四最近设施点路径分析 - GIS之家
上一篇实现了demo的地图最短路径分析,本篇新增最近设施点路径分析,截图如下: 1.关键技术实现知识点: (1)最近设施点的网络分析服务:http://localhost:6080/arcgis/rest/services/dlClosestFacility/NAServer/Closest%20Facility (2)最近...
- 作者:来源:|2017年09月07日
上一篇实现了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);