网络运营路测数据展示技术之同色及混合的聚合
分享
对于运营网络路测数据来说,我们通常不仅仅会通过信号扇区对他们归类,同时也有可能通过其信号等级或者其它业务属性对他们进行归类,对于大数据量的展示来说,效率成为其在Web端运用需要考虑的一个重要因素,所以我们需要用到聚合。
在此通过扩展,我们对期路测点分为六类,每类赋予不同的颜色进行渲染,在此我们把它称为同色聚合。
当比例尺放大到一定等级之后,为了更好的展示数据,我们需要对他们一起聚合,也就是我们常说的常规聚合,在此我们称为混合聚合!
代码分别:
[i][i][i][i][i][i][i][i][i][i][i][i][i][i][i][i][i][i][i][i][i]效果分别如下图所示:
文章来源:http://blog.csdn.net/esrichinacd/article/details/8100785[/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i]
在此通过扩展,我们对期路测点分为六类,每类赋予不同的颜色进行渲染,在此我们把它称为同色聚合。
当比例尺放大到一定等级之后,为了更好的展示数据,我们需要对他们一起聚合,也就是我们常说的常规聚合,在此我们称为混合聚合!
代码分别:
private var pointArr:ArrayCollection=new ArrayCollection();
private var redpointArr:ArrayCollection=new ArrayCollection();
private var pinkpointArr:ArrayCollection=new ArrayCollection();
private var yellowpointArr:ArrayCollection=new ArrayCollection();
private var bluepointArr:ArrayCollection=new ArrayCollection();
private var bluegreenpointArr:ArrayCollection=new ArrayCollection();
private var greenpointArr:ArrayCollection=new ArrayCollection();
//private var wnmspointArr:ArrayCollection=new ArrayCollection();
private var arr:Array = new Array();
private var points4326:ArrayCollection=new ArrayCollection();
protected function map1_extentChangeHandler(event:ExtentEvent):void
{
if(MyMap.scale<15000)
{
redGraphicLayer.graphicProvider=null;
pinkGraphicLayer.graphicProvider=null;
yellowGraphicLayer.graphicProvider=null;
blueGraphicLayer.graphicProvider=null;
bluegreenGraphicLayer.graphicProvider=null;
greenGraphicLayer.graphicProvider=null;
myGraphicLayer.graphicProvider=pointArr;
}
else
{
myGraphicLayer.graphicProvider=null;
redGraphicLayer.graphicProvider=redpointArr;
pinkGraphicLayer.graphicProvider=pinkpointArr;
yellowGraphicLayer.graphicProvider=yellowpointArr;
blueGraphicLayer.graphicProvider=bluepointArr;
bluegreenGraphicLayer.graphicProvider=bluegreenpointArr;
greenGraphicLayer.graphicProvider=greenpointArr;
}
}
//坐标数组投影完成事件
private function projectCompleteHandler(event:GeometryServiceEvent):void
{
try
{
// Note: 投影后的结果数据
var myPoints3857:Array = (event.result as Array);
}
catch (error:Error)
{
Alert.show(error.toString());
}
for(var i:int=0;i<arr.length;i++){
//var myPoint:MapPoint = new MapPoint(arr[i].longitude, arr[i].latitude,new SpatialReference(3857));
//var myPoint:MapPoint = new MapPoint(obj.x,obj.y);
//trace("x-->" + myPoint.x);
//trace("y-->" + myPoint.y);
var myPoint:MapPoint=myPoints3857[i] as MapPoint;
var myGraphic:Graphic=null
//trace("state == " + arr[i].state);
//switch(arr[i].state){
if(arr[i].state >= 0 && arr[i].state < 0.5)
{
//trace("state1 == " + arr[i].state);
myGraphic=new Graphic(myPoint,new SimpleMarkerSymbol(SimpleMarkerSymbol.STYLE_CIRCLE, 22, 0xf70a0a),null);
redpointArr.addItem(myGraphic);
}
else if(arr[i].state >= 0.5 && arr[i].state < 1.5)
{
//trace("state2 == " + arr[i].state);
myGraphic=new Graphic(myPoint,new SimpleMarkerSymbol(SimpleMarkerSymbol.STYLE_CIRCLE, 22, 0xff5a02),null);
pinkpointArr.addItem(myGraphic);
}
else if(arr[i].state >= 1.5 && arr[i].state < 2.5 )
{
//trace("state3 == " + arr[i].state);
myGraphic=new Graphic(myPoint,new SimpleMarkerSymbol(SimpleMarkerSymbol.STYLE_CIRCLE, 22, 0xef9212),null);
yellowpointArr.addItem(myGraphic);
}
else if(arr[i].state >= 2.5 && arr[i].state < 3.5 )
{
//trace("state4 == " + arr[i].state);
myGraphic=new Graphic(myPoint,new SimpleMarkerSymbol(SimpleMarkerSymbol.STYLE_CIRCLE, 22, 0xffc600),null);
bluepointArr.addItem(myGraphic);
}
else if(arr[i].state >= 3.5 && arr[i].state < 4.5){
//trace("state5 == " + arr[i].state);
myGraphic=new Graphic(myPoint,new SimpleMarkerSymbol(SimpleMarkerSymbol.STYLE_CIRCLE, 22, 0xb1de55),null);
bluegreenpointArr.addItem(myGraphic);
}
else if(arr[i].state >= 4.5){
//trace("state6 == " + arr[i].state);
myGraphic=new Graphic(myPoint,new SimpleMarkerSymbol(SimpleMarkerSymbol.STYLE_CIRCLE, 22, 0x46df23),null);
greenpointArr.addItem(myGraphic);
}
//}
pointArr.addItem(myGraphic);
}
}
[i][i][i][i][i][i][i][i][i][i][i][i][i][i][i][i][i][i][i][i][i]效果分别如下图所示:
文章来源:http://blog.csdn.net/esrichinacd/article/details/8100785[/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i]
0 个评论
推荐内容
- ArcGIS Pro 2.4向独立server发布服务步骤
- Linux上安装ArcGIS Enterprise超详细教程——以Redhat7.2上安装ArcGIS Enterprise 10.5为例
- ArcGIS for Server 10.x 许可授权手册
- Portal for ArcGIS 10.X许可授权手册 (Windows版)
- arcgis server 无法手动删除切片
- ArcGIS for Server内置JS Viewer的离线部署和配置
- Linux上安装ArcGIS for Server超详细教程——以Redhat6.5上安装ArcGIS for Server 10.3.1为例
- 如何创建Geometry Service?
- 地图服务优化策略
相关问题
- 作为Desktop用户对数据的获取比较乏力,可能缺了哪些知识?
- 有谁知道哪里可以免费获取各省市地图数据呢,包括详细的shape文件数据
- 有栅格数据a(大数据),小数据b,怎么从a中扣掉b,得到a数据剩下的部分?栅格能裁剪取反吗?
- 用arcgis做网络分析,求解失败,为什么出现事件点未找到设施点的警告呢?
- 在windows server2008 R2 64位中安装了portal 10.5 设置好托管arcgis server站点,并用data store为托管数据库,发布数据出错
- 安装arcgis server 需要不需要安装网络服务器(如IIS和Apache)和.Net Frameworkma?
- cityengine怎么导入arcgis的shp数据,对shp数据有什么要求
- ArcGIS数据库数据逐图幅裁剪
- 基于ArcGIS的CAD数据向GIS数据转换方法
- 市区择房分析时,需要添加字段并将其赋值1或者-1,怎么做? 在开始编辑的时候,总是出现空间参考与数据框不匹配提示,原因是什么?会影响下面的赋值吗?
- ArcGis打开图层后显示unknown units,想要define一个投影坐标系,但数据大小似乎不一致