预览加载中,请您耐心等待几秒...
1/3
2/3
3/3

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

测绘标准化2009:25(2)37 使用VC++开发基于ArcEngine的3维 管线距离分析组件 田锋1蒋许锋2 (1.宁夏回族自治区基础地理信息中心宁夏银川750021) (2.天津市测绘院天津300381) DevelopanArcEngine2basedComponenttoAnalyzethe Distanceof3DPipelinesbyUsingVC++ TIANFengJIANGXufeng 摘要:采用GIS管理管线有着非常重要的意义。3维管线的距离分析与空间关系的展示,无 论对于管线规划、管线检测还是为其他工程提供管线资料都非常重要。通过分析3维管线的 特点,结合行业的业务需求,采用VC++结合相关技术,完成3维管线的距离分析与展示,最终 实现了基于ArcEngine的、符合ArcGIS标准的组件,并在GIS系统中得到实际应用,为管线测量 数据的检查、管线规划提供了分析功能,为其3维展示提供了更为直观的查看方式。 关键词:3维管线;ArcEngine;COM组件;ATL 中图法分类号:P208 无论城市还是农村,地上地下都分布着各种COM库,不但可以被ArcMap快速方便地调用(通 电力、给排水、燃气、通信、有线电视等各种管线。过工具栏引入),也可以被其他多个应用程序调 计算机技术的发展尤其是GIS技术的发展,使得用,并且可以组合成特定的工具条。这一特色充 这些管线的管理,由传统的MIS加图纸的方法,逐分地展示了COM结构在软件工程管理上的灵活 渐向充分利用计算机视觉表达、更加直观查看、深性与相对独立性。其原理在于主控件(MapCon2 入分析的管理模式发展。trol)可以设定一个当前正在使用的工具(某个 管线管理中,2根管线之间的距离分析非常COM对象),而这个工具是按一定的规则制作的 重要。不同性质、用途、材质的管线,对它们之间(ICommand/ITool接口的实现),主控件在特定事 的空间距离有着严格的要求。据报道,墨西哥城件(如鼠标、键盘事件)里调用工具里对应的方 一次由于汽油泄漏导致连锁爆炸,其原因在于2法,再通过其他组件共同协作,即可完成各种地图 根不同材质的钢管互相侵蚀,天长日久造成破损。的操作。MapControl控件和其相关的接口提供了 所以,3维管线的距离分析无论对于管线规划、管获取控件窗口句柄(Hwnd),这样还可以通过其他 线检测还是为其他工程提供管线资料都非常重WindowsAPI完成直接画屏幕等几乎所有功能。 要。ArcEngine具有灵活地组合、强大的可扩展性、丰 富的GIS功能及快速的开发方式。 1ArcEngine工具包 2VC++的ATL ArcEngine是ESRI公司推出的基于COM/ ActiveX的开发包,用户可以快速方便地搭建自己VC++是Microsoft提供C++的快速开发工具, 的桌面应用程序,也能扩展进行WebGIS的开发。虽然目前VisualStudio的版本越来越高级,但VC++ 基于ArcEngine开发最大的优势与特点是可的变化却很小,只是增加了一些新的功能如ATL 以开发所谓的“工具包”。这种包本质上是一个Server等。ATL即ActiveTemplateLibrary,是VC++ 38测绘标准化2009:25(2) 中专门开发COM组件的一套基本库。正是由于这 种基于底层的COM开发方式,使得程序的运行效率 非常高,也使得开发团队的稳定性保持很高,虽然 开发本身的效率并不很高。 使用ATL开发COM,可以快速地实现各种接 口,为客户程序提供黑箱的功能。利用接口的“实 现”(Implement)可以很好地规划各种COM之间的 图1共面 级别关系,从而更好地管理整个软件工程。但是, 在界面的开发上、数据类型的处理上与其他开发语 言有很大的区别,即使与MFC(虽然ATL与MFC 可以混合使用,但是很多程序员更愿意使用纯粹的 ATL)也有很多的区别。MSDN提供了一个有效的 头文件“ATLControls.h”,能比较方便地对界面进 行编程。可以使用STL实现UNICODE的字符串处图2异面 理、动态数组等常用数据结构和算法。上述图中,虚线即为2根线段之间的最短距 离。通过相关公式推导和计算步骤,可以求得2条 维管线距离计算 线段间的最短距离。 管线包括圆形、方形和其他异形管线,本文中 实现结果 将管线抽象为通过管心的空间线段。空间线段的 关系分为共面与异面2种,它们各自分别包含如距离分析界面见图3,点击图3中对应的按钮, 下情况,见图1和图2。即可从图上得知相交的点。 图3距离分析界面 图43维展示的结果 测绘标准化2009:25(2)39 现代测绘技术在矿山开采沉陷中的应用 卢辉刘长星 (西安科技大学陕西西安71005