在Mapinfo系统中嵌套Access7_0的方法.pdf
在Mapinfo系统中嵌套Access7. 0的方法 邹艳红 向南平 刘兴权 中南工业大学国土测绘信息研究所410083 【摘 要】 本文从应用开发的角度阐述了Access7. 0在基于M apinfo二次开发系统中的应用方法与技术,结合土地管理 信息系统的开发实践,讨论了如何将Access中可视化的面向对象方法和工具引入基于M apinfo应用系统开发的过程。 一、 引 言 M apinfo是美国M apinfo公司开发的标准的桌 面地图信息系统,由于其强大的空间数据可视化功 能以及地理分析和定制应用开发的能力,被广泛应 用于土地管理等办公自动化系统的开发。M apbasic 是M apinfo的二次开发语言,利用M apbasic编程进 行二次开发可根据用户的要求扩充系统的功能,但 M apbasic是类Basic的编程语言,在某些功能的开 发上,如定制美观的用户界面以及报表的制作方面, 不如VB等可视化面向对象的应用软件。 基于此,如 果能在M apinfo的二次开发过程中加入其他可视 化的软件应用,基于M apinfo开发的应用系统将更 显美观实用,能进一步达到系统用户化的目的,且制 作起来相对简单容易。 考虑到M apinfo4. 1可 直 接 访 问M icrosoft A ccess数据库,同时可将M apinfo内置的关系数据 库另存为A ccess数据库,并且,通过M apbasic编 程,M apinfo系统中可运行其他应用程序。笔者在基 于M apinfo二次开发的城镇土地管理信息系统中,尝 试了利用A ccess7. 0制作数据输出子系统的过程。 二、Access功能简介 A ccess7. 0是M icrosoft公司开发的功能强大 的多媒体数据库管理系统,是M icrosoft Office97组 件之一。A ccess7. 0提供了许多实用的辅助开发工 具,具有面向对象的V isual basic编程能力,支持开 放数据互连技术ODBC , 既可作为OL E客户,也 可作为OL EA tomation服务器,具有优良的创建和 维护数据库及其对象的能力,广泛应用于信息系统 的开发。 A ccess是面向对象的数据库,采用事件驱动的 程序设计方法,由Table、Q uery、、Report、 M acro、M oudle对象组成。其中窗体对象由许多可 访问的W indow s图形控件组成,主要用于维护数据 库信息,作为用户界面具有开发简单和美观实用的 特点。A ccess提供一个图形控件工具箱,其中每一 个 工 具 以 按 钮 的 形 式 表 示,大 多 数 工 具 均 用 W indow s中通用的资源符号表示,可用其选择相应 的资源,如命令按钮和列表框等。 用户只要用鼠标点 取控件按钮,便可将其拉至窗体的相应位置,通过鼠 标的拖放或控件属性的改变可自由地改变图形控件 的位置、 大小、 背景颜色及内容等。窗体及每 一个图形控件均有一个属性列表框,通过在属性列 表框中赋值或编写宏M acro和函数外Function赋 值,可修改相应的属性。 当图形控件位于窗体中作为 维护数据库记录时,控件与Table或Q uery相关 联。A ccess是采用面向对象方法作为程序设计思想 的,即由事件触发图形控件产生响应而达到用户的 目的,这些事件有的是在人机对话过程中产生的,如 鼠标、 键盘事件;有的则是由计算机内部的某种状态 而触发的,如到达某一时刻或程序设置的某种状态。 A ccess能够判别事件,用户只须设计响应事件时应 该完成的事件功能,即编写函数模块或宏。 三、Access在基于Mapinfo二次开发中 的应用方法与技术 笔者在开发基于M apinfo的土地管理信息系 统中,利用A ccess7. 0开发了数据输出子系统。 下面 结合开发过程对A ccess在基于M apinfo二次开发 中的应用方法与技术进行探讨。 1. Mapinfo与Access间的数据转换 M apinfo自带关系数据库,以表Table的形式 组织图形与属性信息,一个表可看成一个图层,每个 表包括一组M apinfo文件,由以下文件组成 ① 3. tab表结构文件; ② 3. dat. dbf. wks. xls ⋯不同格式的数据 文件;如果表中包含有图形信息则与之相关的文件 还有 ③ 3. map表的图形目标文件; ④ 3. id连接数据目标的交叉参考文件; ⑤ 3. ind表的列索引文件。 82 测 绘 通 报 1999年 第8期 利用A ccess7. 0进行数据输出时,首先必须进 行数据的转换。 通过M apbasic编程可将M apinfo的 属性数据库另存为A ccess数据库3. mdb , 其语 句为 Comm it Table table A s filespec Type {A ccess Database database- filespec Table tablename} 其中, table与filespec为将要被另存的. tab文 件与路径, tablename则为另存的A ccess数据库 . mdb 名。例如土地管理信息系统中的土地使用 证输出,其输出格式应按国家土地使用证标准表格 制作,表格中的数据来自地籍调查和土地登记子系 统,其数据保存在M apinfo内置的关系数据库中, 用A ccess进行数据输出时,首先必须进行数据转 换,将M apinfo中的属性数据经格式转换保存在 A ccess数据库中。 2.界面设计与报表输出 采用A ccess制作的子系统必须集成在基于 M apinfo开发的主系统中,一般以菜单的形式挂在 主系统中,单击该菜单即弹出子系统界面。在 M apinfo中,通过M apbasic编程可实现这一过程, 其程序语句为 Run Program program-spec 其中program-spec为 后 面 带 数 据 库 名 的 A ccess执行程序,该语句加在数据转换的程序中进 行编译,以菜单的形式将该功能挂在系统的主菜单 中。例如用A ccess制作的数据输出子系统便是以 菜单的形式集成在土地管理信息系统中,单击该菜 单项即进入数据输出的子系统界面。 具体的子系统设计中,在A ccess启动菜单栏中 修改了标题,对窗体中的菜单和图标重新进行了定 制,整个子系统的制作均采用A ccess的控件工具箱 和宏命令或编写模块函数完成,如利用A ccess的窗 体对象设计子系统界面、Report制作输出报 表报表中的数据来自相应的. mdb数据库 , 再通 过A ccess中的宏命令或编写模块函数进行联结。 例 如在数据输出子系统界面中,用户只要双击土地证 输出按钮,即弹出输出窗体,用户可输入土地使用者 姓名或地号来预览和输出土地使用证报表。输出完 成后单击返回按钮即弹出确认窗体,确定后返回土 地使用证输出界面,可继续使用,也可按界面上的返 回按钮返回至子系统界面,再按其上的退出按钮返 回到土地管理信息系统主菜单中。下面以窗体与报 表的设计为例介绍利用A ccess制作系统界面和输 出报表的过程。 A ccess的窗体提供了最灵活的方式来查询、 添 加、 删除和打印记录,目的是简化管理数据的处理过 程。 通过窗体的媒介,可将数据库内的数据以特定的 方式显示给用户,而用户也可将数据输入到数据库 中。窗体中具有Design和两个视图,在设计 窗体前,应先选择数据库窗口或查询窗口中所需的 表格,作为窗体的数据来源,然后打开窗体的 Design视图,利用工具箱中的工具进行窗体设计。 A ccess将窗体中的按钮、 列表框、 复选框等称为控 制组件,用户可在Design视图中选择、 调整大小和 移动控制组件使设计的窗体美观实用。报表中也具 有Design和Report两个视图,其设计方式与窗体 的设计差不多,只是在功能上窗体主要用于维护数 据库信息,而报表的主要功能是将数据库中需要的 部分提取出来,再加以整理计算,以格式化的方式打 印出来。 用户可通过窗体界面输入数据保存到相应的数 据库,也可在界面上输入信息查阅数据库中的相应 数据,并以报表的形式打印出来。 该功能可通过宏命 令或编程的方式实现。如在土地管理信息系统的数 据输出中,按地号或土地使用者名称输出土地使用 证时,输出界面如图1所示。 图1 土地使用证输出界面 其输出功能是通过宏命令OpenReport实现 的,操作参数如下 报表名称土地使用证 where条件 [地籍号] [ s] [打印] [地 号]或 [土地使用者名称] [ s] [打印] [土地 使用者名称] 其中,土地使用证是笔者设计的输出报表名称,“打 印” 是被设计的输出窗体名称,“地号” 和 “土地使用 者” 则是该窗体中用来输入信息的文本框,文本框中 下转第35页 921999年 第8期 测 绘 通 报 DTM ,那么GIS 3D认为地面为平板一块,其板块的 大小来自以后即将输入的地籍数据。地籍数据是不 可缺少的,各建筑物的基座将被投影到DTM上,如 果有摄影测量数据,那么,建筑物的顶部和高度将被 精确算出,在没有的情况下,如存在建筑物的楼层数 和每层的平均高度,楼房亦可建立3维模型。 该软件包的输出格式也很灵活,其本身所带的 3维格式转换器可以将现有的绝大部分3维格式包 括在其中。 这一功能使得其下一步工作极为方便。 若 要进行适时3维演示,包括在该软件包中的3维演 示功能,可以让人们如临其境。 若要对3维模型进行 编辑,软件包本身带有的3维模型编辑器使这一工 作的完成不会遇到任何问题。假如有新的建筑物需 要和已存在的环境结合在一起,那么一方面可以将 新的建筑物通过格式转换器读入GIS 3D的系统中 处理,另一方面也可以将已存在的3维模型转换到 另外的编辑系统中去,比如3D Studio等。 五、 结 论 本文试图从应用的例子开始,介绍一种新的3 维GIS数据的自动转换过程。从广大用户的角度出 发,也是将3维GIS的运用提高到了一种新的阶 段,就是说,用户再也不需要付出巨大的费用和很长 时间的等待,即可将已经存在的GIS数据生动地转 换成自己所需的3维格式,并且可以随时进行各种 各样的运算和编辑。 3维技术的发展是非常迅速的。GIS 3D在完成 了GIS数据自动转换, 3维模型编辑和运算的任务 之后,正在向新的方向发展,即在不久的将来会加入 3维数据库的管理功能,同时与Internet的接口问 题也已在解决之中。 上接第29页 的信息由用户从界面上输入。 另外,结合软件集成 技 术,利 用A ccess的 OL EA utomation功能,可将M apinfo中的地图集成 至A ccess窗体中。 例如在土地使用证输出时,将地 籍调查中的成果图集成到A ccess窗体中,使其与数 据输出紧密相联。 四、 结 论 在基于M apinfo的二次开发应用系统中,利用 A ccess制作数据输出等子系统,将其可视化的面向 对象工具和方法引入系统,制作中主要采用A ccess 的控件工具箱等面向对象的辅助工具,避免了利用 M apbasic编程进行报表制作的烦琐。同时,窗体和 控件按钮的使用,使界面更加美观,系统更加用户 化。 参考文献 1 胡欣洁,路 川.基于A ccess数据库的院士信息管理系 统的研制与实现.软件工程应用, 19983 2 毛一心等. A ccess2. 0在管理信息系统中的应用与实例. 北京清华大学出版社, 1997 上接第31页 在小浪底测量计量工程师每月进行工程量计 量,向总监理工程师及有关部门提供计量数据,包括 本月完成量、 累计完成量、 剩余量等数据。这些数据 充分地说明了进度执行情况,同时也为修改进度计 划提供了依据。 总之,测量计量监理在建设监理 “三大控制” 中 都非常重要,既能保证业主的投资效益和承包商的 合法权益,也能在一定程度上控制工程质量和为进 度控制提供可靠数据。 五、 结束语 建设监理是市场经济的产物,是智力密集型的 社会化、 专业化的技术咨询服务行业。 测量计量监理 是一项艰苦而十分复杂的工作,测量监理人员不但 要有精湛的技能,而且要有高度的责任心和良好地 职业道德。 通过合理选择测量计量监理模式,制定适 合工程情况的测量计量监理协议,正确设置测量计 量监理机构。测量计量监理能够树立起监理工程师 的权威性,在保证工程质量,节约工程投资和加快施 工进度等方面都能发挥十分重要的作用。 同时,测绘 部门要牢牢抓住机遇,拓展测绘市场,推行测绘工程 监理制,推动工程测量技术和测绘管理科学的发展。 531999年 第8期 测 绘 通 报