Arcgis 要素闪烁

ArcGIS中常用的三种数据平移方法 在用arcgis操作数据过程中,经常会需要平移数据。有的时候是因为数据本身发生偏移,需要校正过来。有的是做坐标转换(如果不涉及到高程Z值,很多时候不同坐标系统的平面坐标转换就是采用平移的方法来解决坐标系统转换的)。这样就涉及到如果数据量很大的时候,比如说几百万个图斑,我们如何去平移数据呢?下面介绍3种常用方法:利用移动工具、利用投影工具、利用Offsetter函数 阅读详情

要素闪烁,首先是要找到要素,然后调用IMapControl. FlashShape方法实现闪烁。

查找要素时,要用到IQueryFilter 接口,定义查询条件。然后调用IDisplayTable.SearchDisplayTable方法查询到

IFeatureCursor 要素游标对象,现在就可以调用IFeatureCursor .NextFeature()方法得到要素。

当有多个要素时,可以调用ITopologicalOperator.Union实现组合要素。

  /// <summary>
        /// 闪烁指定的巡查单元
        /// </summary>
        /// <param name="arrayList">巡查单元ID数组</param>
        private void FlashCell(ArrayList arrayList)
        {
            if ((arrayList == null) || (arrayList.Count == 0)) return;

            if (activeView == null)
            {
                activeView = this.MapControl.ActiveView.FocusMap as IActiveView;
            }

            //定义图层
            IFeatureLayer pFeatureLayer = new FeatureLayerClass();

            //网格图层不能为空
            if (m_BgFeatureLayer == null) return;

            pFeatureLayer = m_BgFeatureLayer;

            //IGeoFeatureLayer对象
            IGeoFeatureLayer pGeoFeatureLayer = (IGeoFeatureLayer)pFeatureLayer;

            //IQueryFilter对象,过滤条件。
            IQueryFilter pQueryFilter;

            //IDisplayTable对象,显示表
            IDisplayTable pDisplayTable = pGeoFeatureLayer as IDisplayTable;
            pQueryFilter = new QueryFilterClass();
           
            //where条件语句
            StringBuilder strFilter = new StringBuilder();

            for (int i = 0; i < arrayList.Count; i++)
            {
                //巡查单元ID
                string cellId = arrayList[i].ToString();
                strFilter.Append(UiConst.BGCODE +" = '"+cellId +"' ");
                if (i < arrayList.Count-1)
                {
                    strFilter.Append(" OR ");
                }
            }
            pQueryFilter.WhereClause = strFilter.ToString();
            //IFeatureCursor对象
            IFeatureCursor pFeatureCursor = pDisplayTable.SearchDisplayTable(pQueryFilter, false) as IFeatureCursor;

            //IFeature对象,要素对象。
            IFeature  pFeature = pFeatureCursor.NextFeature();
            //IGeometry对象,图形对象
            IGeometry pGeo =  new PolygonClass();

            //IFields对象,字段对象
            IFields pFields = pFeatureCursor.Fields;
            //字段索引
            int fieldIndex = pFields.FindField(UiConst.BGCODE);

            //填充样式
            ISimpleFillSymbol pFillsy;
            pFillsy = new SimpleFillSymbolClass();
            //pFillsy.Color = GetRgbColor(125, 60, 60);
            pFillsy.Style = esriSimpleFillStyle.esriSFSCross;

            //ITopologicalOperator对象
            ITopologicalOperator topologicalOperator = new PolygonClass();
            //中心点
            IPoint pPoint = new PointClass();
            if (pFeature != null)
            {
                topologicalOperator = pFeature.Shape as ITopologicalOperator;
                if (!topologicalOperator.IsSimple)
                {
                    topologicalOperator.Simplify();
                }
            }
            pFeature = pFeatureCursor.NextFeature();
            while (pFeature != null)
            {
                //组合所有的要素
                pGeo = (IGeometry)topologicalOperator.Union(pFeature.Shape as IGeometry);
                topologicalOperator = pGeo as ITopologicalOperator;
                pFeature = pFeatureCursor.NextFeature();
            }
            if (pGeo != null)
            {
                //放大地图
                //多边形
                IPolygon pPolygon = pGeo as IPolygon;
                //IArea,区域
                IArea pArea = pPolygon as IArea;
                //点
                pPoint = pArea.Centroid;
                if (pPoint != null)
                {
                    this.ChangeEnvelope(pPoint, 0.06, 0.06);
                    Application.DoEvents();
                }

                MapControl.FlashShape(pGeo, 15, 300, pFillsy);
                //样式
                object symbol = pFillsy;
                MapControl.DrawShape(pGeo, ref symbol);
                Application.DoEvents();
            }

        }

基于C#2005与ArcGIS Engine 9.2的框选要素高亮闪烁显示实现 我们将整个框选过程划分为以下三个离散状态:状态名称描述触发条件Idle初始空闲状态启动程序或上次操作完成Drawing正在拖拽形成矩形左键按下并移动Confirmed框选完成,等待查询左键释放且位移有效状态转移规则如下:Idle,Drawing,Confirmed当进入Drawing状态时,启动临时图形层绘制反馈;当MouseUp触发后,若位移超过阈值(如 5px),则认为是一次有效框选,转入。 阅读详情

相关推荐

arcgis api for js +echarts 实现点闪烁

arcgis api for js +echarts 实现点闪烁,包含调用的js文件,数据格式文件、具体实现代码。

【arcmap中的设置键盘快捷键】

在基于arcmap软件进行土地利用变更调查中需要对图斑进行边界进行编辑操作,此时可以建立键盘快捷键,方便进行图斑编辑处理。

m0_46471094的博客 1795

arcgis js api 图层要素闪烁

arcgis js api, 动态闪烁某一区域、市域范围特效,达到突出显示区域及选中的要素功能,解压即可运行,并有代码注释

使用ArcGIS JS API与Tween.js实现图层闪烁动画效果

在本文中,我们使用ArcGIS JS API 和tween.js库创建了一个简单的图层闪烁动画效果。我们使用tween.js库来创建Tween对象,该对象将图层的不透明度从1渐变到0,然后再渐变回来。我们使用使动画无限循环,使用yoyo(true)使动画在循环时反转方向,使图层看起来像是在闪烁。希望这篇文章能够帮助您在自己的地图应用程序中创建动画效果。

qq_37155408的博客 1489

arcgis js实现点闪烁

arcgis api for js +echarts 实现点闪烁,包含调用的js文件

FSL软件安装

FSL软件安装

huang_tianyuan的博客 2631

ArcGIS Desktop使用入门(二)常用工具条——标准工具

本期开始介绍ArcGIS Desktop的一些常用工具条,争取做到全面,后续会持续更新。 标准工具,是ArcGIS Desktop软件的基础工具条之一,图标功能简单易懂,使用频繁。

qq_34582066的博客 4727

从零组装一台会‘看’的无人机:手把手教你配置NUC机载电脑与D435深度相机(环境搭建篇)

本文详细介绍了如何从零开始组装一台具备视觉能力的智能无人机,重点讲解了NUC机载电脑与D435深度相机的配置方法。通过Ubuntu系统安装、ROS环境搭建、深度学习框架配置等步骤,帮助开发者实现无人机的自主避障和目标跟踪功能。文章还提供了性能优化和常见问题解决方案,是无人机视觉系统开发的实用指南。

weixin_30915275的博客 399

ArcGIS 要素闪烁

ArcGIS 要素闪烁 通过双击要素图例,闪烁定位到要素,并且闪烁一段时间: IFeatureLayer featureLayer = layer as IFeatureLayer; ITable table = featureLayer as ITable; IRow row...

weixin_30877181的博客 427

python如何实现点云可视化交互——Open3D实例教程(获取所选点的信息)保姆级教学

python如何实现点云可视化交互——Open3D实例教程(获取所选点的信息)保姆级教学

qq_45912037的博客 1万+

线性代数学习笔记(十)——矩阵运算(二)

本篇笔记讲解矩阵的幂运算和矩阵的转置,其中矩阵进行幂运算的前提是矩阵为方阵,矩阵幂运算的两条性质与数的幂运算规则类似;矩阵转置的定义与行列式转置类似,但要注意由于矩阵的行数和列数不同,所以转置之后行数和列数变换。

li2008kui的专栏 1万+

ArcGIS Engine 9.2 实现要素闪烁

使用IScreenDisplay实现1 publicstaticvoidFlashGeometry(IGeometrygeometry,IScreenDisplayscreenDisplay,IRgbColorrgbColor,Int32delay)2{3if(geometry==null||rgbColor==nul...

weixin_30414245的博客 337

图像质量评估(5) -- 畸变(Distortion)

当图像中原本应该是直线的地方看起来发生了不自然的变形或扭曲时,我们称为图像畸变。有三种类型的镜头畸变:桶形畸变(后文使用英文barrel),枕形畸变(后文使用pincushion)和胡子畸变(后文使用英文wavef或mustache,这种畸变里包含了桶形畸变和枕形畸变)。有一个重要的点需要注意,根据透镜的类型以及透镜是否能够从相机中移除等条件不同,畸变会有不同的表现。 总的来说,旋转对称光学系统功能上会产生和物体几何相似的图形。但也有少数特殊的系统是例外,例如鱼眼镜头,这种镜头几何是故意设计为

vivo01的专栏 2万+

ArcGIS中对一组查询结果同时闪烁的实现

  单个要素闪烁很简单,关于多要素同时闪烁主要参考这两篇资源 Arcgis 要素闪烁 http://blog.youkuaiyun.com/chyocean/archive/2008/04/28/2337418.aspx /// &lt;summary&gt; /// Defining a renderer for your layer /// &lt;/sum...

weixin_34252090的博客 454

第150篇 激光雷达点云分割——地面分离、聚类分析和物体提取

本文介绍了点云分割的三种经典几何方法:RANSAC地面分离、欧式聚类和区域生长。RANSAC通过随机采样拟合平面实现地面分割,欧式聚类基于空间距离进行物体分割,区域生长则结合法线信息提升分割精度。文章对比了各种方法的优缺点,提供了参数选择建议,并指出实际项目中常组合使用这些方法。最后给出了面试应答技巧,强调几何方法速度快、可解释性强等优势,适合大多数机器人项目的实时需求。

郑伟强dev的专栏 192

【RTD】二分法查找和分段线性插值算法在RTD中应用

二分法查找和分段线性插值算法在RTD中的典型应用。

只要思想不滑坡,想法总比问题多。 2373

IfeatureSelection:SelectFeatures方法介绍

已知一个要素图层和我们的选择条件,寻找出符合要求的要素并闪烁显示,使用的IfeatureSelection接口的SelectFeatures方法Public Sub searchSelection(byval sqlfilter as string, byval pFeatLyr as iFeatureLayer)Dim pFilter As IqueryFilter ‘做一个过滤器pFilter

旅途 8966

基于STM32、HAL库的WF162A 11BA T&R气压传感器 驱动程序设计

/ 转换为7位地址。* @param temperature: 存储读取到的温度值(°C)* @param temperature: 存储读取到的温度值(°C)* @param pressure: 存储读取到的压力值(bar)* @param pressure: 存储读取到的压力值(bar)* @param range: 压力范围(bar)

corlin6688的博客 363

基于C#的ArcEngine二次开发56:双击属性表跳转目标要素并闪烁

根据ID定位要素并闪烁

m1m2m3mmm的博客 1374

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

ArcEngine中闪烁目标

//闪烁目标        public static void FlashFeature(AxMapControl mapControl,IFeature iFeature, IMap iMap)        {            IActiveView iActiveView = iMap as IActiveView;            if (iActiveView != nul

2279

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

ArcGIS API For JavaScript(4)之图层渐变过渡切换及对点要素图层中新增要素进行符号放大并高亮闪烁动画展示

实现的案例效果如下: 图层渐变效果即是对图层的透明度(0-1)进行动画展示。 透明度变化动画使用dojo框架中 dojo/_base/fx的animateProperty来完成,可针对html原始进行opacity进行设置。 arcgis api的图层渲染后其实都是由一层div包裹着,通过api提供的getNode方法获可取图层div。 在获取div前先确保图层已经初始化并生成dom元素。 渐变方法代码如下: //渐变切换图层,可用于底图切换时达到过渡效果

wokao253615105的专栏 1719

闪烁

//闪烁目标        public static void FlashFeature(AxMapControl mapControl,IFeature iFeature, IMap iMap)        {            IActiveView iActiveView = iMap as IActiveView;            if (iActiveView != nul

旅途 866

AE要素闪烁的两种方法

1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; 6 using System.Linq; 7 using System.Text; 8 ...

weixin_30429201的博客 674
上一篇: Arcgis 要素染色
下一篇: 【转贴】ArcEngine开发之Command控件使用篇
chyocean
博客等级 码龄22年 23粉丝 21原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值