基于ArcGIS Engine的水下地形等高线断线连接技术研究与实现

时间:2022-08-25 06:20:40

基于ArcGIS Engine的水下地形等高线断线连接技术研究与实现

摘要: ArcGIS Engine作为ESRI公司最新推出的嵌入式组件,具有高效便捷的特点,由于其开发时完全脱离了ArcGIS桌面平台,因而为用户提供了一个可供选择的,有针对性的,低成本的GIS应用选择。本文在简要介绍ArcGIS Engine特点的基础上,对水下地形等高线的断线连接问题进行了研究和实现,并阐述了使用ArcGIS Engine技术在VC++环境下连接不连续等高线的具体实现过程。

关键词: ArcGIS Engi;等高线;断线连接

Abstract: this paper introduced the ArcGIS Engine characteristics, analyzed the disconnection of the underwater terrain contour connectivity problems, and described discontinuous contour using ArcGIS Engine technology to connect VC + + environment specific the implementation process.Key words: ArcGIS Engi; contour; disconnected connection

中图分类号:P208文献标识码:A文章编号:2095-2104(2012)02-

1. 引 言

地理信息系统的软件技术正日益迅猛发展,随着对空间数据需求的增加,把GIS与嵌入式组件技术结合形成一个独立的嵌入式地理空间集成平台是当前GIS研究领域的重要趋势,而基于COM技术的ArcObjects为GIS发展提供了前所未有的灵活性,软件开发者只要有一个可编程的GIS工具包,在构建应用时提供常规的GIS功能即可[1]。ESRI公司将ArcObjects和MapObjects合并而成的ArcGIS Engine为用户提供了有针对性的GIS功能,利用ArcGIS Engine进行GIS应用开发时彻底脱离了ArcGIS桌面平台,提供了新的,更为有效的开发GIS方式。

2. 开发关键技术

2.1 ArcGIS Engine开发技术

ArcGIS Engine则是由AO中的核心组件集单独封装出来,可以脱离ArcGIS桌面版单独运行的组件库,能在各种编程接口中调用,减小了用户的使用费用。利用ArcGIS Engine进行GIS的二次开发具有相当大的研究价值和发展前景,其主要特点有:

(1) 完整的嵌入式GIS组件库:ArcGIS Engine提供了内核操作、显示操作、分析操作、数据存取操作、空间对象操作、系统操作、输出操作等组件群,利用这些组件群,可以搭建一个客户化的服务平台。很多情况下,用户可能只需要在自己的系统平台中实现部分特定的GIS功能,而不需要全套功能的ArcGIS桌面版,按照以往的AO开发要求,用户是必须安装庞大的ArcGIS桌面版的,而ArcGIS Engine推出后,开发者就可以在自己的集成环境下构建某些特定的GIS功能,将需要用到的GIS功能嵌入到自己的集成环境中,而不需要安装桌面版,从而减小了定制和开发的约束,降低了用户使用成本。

(2) 支持多种开发环境:ArcGIS Engine可以在Windows,UNIX,和Linux桌面上运行并支持一系列的应用软件开发环境,例如:COM,Visual Basic 6,C++,Microsoft Visual Studio .NET,Java等开发环境 (3) 开发方便快捷:ArcGIS Engine包含一个构建定制应用的开发包,开发者只需在自己的计算机上安装此工具包就可以很方便地进行开发。同时ArcGIS Engine通过在开发环境中添加控件、工具、菜单条和对象库,在应用中嵌入GIS功能,可扩展性较强。

2.2 断线连接技术

目前GIS系统的数据源仍旧大量的来源于测绘部门的CAD格式数据,而在早期的CAD制作过程中,并没有考虑到等高线在GIS中连续且闭合的需求,CAD格式的等高线仅仅为了满足出图的需要被打散成间隔不等的断线,且高程属性信息仅仅以标注的形式表达,这些数据转入GIS后根本无法满足空间分析的需求,因此必须先将大量的断线进行初步的连接。近几年来,等高线信息的自动提取问题已有了突破性进展,但现有研究中采用的实验数据一般是基于等高线比较连续的情况,仅存在局部特殊的断点,各种匹配算法也主要在对一些成因较简单的断点进行处理时能取得较好的效果,而针对CAD转入GIS系统时大量断线数据的批处理连接还没有较好的方法。

已有的断线连接方法很多,主要包括基于费曼码的断线连接,基于数学形态学膨胀与收缩原理的断线连接法,基于等高线空间关系结构约束的最大集团图搜索法以及顾及拓扑关系的连接方法等[3],这些方法都是从纯算法角度解决断线连接问题。而随着地理信息系统的广泛应用,如何充分应用GIS系统中的空间分析功能进行基于空间拓扑关系的断线连接技术成为新的研究切入点。

GIS中提供了强大的空间拓扑关系的定义和分析功能,如相交、相离、包含等,使得原本利用数学方法表达起来及其复杂的空间位置关系在GIS中可以用比较简单的语句进行判断。主要还是采用GIS本身的COM组件来实现针对空间对象的操作,通过组件中定义的接口来获得对象及其相应的属性,因此在GIS平台下进行断线连接技术的研究与实现具有方便快捷的特点。

本文针对大批量的水下地形等高线数据由CAD格式转入GIS系统时的断线连接问题,探讨了基于最短距离和最小角度约束的断线连接技术,即完全基于线与线之间的空间位置关系,将距离最近,沿延长线方向角度变化最小的线进行连接,主要算法过程设计如下:

(1) 以每根等高线对象的终点为圆心,一定长度阈值为半径做缓冲,计算落入缓冲区内的其它线对象的个数;

(2) 若落入缓冲区的线对象正好是一根且满足角度约束条件,则直接连接;

(3) 若多于一根,则减小缓冲区半径;

(4) 若没有线对象落入缓冲区,则增加缓冲区半径,当增加到给定的最大半径时仍没有搜索到满足条件的线对象时表明已经到达图幅边缘,此时停止搜索。

本次实验主要用于“江苏省长江河道监测管理系统”中大量等高线数据由CAD转入GIS时的数据处理工作,仅仅用到少量GIS功能,因此选择采用ArcGIS Engine组件将所需要的功能嵌入到自己的应用程序中。

3、结束语

采用ArcGIS Engine不仅使得系统运行效率较高,且不需要安装庞大的ArcGIS桌面版,仅需要在自己的系统中嵌入特定的GIS功能,采用自己熟悉的编程语言进行开发即可。本文介绍了组件式GIS,AO、AE技术,并以水下地形等高线的断线连接为实例,探讨了基于AE利用VC++6.0进行应用程序开发的方法,对实践有一定的借鉴意义。

参考文献

[1] 朱 政.通过ArcGIS Engine构建GIS应用[Z],ESRI中国北京有限公司.

[2] 张 斌. 基于ArcGIS Engine的GIS开发技术[J],武汉大学研究生学报(自然科学版),2004,3(21) :173-176.

[3] 陈 丹,龙 毅.基于知识的等高线断点连接方法[J].测绘信息与工程,2003,28(3) ,31-33.

[4] 吴 玮,李小帅,张斌. 基于ArcGISEngine的GIS开发技术探讨[J].科学技术与工程, 2006,6(2):176-178.

[5] ESRI ArcObject Developer Help[Z],Environmental Systems Research Institute Inc,2002.

上一篇:关于专题要素的特征及表示方法 下一篇:海城市生态环境现状研究