智能遥控开关接线图:MapObject的体系结构

来源:百度文库 编辑:中科新闻网 时间:2024/05/07 08:31:57
有人知道是什么吗

MapObjects的体系结构

MapObjects可以说得上是最优雅简洁的GIS软件组件。我们这么说,是因为它以最少的接口提供了常用的GIS功能,甚至GPS的动态特性,同时做到了结构合理,简单明了,容易理解和扩展。与之相比,其他的GIS组件,要不是由于提供的功能过多而破坏了其内在的结构美并影响了用户扩展的灵活性,就是结构过于简单而使功能大大弱化。可以说,MapObjects在功能和结构两者之间,取得了完美平衡,体现出了软件的艺术性,给人带来愉悦的感受。

1.1 数据结构
从MapObjects对地图数据的组织方式来看,概念清晰,易于理解。它认为一个综合性的地图由多个图层构成,图层数据来源广泛,既可以是GIS矢量图层,也可以是CAD图层,甚至影像数据。对于GIS和CAD的矢量图层,其内部统一用记录集(Recordset)来表达,这样就抹平了各种不同格式数据之间在内存中的表达鸿沟,简化了程序员的数据观点。记录集正象关系数据库中的二维表,行表示每个要素、列表示每个属性。如果含有名称为 “Shape”的列,则该记录集表示的是地图要素,否则表示的是普通的数据库表格。这样,在数据结构内部就消除了GIS和MIS数据之间的差异,使程序员开发GMIS综合应用系统易如反掌。

Shape字段以面向对象的技术封装了要素的图形部分。它把图形划分为三种类型,即点、线、面。这些几何类型既简单又复杂,说它简单,是因为很容易理解,所有的图形归根到底都是由点、线、面构成的;说它复杂,是因为这些点、线、面并不是简单的点、线、面,实际上它引入了一个部件(Part)的概念,由点构成部件,部件由复合点构成、线和面则由部件构成。

如果只有一个部件,则它是简单的线或面,如果有两个以上的部件,则构成复合线或面。例如夏威夷群岛,由很多小岛屿构成,但它是一个整体,其中的每个小岛都可以用Part来表示,多个Part构成的多边形放到一个Shape字段中。

至于注记,则被描述为属性字段的自动标注。标注的位置由Shape字段中的图形要素决定,它可以是点、线或面,通常是线。标注的内容由普通属性表示,既可以是字符型,也可以是整型或浮点型,通常是字符型。这样,一切要素既可以按图形表示,也可以按其属性内容标注显示,甚至可以两者同时显示,地图显示和制图的方式是极为灵活的。

1.2 功能接口
再从MapObjects所提供的功能接口来看,常用的地图应用基本上都能实现,例如:

* 创建新的Shape文件
* 更新属性或图形数据
* 绘制点、线、椭圆、矩形和多边形等图形要素
* 绘制描述性的文本注记
* 地图简单点取查询、空间查询、相对位置查询、SQL逻辑条件查询等
* 空间统计
* 地图缩放和漫游
* 丰富的绘图方式,如按值润色、分类显示、绘制密度图、产生含各类图表的专题图等。
* 属性自动标注
* 显示航空和卫星遥感影像
* 动态显示实时或顺时数据,如GPS动态监测
* 地址匹配
* 投影变换
* Buffer、Union、Intersect等空间分析算子

通过调用这些接口,能够开发从简单的电子地图应用,至复杂的基于GIS/GPS/RS的3S应用。利用空间分析算子,甚至可以构造出具有一定复杂度的空间分析模型。由于提供了数据更新接口,用户能够扩展出自己的编辑工具,富融公司便基于MapObjects 2.0/2.0a/2.1扩展了近50种的编辑工具,使之能够满足更为广泛的应用要求。