面向对象的区域规划空间信息时空数据模型,本文主要内容关键词为:面向对象论文,时空论文,数据模型论文,区域规划论文,空间论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
中图分类号:N945.1;TU984
1 引言
区域规划是对区域内未来一定时期社会经济发展的总体部署。广义的区域规划内容涉及地区国民经济与社会发展中长期规划、城镇体系规划、土地利用总体规划以及区域内交通、能源、水利、通讯、旅游、卫生及其他社会发展事业等专项规划。长期以来,由于规划体制不适应区域发展的客观要求,区域规划在实施过程中存在大量问题,主要表现在:一方面不同部门所进行的专项规划在空间上往往存在较大矛盾,如土地利用总体规划与城市总体规划在城市用地安排上经常出现不协调;另一方面,综合性较强的地区国民经济与社会发展中长期规划往往侧重于对国家阶段性发展战略的重复阐释以及对统计型社会经济发展指标的制定,而忽视了建设项目空间布局的内容[1]。即将展开的“十一五”规划将进行规划体制的重大改革,改革的重点内容之一就是突出强调空间规划的内容[1],将把经济中心、城镇体系、产业聚集区、基础设施以及限制开发地区等规划内容落实到具体的地域空间。
GIS技术是进行区域规划空间信息管理的重要工具。将地理信息技术应用于各项区域性专题规划已有较长的历史,然而,在传统的空间数据模型技术框架下集成具有动态性和复杂性的区域规划空间信息仍面临许多困难。到目前为止,组织和管理空间信息的空间数据模型已经历了两个主要阶段:CAD数据模型和Coverage数据模型。CAD数据模型是通过点、线、面将地理数据存贮在二进制文件中,缺乏属性信息。Coverage数据模型较CAD前进了一大步,支持属性数据,将空间数据与属性数据有机地结合在一起。然而,CAD和Coverage都仅用点、线、多边形等几何元素描述空间实体,从而缺乏对空间实体或现象的显式定义及其基础关系的描述[2]。
随着面向对象技术不断发展和成熟,建立面向对象的数据模型给空间数据的管理带来了广阔的发展前景。一个现实的地理实体,无论多么复杂,总可以作为一个对象来建模。本文基于时态GIS的理论,用面向对象的方法建立区域规划空间信息的时空数据模型,比较成功地使复杂的区域规划空间信息得以有效的组织和管理。
2 面向对象方法
面向对象方法是一种运用对象、类、继承、封装、聚合、消息传递、多态性等概念来构造模型的方法。其基本思想是从现实世界中客观存在的事物(即对象)出发,并在模型构造中运用人类的自然思维方式。在面向对象中以类的形式进行描述,通过对类的引用而创建的对象是数据模型的基本单位,这些对象对应着现实中的各个事物,它们的属性与操作刻画了事物的静态和动态特征[3]。
图1 区域规划空间对象和类之间的关系示例
Fig.1 Examples of relations between objects and classes in regional planning
面向对象方法认为[4],客观世界是由各种各样的对象组成。在对象中封装了描述对象静态特征(如状况)的属性和反映对象动态特征(如状况变化)的方法,形成严格模块化的实体。属性支持各种数据类型,提供了对数组类和数列类空间数据的支持,且可以在属性上以K树或四叉树的方式建立索引,对空间数据进行有效管理。属性和方法相同的对象可以进一步抽象成类,每个对象是它的一个实例。类、父类和子类构成类之间的层次结构。对象和类之间的关系有:①继承关系,如图1(a),“公路”和“铁路”是“道路”的子类,“道路”是“公路”和“铁路”的父类,在“公路”和“铁路”中除了拥有自己特有的属性和方法以外还可以直接继承所有在“道路”中定义的属性(如名称、长度、等级等)和方法(如重建、提高等级等)进行重用;②聚集关系,也叫部分整体关系,如图1(b),表示“城市”和“道路”是“省”的组成部分,“省”是由“道路”和“城市”以及其它组成的;③依赖关系,如图1(c),表示“城市”和“城市用地”这两个类是一种互相影响的关系,一方的变化将引起另一方的变化,也就是说,城市的扩张和城市用地之间相互依赖;④关联关系,包括一对一、一对多、多对一和多对多的关系。图1(d)表示一对一的关系,即每个省级行政单元只能拥有一个省会城市,同时一个省会城市也只能从属于一个省级行政单元;图1(e)表示一对多的关系,即每一个省级行政区域可以包括多个城市;图1(f)表示多对一的关系,可以把多对一关系理解为一对多关系的逆向关系,即多种土地利用类型同时存在于一个区域;图1(g)表示多对多的关系,即一条交通线可能穿过几个省区,而一个省区又有若干条交通线。
3 时空数据模型
目前,规范化的时空数据模型尚处在探索阶段。面向对象的时空数据模型有时空立方体模型、时间快照模型、基态修正模型、时空复合模型等。各种模型时态的实现有两种方式,一是把时间作为时间维加入模型中,另一种方式是把时间作为其中的一个属性。这里采用的是后者。时空数据模型的一般数据结构可以表示为
4 面向对象的区域规划时空数据模型
4.1 区域规划空间地理实体分类
利用面向对象数据模型的基本思想,我们对地理空间特征(包括矢量和栅格)进行了分析和抽象,构成六种地理目标对象类。在这六个基类的基础上又下分了若干子类,但是由于不可能穷举所有的区域规划空间信息中的地理实体对象,在此只是有代表性地列出其中的一部分,以进一步说明模型的数据组织结构(图2):
图2 区域规划空间地理目标分类
Fig.2 Classification of the geographical objects in regional planning
◆点状目标类:指的是点状的地理实体,如点状地物、线状或链状地物的结点等。
◆线状目标类:指的是线状的地理实体,如线状或链状地物等。
◆面状目标类:指的是面状分布的地理实体,即面状区域。
◆复杂目标类:由以上三种地理实体组成。
◆注记类:指的是对各种地理目标进行描述的有关信息。注记类中包含各对象标识符,以建立该注记与地理目标的关联。
◆栅格目标类:栅格目标类是一种特殊的形式。在现实世界中并不存在实实在在的栅格,而是人为建立的空间格网单元,典型代表是1 KM格网。可以将区划规划中涉及的自然数据栅格化,如公里栅格土地利用数据;也可以对社会经济指标进行空间离散化处理,表达为1 KM栅格人口、GDP数据等。
4.2 区域规划地理目标类的描述
面向对象的时空数据模型是时空数据库的基本结构,时空数据库是时态GIS(即TGIS)的核心内容。在TGIS中,一个对象可以描述为:
TGIS={Oid,TS}[6]
式中,Oid表示对象号;TS表示该对象的时空数据。而空间数据又可分成四类,即点状目标类、线状目标类、面状目标类和栅格目标类,也就是:
TS=[POINT|LINE|REGION|GRID]
在该面向对象的时空数据模型中,四种对象类及标注类基本结构分别定义和描述如下:
Class Point∥点类 Double LastNode;∥线的终止点
{Double PosArray;∥坐标数组
Public: Double ElevationArray;∥高程数组
Long PID;∥点的标识码
Date Ti;∥起始时间
Cha rPName;∥点的名称
Data Te;∥终止时间
Char Type;∥点的类型……
Double Position;∥点的坐标 ∥其他的线的空间特征和属性特征
Double Elevation;∥点的高程
Public:
Date Ti;∥起始时间 Display();∥显示线的位置
Date Te;∥终止时间 Insert();∥插入
……Getlength();∥长度
∥其他点的空间特征和属性特征GetFirstNode();∥第一个结点
Public: GetLastNode();∥最后一个结点
Display();∥显示点的位置Cross();∥几何关系操作
Insert();∥插入点
Overlap();
SetX();∥获取及设置操作 Buffer();∥缓冲区分析操作
SetY(); GetData();∥对时间的操作
GetX(); SetData();
GetY(); Interval();
In_Circle();∥几何关系操作 Union();∥叠加分析操作
In_Polygon();
Difference();
Buffer();∥缓冲区分析操作
Intersect();
Intersect();∥叠加操作 ……
Union();∥其它对线的空间和时间操作
Difference();}
GetDate();∥对时间的操作
SetDate(); Class Region∥面类
Interval(); {
……
Public:
∥其它对点的空间和时间操作 Long AID;∥面的标识码
}
Long ArcArray;∥关联弧段变长数组
Date Ti;∥起始时间
Class Line∥线类Date Te;∥终止时间
{
………
Public: ∥其它的面的空间特征和属性特征
Long LID;∥线的标识码
Public:
Cha r Type;∥线的类型Display();∥显示面的位置
Double FirstNode;∥线的起始点
GetCentroid();∥面的中点
GetArea();∥面积Char LPos;∥标识的位置
Nearto();∥几何关系操作 ……
IN();
∥其它的注记类属性
Disjoint();
Public:
West(); Display();∥显示标识
East(); Delete();∥删除标识
North();……
South();∥其它的对标识的操作
Front();}
Back() Class Grid:∥栅格类
Left(); {
Right(); Public:
Up();
Long Unit;∥单位
Buffer();∥缓冲区分析操作
Long Value;∥数值
Intersect();∥叠加操作 Long Row;∥行坐标
Union();Long Column;∥列坐标
Difference();
Date Ti,∥起始时间
Merge();∥对象变化操作 Date Te;∥终止时间
Split();……
SetData();∥对时间的操作∥其它的栅格属性
GetData();Public:
Interval(); Algebra();∥地图代数运算
……Statics();∥地统计分析
∥其它对面的空间和时间操作 Union();∥叠加分析
} Buffer();∥缓冲区分析
Class Label∥注记类
Cluster();∥聚类分析
{ SetHour();∥时间操作
Public: GetHour();
Long LabelID;∥标识类型 ……
Long Label_Object;∥标识∥其它对栅格的空间和时间操作
的对象的ID }
在上述点、线、面、栅格目标对象类的基础上进一步派生出基于点、线、面的各地物特征类和栅格类。例如,点状目标类,可以派生交通站点、居民点、气象站点等类;线状目标类可以派生交通线、地下管线、电力线等类;面状目标类可以派生耕地、园地、林地、草地、水域等类;栅格类是把每个栅格做为该类的一个对象;标注类是一个特殊的类,通过在标注类中引用各类的ID把它们联系起来。各类之间符合面向对象的机制,包括继承、派生、聚合、多态、友元、重载、消息传递以及设置访问权限等,从而形成层次分明的结构模型,准确的描述各种类型的地理空间信息。
因此,面向对象的空间数据模型提供了一条解决区域规划空间信息整合的思路,把区域规划中包括土地利用、城镇布局及中长期经济社会发展等多方面的数据信息进行有效的组织和管理,来满足各部门的不同需求。
5 结论
采用面向对象的区域规划时空数据模型具有以下特点:
1)面向对象时空数据模型按照人们的自然思维方法来表达现实世界,实体以对象的形式进行封装,把对象的属性和行为智能化地结合在一起。空间数据不再是单一意义的点、线、面,而是一个面向实际应用领域的空间实体,实体对象和对象之间关系的表达符合人们的思维习惯,有利于不同部门规划人员对规划信息的充分理解。
2)面向对象时空数据模型语义丰富,而且支持自定义的数据类型,使区域规划信息的空间特性得以精确描述,展示给人们一个形象而生动的现实世界。
3)面向对象数据模型打破了关系模型范式的限制,直接支持对象的嵌套和变长记录。在区域规划中,有些数据更新周期短,需要及时进行添加、删除或修改。面向对象的这一特点对于组织和管理区域规划中复杂、动态的空间信息提供了一种可行的方法。
4)面向对象数据模型的数据访问效率高,操作方便,应用于庞大而复杂的区域规划空间信息管理显得更有效。
5)时空数据模型能够记录历史数据,跟踪监测区域空间信息变化,有助于进行时间和空间分析,推测区域的动态发展趋势,制定合理有效的区域规划实施方案。
所以,相对传统的数据模型而言,面向对象时空数据模型是管理区域规划复杂信息比较理想的数据模型。然而,面向对象的时空数据模型在区域规划中的应用还处于探索阶段。本文也只是侧重于GIS的角度论述时空数据模型,即在已有空间数据模型的基础上设计和实施应用于区域规划领域的时空数据模型,具体的设计和实施还有待于进一步研究。
收稿日期:2004-02;修订日期:2004-03.
标签:区域规划论文; 地理论文; 面向对象分析与设计论文; 大数据论文; 实体关系模型论文; 面向对象方法论文; 概念数据模型论文; 面向对象数据库论文; 空间数据论文; 关系数据模型论文; 实体关系图论文; 栅格数据论文;