| 你的位置:首页 >> 工学论文 >> 机械论文 >> 新闻正文 |
|
面向对象技术在G1S数据建模中的应用——GeoDatabase
|
 |
|
 |
|
余应刚 包世泰
摘 要 本文以ESRI公司的ArcInfo8中的Geodatabase为例,详细介绍了面向对象技术GIS数据建摸中的具体应用,说明了面向对象技术在GIS数据建模和数据管理中所起的重要作用,并为面向对象技术在GIS中的进一步应用提供借鉴和参考。
关键词 GeoDatabase;数据模型;地理特征;面向对象技术
随随着面向对象技术(Object-Oriented Technology)的不断发展成熟并广为流行,将其应用到GIS技术中已是一种必然的趋势,并将带来GIS技术的重大进步。
1 地理信息系统(GIS)及其数据特征
随GIS是由计算机硬件、软件、地理空间数据和管理人员共同组成的集合,用以有效地获取、存储、更新、管理、分析和显示各种与空间有关的信息。现有的GIS将地理数据划分为空间数据和属性数据两大类型,这种划分有助于借用已有的数据库技术来管理用户的属性数据,使属性数据得到了高效、强大的数据库技术的管理。与此同时,也使得GIS人员在开发应用软件时将重点放在了对空间数据的管理上。但要使GIS开发人员能更方便有效地处理空间数据,就必须要有好的数据模型来表示地理数据。
随GIS的技术目的是为了更好地利用地球资源和管理人造环境而给用户提供决策支持的空间框架。GIS大多用图形和符号表示信息,还能通过交互式影像地图交流信息,例如你可以索引一个特征的所有已知属性,可以通过网络建立一个点与其它相关点的事物清单,也可以做如水流、污染扩散等模拟测量,这些信息的显示和分析都依赖于怎样从现实世界中建模地理特征。
随地理数据模型是对现实世界的一种抽象,并利用一系列数据对象来支持地图的显示、查询、编辑和分析。一个地理数据模型的优劣,取决于其对地理特征的表示是否充分,其自身结构是否简单易读,以及是否能方便地利用具体的编程语言来实现。
2 传统数据模型对地理数据支持的不足
随在面向对象数据模型产生之前,伴随着GIS技术的不断发展已经产生了两代GIS数据模型,即:CAD数据模型和Coverage数据模型。
2.1 CAD数据模型
随CAD数据模型起源于六七十年代,由于受当时软硬件条件所限制,地图制图精度都不很高。在这一时期,地图主要是通过一些通用的CAD(计算机辅助设计)软件绘制出来的。 CAD数据模型通过点、线、面将地理数据存储在二进制格式的文件中,缺乏属性信息。由于CAD数据模型缺乏对属性数据的支持,且空间数据不是存储在数据库中,所以给GIS软件开发和GIS数据共享都带来了难度。
2.2 Coverage数据模型
随 1981年ESRI公司推出了它的第一个商用GIS软件--ArcInfo,由此产生了第二代地理数据模型--Coverage数据模型(又称地理关系数据模型)。Coverage数据模型对GIS数据特征的表示有了较大的改进:首先它支持属性数据,将空间数据和属性数据有机地结合在一起;其次它还存储矢量数据的拓朴关系;更重要的是,它支持用户自己定制的特征表,因此Coverage数据模型提高了GIS的地理分析能力和数据录入的准确性。但也有其不足:在Coverage数据模型中,空间数据和特征属性数据是分开存储的。空间数据作为一个整体被存储在二进制文件中,特征属性数据则用关系数据库来存储管理;其次,Coverage也是用常用的点、线和多边形(po1ygon)来表示特征,对特征的表示不很充分。比如,用一条线表示道路的行为和用一条线表示河流的行为是一样的。它也不支持水流、道路和其它一些现实世界对象的特殊行为。比如,两条河流文汇后,其文汇点以下的河流流量应该是它们各自流量的总和。
3 解决思路之一——面向对象技术
随面向对象技术(Object一Oriented Technology)的思想萌芽于60年代,到80年代初,以SmallTalk一80语言为代表逐渐发展成熟,并在90年代大范围流行开来,在计算机用户界面、人工智能、软件工程等很多领域取得了极大的成功,把面向对象的数据建模方法应用于表示GIS数据特征是非常有用的。面向对象的数据模型通过定义用户自己的对象类型,定义拓朴的、空间的和全局的联系,以及获取这些对象相互之间的关系等方法使用户能更自然的描述特征。结合面向对象理论的自身特性,其在GIS数据模型中主要有以下几个方面的应用。
3.1 类(Class)和对象(Object)
随现实世界中都是把很多物体当作整体来看待的,在GIS应用中也应该采用这种思想。在 GIS数据建模和其他类似的领域中,也应当将对应于现实世界的各种实体抽象成对象,当作整体来处理;对象与对象之间可以交互;具有共同属性的多个对象抽象为类,对象可以保存自己的状态(属性)。由于对象与现实世界的实体对应,从而加强了GIS数据模型的易理解性、可读性和可维护性。
3.2 封装(Encapsulatico)
随对象的所有信息被隐藏封装起来;对象提供的一些服务,由外界通过向它发送消息来实现。GIS在使用数据对象时隐藏了数据对象内部的细节,只提供了一个标准的程序接口。通过对对象状态的隐藏,增强了GIS数据模型的稳固性和可维护性。
3.3 继承(Inheritance)
随继承是指在定义一个对象类时能包含别的对象类的行为,并具有自己的扩增行为。对象可以继承父类的方法,亦即服务。在GIS数据应用中,你能够在创建自己定义的特征类型时继承到标准特征的行为。例如,一个转换对象可以从一个标准的GIS数据特征类中扩展得到。
3.4 多态(Po1ymorphism)
随多态是指同一行为(方法或函数)可应用于许多不同的类,而每一类则以其独有的方式来执行此方法。例如,GIS数据特征的核心行为如绘图、增加或删除等操作,不管是在GeoDatabase中还是在Coverage中,或是在形状文件(shapefile)中,它们都几乎是相同的。但在具体实现时,各自的类须作相应的必要改变以进行具体的绘图、增加或删除等操作。通过继承和多态,大大增强了GIS数据模型的可重用性,进而增加了GIS数据的可交互性和可共享性。
4 面向对象技术在GIS中的应用实例——GeoDatabaSe
随GeoDatabase数据模型是ESRI公司在Arcinfo中推出的一种新型面向对象数据模型,即第三代数据模型。具目的是为了让用户能更容易、更自然地表示GIS数据特征和更易建立特征之间的各种关系。GeoDatabase给用户提供了大量的实体对象模型(如河流、道路、建筑等),让用户摆脱了抽象的
此新闻共有3页 上一页 1 2 3 下一页 |
|
|
|
|