1、1用 MO 开发地图修测系统摘要:本文介绍了由辽宁省第三测绘院开发的一套地形图修测数据处理系统软件,说明了开发的起因和软件平台构成,并对软件的主要功能作了概括的描述。 关键字:GIS , MO ,地形图修测 Abstract: this paper introduces the development by the liaoning province third surveying and mapping a set of topographic map the surveying data processing system software, the development that th
2、e cause of the software platform structure, and the main functions of the software for a brief description. Key word: GIS, MO, topographic map the surveying 中图分类号:G255.4 文献标识码:A 文章编号: 从 20 世纪 60 年代地理信息系统(GIS)理论及软件产生以来,就成为城市管理、资源配置、灾难预警、科学决策的强有力的辅助手段。经2过几十年来的快速发展,伴随着计算机系统的大量普及,软硬件价格的不断下跌,性能的不断增强,GIS
3、系统已经遍及全世界,并且已经深入到了世界经济的各个方面,成为人们日常生活中不可或缺的组成部分。我国从 20 世纪 80 年代开始引进 GIS,经过 20 年来的研究、开发,形成了许多我国自己的实用地理信息系统,并研制了许多具有自主版权的 GIS基础软件,如 GeoStar、MapGIS、北京超图等,这些成果的取得,对提高我国的城市管理水平,为我国在 21 世纪的腾飞将起到非常重要的作用。 洛阳市是中国较早开展 GIS 应用的城市之一,1989 年,由洛阳市向世界银行贷款成立了洛阳市地理信息中心,成为中国第一批 GIS 系统的实验基地。十余年来,洛阳市地理信息中心与国内外同仁密切交流,共同努力,
4、一直跟踪着 GIS 软件和技术的最新发展,始终站在 GIS 行业的前沿。其中有失败的教训,但更多的是收获的喜悦。经过信息中心全体同事的通力合作,洛阳市的 GIS 系统从无到有,建立了从地下管线到地面建筑、从 2D 到 3D、从基础地形图管理到各种专题图管理、从数据分散化管理到项目模型化管理的完整 GIS 系统体系,并从 GIS 系统的观点出发,将普通的地图管理上升到用 GIS 的技术和方法提供城市的量化管理手段。或许可以说,洛阳市 GIS 的发展,是我国 GIS 技术发展的一个缩影。 洛阳市地理信息中心 1997 年通过航测建立了1:500、1:1000、1:5000、1:10000 等各种比
5、例尺的城市地下管线电子地图和基础地形电子地图,构成了 GIS 系统的基石,在洛阳市城市管理中也发挥着越来越重要的作用。但是,随着这些年洛阳市城市建设的3快速发展,成片的土地被开发,大量的建筑被重建,条条道路被拓宽,由于地形图一次成图、长期使用的特点,地形图与现状不符合的矛盾也越来越突出,如何加快地形图的修测更新,并与原有的数据完整结合,成为一个非常迫切的课题。 为此,洛阳市地理信息中心专门成立了测量队,进行地形图的修测和补测,地形图的更新工作正式开始,因为配备了非常精干的人员和设备,外业测量的进度很快。但是,随着大量测绘数据的产生,新的问题又出来了。因为城市测量时通视、测位等条件的限制,直接得
6、到最终数据非常困难,导致测到的数据五花八门,有距离参照建筑的平行距离,有垂直于某一建筑的长度等,不一而足。如何有效处理得到的数据,加快数据的处理速度和精度,建立自己特有的处理模型,最大限度发挥洛阳 GIS 系统的长处,与原有的基础数据无缝集成,成为当务之急。最后,经过反复讨论,对这个问题的解决方案终于达成了共识,那就是,建立洛阳市自己的数据处理平台,开发一套地形图修测、补测软件。 一、软件的基本平台 经过深入考虑,反复论证,这套软件应该具有如下特点: 功能完备。 能处理补测时得到的各种数据,或者提供数据转化的工具,使不规范的数据得以转化为可处理的数据。因为新测量的数据是建立在原有数据的基础上的
7、,所以要能够与数据库中的原有数据互相交互。 开发快速。 地形图的更新工作任务重、时间紧,每天都有大量的数据资料产生,4并在大量积压。只有快速建立处理平台,才能保证这项工程的尽快完成。操作简单。 考虑到数据量的问题,操作简单的软件才能减少培训时间,方便增加工作人员,实行并行作业,有效地加快工作进度,用工程化的方法完成这项庞大的工程。 界面友好。 数据处理是一项枯燥、乏味的工作,友好的界面有助于工作人员保持良好的心态,提高效率,保证工作进度。 软件开发进入了日程。 开发自己的数据处理软件,首先要解决软件的开发平台问题。时间非常紧迫,如何选择合适的开发平台,在保证质量的前提下最大限度加快开发速度,我
8、们曾进行了许多的考察和比较。 GIS 软件产品从功能上,可以划分为基础软件平台和内嵌控件式软件平台。基础平台软件可以提供 GIS 系统从数据库设计、数据管理、空间分析、模型管理、地图制作、动态方案比较、网络信息发布等完整的解决方案,是 GIS 系统的基础。而控件平台是近几年来随着计算机软件中COM 控件技术的发展应运而生的新产品,它提供独立于操作系统平台的标准,在二进制级别兼容,能提供访问基础 GIS 平台的简单手段。控件平台一般内嵌于用户自主版权的软件系统中,与用户的专业系统无缝集成,成为一个有机整体,具有极大的灵活性,从一定意义上说,控件平台是GIS 的发展方向之一。 5在林林总总的 GI
9、S 软件中,由美国环境资源研究学会(ESRI)开发的 ARC/INFO 基础软件无疑是最重要的产品之一。该软件是二十世纪六十年代最早开发的 GIS 软件之一,几十年一直是 GIS 行业的“龙头老大” ,虽然随着 GIS 软件产品的日益丰富,其权威地位和市场份额呈下降趋势,但现在流行的 GIS 基本概念和术语、算法基本都出自于该软件,它仍然堪称是 GIS 的旗舰产品,代表着 GIS 总体发展的最高成就。正是因为这个原因,洛阳市地理信息中心在建立之初,就把 ARC/INFO 作为自己构建GIS 系统的基础平台,十几年来的实践也证明了这是一个合理的、成功的、富有远见的决策。在 ARC/INFO 最新
10、系列产品中,其基础平台是 ARCGIS R8.2,可以提供管理一个 GIS 系统的几乎所有的工具和方法,在流行的C/S(客户机/服务器)模式中可以作为服务器使用,桌面产品有ARCVIEW、ARCExplorer 等可以作为桌面客户机,控件平台中,最通用、最重要的一个产品就是 MapObjects(简称 MO) 。 MO 是 Windows 操作系统下标准的 ActiveX 控件,符合 Windows 环境下编程的工业标准。它是目前推出的 GIS 控件平台中规模较小、使用较为广泛的一个,因此经受了较多的检验和纠错,性能稳定而功能强大。该产品由四十多个类组成,每个类代表着一种对象。应用该控件,可以
11、访问几乎所有结构的 ARC/INFO 矢量数据,如 ARC/INFO Coverage、ESRI ShapeFile、SDE Layer,也可以访问 AUTOCAD files、VPF files 等,还可以访问许多栅格图形数据,如img、ovr、bmp、tif、gis、tiff、gif、jpg、jpeg、ras 等。用MapObjects 开发地图相关的系统,可以具有极大的灵活性,缩短开发周6期,丰富开发手段,真正把经典的程序开发工具软件与强大的地图数据访问功能结合起来,优势互补,把开发能力提高到一个新的高度。 Visual C+是美国微软公司基于 Windows 平台推出的功能强大的面向对
12、象的软件开发工具,享有“业界大亨”的美誉,在 Windows 平台编程方面具有不可替代的地位。它建立了从低层控制到高层开发的完整体系,支持几乎所有的最新软件技术成果,特别是它提供的向导技术,可以极大改善编程质量,缩短开发周期,有助于程序员把主要精力集中到项目设计中,减少无谓的干扰。可以说,掌握了 Visual C+,就真正拥有了软件开发的金钥匙。 经过考察和比较,最终决定在 Windows 2000 操作系统下,用 Visual C+ 结合 MO 作为我们开发洛阳市地图修测软件的平台。 而后,经过几个月的奋战,这套软件终于出笼,被立刻用于生产,极大地提高了数据处理的速度,取得了相当令人满意的效
13、果。 二、软件的数据流程 这套软件通过 MO 把库存的地形图数据取到前台,通过键盘和鼠标在标准的 Windows 窗口界面上完成地形图数据的录入和编辑,再通过 MO 在后台与 ARC/INFO 数据库进行交互操作,并把修改后的地形图存入数据库,完成一次更新操作。这个数据流程大致如下: 三、软件的体系结构与功能 7软件采用面向对象的开发软件和面向对象的开发手段,对开发模块进行了细致的划分,其基本的模块及功能大致如下: 地图编辑: 地图编辑功能是软件最主要的功能,也是最复杂、最丰富的部分,集成了地形图修测的全部必需的工具,这些工具极大提高了编辑的效率和速度。 坐标/鼠标增加地物: 可以用坐标和鼠标
14、交互输入折线、点、圆弧等地物,在输入的过程中可以随意切换输入方式。 地物删除: 删除任意选中的地物。 折线分割: 可以将一条折线按照给定的方法分割成多条折线,可以是等长,也可以用鼠标或者坐标指定分割位置。 线段合并: 将指定的多条有相互关系的线段合并成一条线段。 参照平移: 将选中的地物按照参照物做 X 方向、Y 方向、垂直方向等指定距离的平移。 8垂直交汇: 已知一条直线的垂线经过线外一点,可以直接得到垂线和垂足,并可以指定线段的长度。 直线交汇: 得到两条直线的延长线的交点。 缓冲区: 对指定的点或者线段,可以通过指定的距离得到外围的缓冲区,可以是单侧、双侧、圆角、直角等。 定长垂线: 在
15、一条直线(或折线的其中一条线段)的指定端点或节点处处,做垂直于该直线(或线段)的指定长度的垂线。 两点房屋: 在知道一栋建筑与参照地物平行、垂直或者一定转角的情况下,用对角两点就可以唯一确定一栋房屋(矩形)的参数。 三点房屋: 如果一栋房屋是矩形的,通过其中的任意三个角点就可以得到整个建筑的图形。 三点圆弧: 在测量道路弯道时,通过给定圆弧的两个端点和圆弧上任意一点,就可以得到该弯道的几何图形。 端点匹配: 可以将多个选定的直线端点做平移,使之成为共用端点。 91.14、点、线互转: 可以把选中的曲线的转点转化为点要素,反之亦然。 1.15、多点房屋: 测量房屋的一条边以后,通过房屋曲线之间的
16、角度关系,依次生成相邻的曲线,直至全部得到,自动封闭。 1.16、沿线布点: 沿着一条指定的曲线,按照距离和起点要求,依次插入点。 属性编辑: GIS 数据和制图数据的区别在于,GIS 数据本身有自己的属性,可以用做检索、分类和建立模型。因此,属性编辑功能在 GIS 软件中是必不可少的。洛阳市的 GIS 数据包含有各种各样的属性,例如建筑的权属、层数、结构,管线的管径、材质等,对他们的修改也是必须的。 2.1、增加属性字段: 在当前编辑图层的地物属性表中增加一个字段。 2.2、删除属性字段: 在当前编辑图层的地物属性表中删除一个字段。 2.3、属性赋植: 对当前选定的地物,按照其属性表的定义,
17、给指定的属性赋值。 2.4、属性选择: 用属性字段的值来选择地物进行编辑等操作。 10数据 I/O: 软件除了接受键盘数据,还可以接受预先给定格式的文本数据,用以提供批处理能力,减少工作量。同时,完成修改后的数据也可以输出为文本数据,用以通过标准的字处理软件如 Word、Excel 等进行打印制表和备份。 更新入库: 当完成了所有必要的修改后,就要把修改后的数据进入后台数据库,与其他数据融为一体,成为新的现状地形图。这里采用的是 ARC/INFO 的标准数据格式之一 ShapFile,MO 对这种文件格式的操作没有任何限制,同时,从该格式向其他数据格式的转化也是非常容易而且完全无损的。 通过这套软件,我们修改完毕了大量的地形图,并把成果转换成了标准的格式,回到了 ARC/INFO 数据库,与原有的数据无缝集成。 结束语 该软件投入运行之后,给电子地图的修测带来了极大的方便,有效地提高了工作效率。应该说,用 MO 和 VC+结合的方法建立面向电子地图的应用,具有很大的优势,从开发的速度到系统的效率和稳定性都比较令人满意。 在用 VC+ 6.0 和 MO 2.1 开发软件系统时,也曾遇到了一个又一个的难题,由于参考资料的缺乏,有时甚至为了一个语法上的错误辗转反