[发明专利]实现图形节点捕捉的方法无效
申请号: | 201210199256.0 | 申请日: | 2012-06-18 |
公开(公告)号: | CN102799352A | 公开(公告)日: | 2012-11-28 |
发明(设计)人: | 何小军;姚圣华 | 申请(专利权)人: | 江苏智途科技有限公司 |
主分类号: | G06F3/048 | 分类号: | G06F3/048 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 225000 江苏省扬州市*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 实现 图形 节点 捕捉 方法 | ||
技术领域
本发明涉及一种在ArcGIS平台下实现节点捕捉的方法,尤其是一种能够直接、实时地反映捕捉到的节点的捕捉方法。
背景技术
节点捕捉,是获取已有图形坐标的一种技术。在数据编辑过程中,有着不可或缺的作用,直接关系着用户的体验和编辑效率。在CAD软件中,由于注重图形设计,着重于数据编辑功能,在节点捕捉功能方面,就是一种“所见即所得”的方式。用户在新建和编辑图形过程中,可以直观的见到捕捉的节点;相反的,GIS软件注重数据的管理和共享,特别是海量的空间数据库的管理,区别于CAD软件的文件管理,在节点捕捉方面,还不能做到所见即所得,而且由于数据量巨大,在捕捉效率方面也存在一定的瓶颈。总得来说,ArcGIS软件下的节点捕捉功能存在以下不足:
1、相较CAD软件而言,存在操作不方便、不直观的缺点。在ArcGIS 9.3平台中,为了捕捉已有图形的节点坐标,有两种操作方式。一种操作是在要捕捉的节点处单击右键,在右键菜单中选择捕捉菜单,执行捕捉;另外一种操作是打开图层的捕捉方式,直接单击节点进行节点捕捉。在9.3的升级版本ArcGIS 10中,虽有改进,但和CAD软件比较起来,还有明显的差距;
2、捕捉方式不灵活,用户可控制性差。在CAD软件中支持多种节点的捕捉,在捕捉时能够执行快速的捕捉。为了提高捕捉效率,用户可以定向捕捉(即只捕捉某一类型节点),也可以在同时执行好几种条件捕捉时,找到最优的捕捉点;
3、不能兼顾效率和使用习惯。在海量数据的条件下,如何保证捕捉效率,并以“所见即所得”的方式去捕捉节点,在现有的条件下,也需要一定的优化策略才能实现。
发明内容
为了解决上述ArcGIS二次开发应用系统的捕捉问题,本发明提供了一种实现图形节点捕捉的方法,主要包括如下步骤:
步骤一:捕捉对象初始化;
步骤二:在ArcGIS命令ITool的MouseMove函数中,实现捕捉过程:
首先,计算捕捉节点:
将捕捉节点分为两类:常规节点与非常规节点,常规节点包括节点、中点和最近点,非常规节点包括圆心、交点、垂点和延长线上点;利用ArcGIS提供的二次开发接口,常规节点的捕捉可以直接获取,非常规节点可以通过所述接口提供的数学方法来计算;
(1)使用IFeatureCache接口建立要素缓存,捕捉时只需对IFeatureCache集合中的要素进行捕捉;
(2)使用ArcEngine中的IHitTest接口作点击测试,以判断当前给定点和容限范围内是否能捕捉到点;
(3)常规节点的捕捉:
(a)判断当前捕捉点是否在要素缓存所包含的范围内,如果包含,则转下一步,如果不包含,则根据当前点和节点捕捉半径重新构建要素缓存;
(b)获取要素缓存的要素,如果要素为空,则返回空;
(c)判断是否能够捕捉到最近点,如不能,则获取下一个缓存要素,转步骤(b);
(d)判断当前是否设定了中点的捕捉,如果有,则转下一步;没有,则转步骤(h);
(e)判断当前是是否能捕捉到中点,如不能捕捉则转到步骤(h),如有则转下一步;
(f)判断是否捕捉端点,如果否,则返回中点坐标;如果是则转下一步;
(g)判断是否能捕捉到端点,如果能则返回端点坐标,否则返回中点坐标;
(h)判断是否捕捉端点,如果是则判断是否设置了捕捉端点,如果是则返回端点坐标,否则下一步;
(i)判断是否捕捉最近点,如果是则返回最近点坐标,否则获取下一个缓存要素,转步骤(b);
(4)圆心、垂点、延长线上点的捕捉:
(a)通过当前点坐标和捕捉半径构建单要素选择集;
(b)判断捕捉类型,如是圆心则转下一步,如果是垂点则转步骤(d),延长点则转步骤(e);
(c)获取要素并判断当前要素是否为圆要素,如果是则返回圆心坐标,否则返回空;
(d)获取要素并计算垂点,返回垂点坐标;
(e)获取要素并计算延长点,返回延长点坐标;
(5)交点的捕捉:
(a)通过当前点坐标和捕捉半径构建多要素选择集;
(b)要素之间两两求交点,得到交点则返回交点坐标,否则返回空;
然后,绘制捕捉点标记:
利用ArcEngine中的IDisplay接口,当捕捉接口捕捉到点之后,通过捕捉点构建要素,并采用符号参数进行绘制。
进一步,所述绘制捕捉点标记的绘制流程为:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江苏智途科技有限公司,未经江苏智途科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210199256.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:荷包烫贴固定板
- 下一篇:仿古建筑大屋顶大跨度飞檐斗拱钢骨架