- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
AE下实现测量
利用ArcEngine实现距离量测,面积量测的功能已很简单,相信众多的ArcGIS爱好者都能写. 但单纯的实现功能总觉得欠什么.本人喜欢改代码,喜欢优化代码,在原有的功能基础上总喜欢润色,使之更好看.前一整子在玩skyline时看到 skyline 的测距功能能实时显示量测的距离,于是联想到之前自己用C#+ArcEngine 写的测距功能.何不也优化一下自己代码? 想到就做到.最近手有点痒,算练练手.废话少说,先附上效果图:说明:1.本功能的特点在于在量测的过称当中实时显示量测距离,并将结果实时显示在测距上方.在显示窗体上也显示量测的总距离.要点:1. INewLineFeedback 负责画线;2. 在OnMouseDown事件中计算量测距离,并向GraphicsContainer添加线和节点的Element;3.在OnMouseUp事件中实时计算距离随鼠标移动后产生的新距离.4. 将节点,量测值,线的element都分别存入到节点组和轨迹线组(IGroupElement),即用IGroupElement同一管理这些element; 最后将这些groupelement又添加到一个总的groupelement.这样做的目的在于好控制这些element,特别是启动新的量测或取消量测功能时可以控制这些element,而不必去用IGraphicsContainer.DeleteAllElements来清除这些element,使用IGraphicsContainer.DeleteAllElements会将所有的element删除.5. 量测值element 为ITextElement, 由于他停靠在轨迹线的上方,因此需要对量测值element进行一定角度的旋转,旋转角度由轨迹线的方向角决定.6. 绘制element之后的刷新问题也是比较重要的. 刷新范围一定要控制好,太小了,添加的element显示不出来,太大了,浪费. (实在不好控制就刷新整个extent吧,呵呵)核心代码如下:1. TrackLine类//=================================功能测距==========================//描述:实时显示测量距离,节点位置,总长度//编程:?Jin开发时间:2009.8.10-2009.8.11//特点:实时计算量测距离.//缺点:?由于采用element做为显示内容,地图进行放大缩小操作后并不能很好//控制量测值element和轨迹线element之间的距离间隔.//===================================================================using?System;using?System.Drawing;using?System.Runtime.InteropServices;using?ESRI.ArcGIS.ADF.BaseClasses;using?ESRI.ArcGIS.ADF.CATIDs;using?ESRI.ArcGIS.Controls;using?ESRI.ArcGIS.Carto;using?ESRI.ArcGIS.Geodatabase;using?ESRI.ArcGIS.Display;using?ESRI.ArcGIS.Geometry;using?System.Windows.Forms;namespace?MhGis.GisTool.Pb_Toolbar{?class?TrackLine?:?BaseTool?{?private?IHookHelper?m_hookHelper?=?null;?private?INewLineFeedback?m_NewLineFeedback?=?null;?private?IPointCollection?m_ptColl;?//记录节点?private?MeasureMsgInfo?_MsgInfo?=?null;?private?IPolyline?m_TraceLine?=?null;?//完整的轨迹线?//?private?IGroupElement?m_Elements?=?null;?//用于保存包含此功能产生的所有Element?private?IGroupElement?m_TraceElement?=?null;?//测距轨迹线?private?IGroupElement?m_VertexElement?=?null;?//结点?private?IGroupElement?m_LabelElement?=?null;?//?距离标记?public?TrackLine()?{?//?//?TODO:?Define?values?for?the
您可能关注的文档
- 现代连接技术.doc
- 平面显示器.doc
- 线性马达.doc
- Unit 1 Module 1.ppt
- 【股票指标公式下载】-【通达信】会员专用(卖出、底现、机构做空能量线).doc
- 液晶显示器DVI接口知识详解.doc
- 55寸视频监视器,高清监控液晶显示器55寸.doc
- STM32F10x_EXTI.doc
- 学校样文1.doc
- 温国强论文.doc
- 第12课 大一统王朝的巩固 课件(20张ppt).pptx
- 第17课 君主立宪制的英国 课件.pptx
- 第6课 戊戌变法 课件(22张ppt).pptx
- 第三章 物态变化 第2节_熔化和凝固_课件 (共46张ppt) 人教版(2024) 八年级上册.pptx
- 第三章 物态变化 第5节_跨学科实践:探索厨房中的物态变化问题_课件 (共28张ppt) 人教版(2024) 八年级上册.pptx
- 2025年山东省中考英语一轮复习外研版九年级上册.教材核心考点精讲精练(61页,含答案).docx
- 2025年山东省中考英语一轮复习(鲁教版)教材核心讲练六年级上册(24页,含答案).docx
- 第12课近代战争与西方文化的扩张 课件(共48张ppt)1.pptx
- 第11课 西汉建立和“文景之治” 课件(共17张ppt)1.pptx
- 唱歌 跳绳课件(共15张ppt内嵌音频)人音版(简谱)(2024)音乐一年级上册第三单元 快乐的一天1.pptx
文档评论(0)