基于arcgis api for js聚合效果的实现

基于arcgis api for js聚合效果的实现

ID:3814864

大小:2.29 MB

页数:12页

时间:2017-11-24

基于arcgis api for js聚合效果的实现_第1页
基于arcgis api for js聚合效果的实现_第2页
基于arcgis api for js聚合效果的实现_第3页
基于arcgis api for js聚合效果的实现_第4页
基于arcgis api for js聚合效果的实现_第5页
资源描述:

《基于arcgis api for js聚合效果的实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、基于ArcGisAPIForJS聚合效果的实现——汤茂江当空间上点数据越来越多的时候,往往密密麻麻的反倒不利于美观及分析。点聚合后的显示可以对密集区域的数据进行强调,有点类似热力图,但有时聚合图更灵活,他可以一层层进一步的细化,点击聚合的点,可显示出该聚合的原始点的空间分布,并可查看每个点的属性信息。这种大可观察密集分布,小可逐个查看点要素属性信息。在某种程度上为决策分析,提供了很好的参考效果。如灾害分布、犯罪分析等。进入正题,接下来我主要介绍如何基于ArcGisAPIForJS实现聚合效果。效果如以下图。ClusterLayer

2、.js代码附在最后。1、html页面需要引用JS服务类2、用dojo.require加载ClusterLayer文件,功能类似于script标签的作用(当然不能用

3、script引用,会报错)。dojo.addOnLoad(function(){//extras与上面dojoConfig中的命名对应dojo.require("extras.ClusterLayer");//这是ESRI自带的渲染类,当然在项目中你还得加载其他你所需要的类dojo.require("esri.renderers.ClassBreaksRenderer");//……//实例化ClusterLayerclusterLayer=newextras.ClusterLayer();}3、载入数据,添加聚合图层到地图//组成

4、所需的JSON对象cJson=[];//聚合所需的JSON对象,主要包含三个字段x,y,attributes的数组数据for(varcindatas){vartemp={}varattributes={//attributes集合可以根据自己需要添加属性"ID":datas[c].ID,"TYPE":datas[c].TYPE};temp.x=datas[c].JD;//X坐标字段,必须为x,可在ClusterLayer.js改temp.y=datas[c].WD;//Y坐标字段,必须为y,可在ClusterLayer.js改te

5、mp.attributes=attributes;cJson.push(temp);//组成所需的JSON对象}varclusterLayer=newextras.ClusterLayer({"data":calamJson,//绑定聚合数据源"distance":100,//设置聚合距离,根据地图分辨率来设置合适的值,默认是50"id":"clusters","labelColor":"#fff",//图标字体颜色值,白色字体"labelOffset":-5,//字体偏移位置"resolution":kMap.map.exten

6、t.getWidth()/map.width,//计算当前地图的分辨率"singleColor":"#888""singleTemplate":popupTemplate//绑定气泡窗口模型,点击单个点显示点的详细属性,也就是attributes里面的字段值,不需要可以注释掉});//显示等级及渲染效果可以根据需要设置vardefaultSym=newesri.symbol.SimpleMarkerSymbol().setSize(4);varrenderer=newesri.renderers.ClassBreaksRender

7、er(defaultSym,"clusterCount");//需要几个等级,就添加几个等级的符号varpicBaseUrl="img/";vargreen=newesri.symbol.PictureMarkerSymbol(picBaseUrl+"Green.png",16,16).setOffset(0,0);vargreen2=newesri.symbol.PictureMarkerSymbol(picBaseUrl+"Green.png",32,32).setOffset(0,0);varblue=newesri.sym

8、bol.PictureMarkerSymbol(picBaseUrl+"Blue.png",48,48).setOffset(0,0);varviolet=newesri.symbol.PictureMarkerSymbol(picBaseUrl+

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。