GeoMap学习教程GeoStar之二次开发工具(GeoMap)
一、 概述
GeoMap作为GeoStar NT版的二次开发工具,以COM (Component Object Model)为基础,以“控件 + 对象”的形式,向二次开发用户提供GeoStar NT版的强大功能。
二次开发用户可以利用GeoMap以及其它软件供应商提供的大量构件,诸如绘图、多媒体和数据库对象等,来根据终端用户的需要规划设计满足特定需求的应用程序。
GeoMap由一个OLE控件—GeoMap和一组近20个OLE自动化对象构成,应用于标准Windows开发环境,用户可以根据需要选择合适的开发工具。GeoMap是基于Windows NT 4.0开发的,因而其开发平台也立足于Windows NT 4.0,Windows NT 4.0下的Visual Basic,Dephi,PowerBuilder,Visual Foxpro等环境均适合利用GeoMap进行的软件开发。
用户可以利用GeoMap开发出具有如下功能的应用程序(未列出所有功能):
Ÿ按照工程、工作区并且分层、地物类组织地图数据。
Ÿ分层、地物类显示地图,如道路、河流、边界。
Ÿ地图的漫游与缩放。
Ÿ绘制几何地物,如点、圆、线、多边形等。
Ÿ显示地图注记。
Ÿ符号化显示地物。
Ÿ点查询方式选中地物。
Ÿ线穿越查询方式选中地物。
Ÿ范围包含查询方式选中地物。
Ÿ计算点、线或面边界的缓冲区。
Ÿ缓冲方式查询地物,可以选中距离点、线或面边界一定距离内的所有地物。
Ÿ利用SQL表达式选中地物。windows开发平台
Ÿ对选中的地物进行统计。
Ÿ专题制图
Ÿ在矢量地图上叠加影象,进行影象与矢量图的匹配。
Ÿ添加、修改、删除选中地物的属性数据。
Ÿ添加、修改、删除各种几何类型的地物。
GeoMap学习教程
Ÿ添加、修改、删除地图注记。
Ÿ地图数据的打印与打印预览。
ŸGeoStar数据与其它GIS软件间数据的转换。
对GeoMap提供的功能进行分类如下:
功能名称描述
基本操作包括所有用户通过鼠标操作获得一个几何对象(圆、矩形框、折线、
多边形等)的方法。
数据的组织与维护包括系统中工作区、工程的创建、打开、关闭,工作区的提交,
层的维护,地物类的维护等。
可视化操作包括地图数据的缩放与漫游,地图数据的分层、地物类显示,显
示比例尺的控制,显示范围的控制,层与地物类显示顺序的控制,
显示窗口的风格、属性的控制,地物的符号化显示、随图放大显
示、注记显示等。
缓冲分析计算包括点、折线、多边形缓冲区的计算。
地物查询包括按照点(Pick)、线(Cross)、面(Contain)的查询操作,利
用缓冲分析计算功能实现的缓冲查询操作,对查询结果的维护,
对查询结果的突出显示,空间对象与相应对象的属性数据数据之
间的联系的维护,并利用这种联系实现空间对象与属性数据的双
向查询等。
编辑操作包括增加、修改、删除点、线、面、注记等地物对象;线、面边
界的内点增加、移动、删除;线、面对象的分割、合并。
专题制图根据来自各种数据源的属性数据的特征和制图目的,选用适当的
制图方法和图型以图形的方式再现属性数据的特征,包括分级统
计制图、分区统计制图、质底法制图。
影象叠加以影象作为矢量图的背景,影象图与矢量坐标匹配,同步缩放。打印输出包括打印输出到一页和按照给定的比例尺分页打印两种方式,提
供打印输出前的预览功能。
数据交换实现其它GIS软件数据向GeoStar数据格式的转换,支持的外部
数据格式包括Arc/Info E00, MapInfo交换格式,AutoCAD DXF
格式,等。
GeoMap学习教程二、 GeoMap的设计基础
传统的软件开发模式开发出的应用系统,往往缺乏结构性,其资源使用的效率低下,并且难以与其它的应用程序实现真正的互用,系统的可靠性和可维护性在很大程度上取决于开发人员的经验和能力。基于部件的新型的软件开发技术,为应用系统的开发提供了新的思路,开发人员首先实现可靠的、小的对象模块(部件),或是直接从其他软件开发商获得需要的功能部件;然后利用这些功能部件装配成更复杂的符合应用要求的系统。通过控制各个小部件的可靠性和可维护性,实现对整个应用系统的可靠性及可维护性的控制。
目前,在如何编制部件的技术规范方面,存在着两个阵营:微软公司的部件对象模(COM)和多厂商的公共对象请求中介结构(CORBA),这两个标准的目标都是让开发人员通过装配部件来生成应用程序,这些部件带有可预测的标准接口,开发人员不必关心部件位于何处、是由谁设计的。
武汉吉奥信息工程技术有限公司研制的GeoStar的部件开发平台GeoMap是基于微软公司的Windows  NT4.0,因而微软公司的COM及其分布式部件模型(DCOM)成为GeoMap开发的技术基础。COM技术是一种面向对象的技术,与C++这样的技术相比,它是一种二进制的标准,所以当部件升级时,应用不需要编译,而且COM不局限于某一种开发语言,利用不同语言开发的、支持COM的部件可以混
合使用。新的COM标准有可能实现网络透明,也就是说开发人员使用部件开发的应用,可以直接利用网络上的COM实现分布式应用而不需网络编程。
OLE(ActiveX)技术可以看作是微软公司对其所提出的COM模型的具体实现,COM能被广泛接受为部件软件开发模型的一个主要原因就是由于OLE,OLE使COM不再仅仅是一个模型或规范,它使开发者能够真正体会到基于COM的软件设计方式的优越性。OLE/ActiveX 具有相当复杂的技术内容,它包括若干种适应不同需要然而有密切相关的技术,主要包括:结构化存储(Structured Storage),单一数据传输(Uniform Data Transfer),拖放(Drag and Drop),OLE复合文档(又分成嵌入(Embedding)、链接(Linking)和在线编辑(Visual Editing)),假名(或称智能化名(Name and Binding)),自动化(OLE Automation)和控件(OLE Control)。如图2-1所示。
GeoMap学习教程
GeoMap的设计利用了OLE/ActiveX技术中的自动化技术及控件技术。GeoMap提供一个可视化的控件和一组自动化对象,作为自动化服务器(Automation Servers),开发者利用自动化控制器(Automation Controller),如Visual Basic, Delphi, Visual C++, PowerBuilder和Visual FoxPro等,编写代码操纵自动化服务器上提供的属性、方法,为自动化服务器的事件添加事件处理例程,完成部件到应用软件的装配过程,生成适应用户要求的系统,这些系统即是使用自动化服务器的客户(Automation clients)。
GeoMap为GIS应用提供了理想的开发工具,开发者可以用任何一种支持COM技术的开发工具,如Visual Basic, Delphi, Visual C++, PowerBuilder和Visual FoxPro等,来操纵GeoMap 中提供的控件和自动化对象,既可以实现满足自己应用要求的功能,又可以选择设计出体现自
GeoMap学习教程己风格的应用程序界面,将功能化与个性化完美结合。