本文共 2138 字,大约阅读时间需要 7 分钟。
作者:LX
在SuperMap iServer分布式分析服务中,提供了针对海量数据的属性汇总分析功能。本文将介绍如何通过iClient对接分布式分析服务中的属性汇总分析服务并将结果在前端展示。
分布式分析服务中的属性汇总分析功能指的是对输入的数据集中所选择的属性进行汇总统计。通过对输入的数据集设定分组字段、属性字段以及对属性字段需进行的统计模式,从而得到汇总统计的结果。
以下图为例,按照字段borough进行分组统计,Queens的个数统计结果为5,再从中取得最小的LocationID为2。源数据:
属性汇总统计结果:1、搭建分布式分析环境并发布分布式分析服务,参考博客《》进行分布式分析环境的搭建以及服务的发布;
2、服务端进行属性汇总分析(验证服务有效性) 1)发布分布式分析服务,然后进入到服务的jobs资源下,选中属性汇总 2)创建分析任务 3)分析成功 3、iClient开发包,可以通过官网地址下载: http://support.supermap.com.cn/DownloadCenter/ProductPlatform.aspxSuperMap提供了多个GIS前端开发地图库,我们在这以iClient for Openlayers为例来对接。
1、引入js文件 需要引入openlayers的css和js文件,以及iclient9-openlayers的css,js文件; 我们的iclient包中只需要引入include-openlayers.js就可以加载以上全部文件2、定义服务url并创建底图
//分布式分析服务 var processingsUrl ="http://localhost:8090/iserver/services/distributedanalyst/rest/v1/jobs"; //地图服务 var mapURL ="http://localhost:8090/iserver/services/map-world/rest/maps/World"; var map = new ol.Map({ target: 'map', view: new ol.View({ center: [-73.95, 40.75], zoom: 12, projection: 'EPSG:4326' }) }); map.addLayer(new ol.layer.Tile({ source: new ol.source.TileSuperMapRest({ url: mapURL, }), }));
3、安全验证
//安全验证var token=” I5OZZxPYAZIJvL7tCQCZB6qMHrG8hMw0a0hOqvCRlm7sMA_5MyRZSoLZxNbPXHevAvDniCJgtSOiCzx466HPjA..”;SuperMap.SecurityManager.registerToken(processingsUrl, token);
4、设置属性汇总分析参数
//属性汇总分析参数 var summaryAttributesJobsParameter = new SuperMap.SummaryAttributesJobsParameter({ datasetName: "samples_processing_newyorkZone_R",//参与分析的数据集名称 groupField: "borough",//分组字段 attributeField: "LocationID",//属性字段 statisticModes: "min"//统计模式 });
5、属性汇总分析
//分布式分析服务var processingService = new ol.supermap.ProcessingService(processingsUrl); //执行属性汇总分析processingService.addSummaryAttributesJob(summaryAttributesJobsParameter, summaryAttributesCompleted);
6、结果展示
分析成功后会把分析结果保存成数据源和工作空间,存储到%iServerRoot%\webapps\iserver\processingResultData目录下,在idesktop打开数据源会看到分析结果如下: iServer也会将工作空间发布成iServer服务,我们通过在前端查询服务也可以将结果展示在前端地图上来看,前端显示属性汇总结果如下: 附上完整代码:转载地址:http://ikpxi.baihongyu.com/