张江水,华一新,李 翔
(信息工程大学 地理空间信息学院,河南 郑州 450001)
全空间信息系统是一种面向从微观到宏观的动态复杂世界的空间信息系统[1-3],主要解决现实世界中各类时空实体信息的接入、处理、描述、表达、管理、分析和应用等问题。与传统的GIS相比,全空间信息系统主要具有全尺度、全类型、全动态、全属性等特征[3]。它将研究的空间范畴拓展到了微观和宏观空间,描述的实体拓展到了各种有形和无形的实体,对实体的时空位置、性质、关系、行为、认知特征进行全方位描述,并且所有特征的描述都是动态的。
为了能够在全空间信息系统中更好地描述复杂的现实世界,文献[3]提出了将多粒度时空对象数据模型作为全空间信息系统的基本模型,并建立了多粒度时空对象数据模型的描述框架,如图1所示。
图1 多粒度时空对象模型框架图Fig.1 Description frame of spatio-temporal object model of multi-granularity
多粒度时空对象数据模型通过对模型框架中8个特征的描述,来实现对多粒度时空实体[2]的多粒度、多类型、多形态、多参照、多元关联、多维动态、多能自主等特点的表达[3]。但是现实世界是无限复杂的,没有任何信息系统可以对现实世界进行完全的描述和表达,必须对现实世界进行一定的化简和抽象,从而最终得到所需的多粒度时空对象模型。这一化简和抽象的过程即为多粒度时空对象建模[4]。
多粒度时空对象数据模型是全空间信息系统的核心,它决定了全空间信息系统的能力和功能。首先与传统GIS的数据模型相比,多粒度时空对象数据模型具有多元、多粒度、多维度、多时态、多形态等特征。因此,全空间信息系统在构建与之相适应的存取、检索、管理等功能体系的同时,还需要兼顾对象关联关系的维护、信息传播管理、行为控制机制等传统GIS很少涉足的领域;其次,围绕多粒度时空对象数据模型特征的提取、应用、分析,全空间信息系统需要构建一套新的时空计算与分析体系。最后,多粒度时空对象数据模型中很多特征的可视化都超出了传统GIS研究的领域,全空间信息系统需要围绕这些特征构建新的多模态时空对象的可视化体系。
多粒度时空对象数据模型构建的好坏将直接决定全空间信息系统解决实际问题的能力。全空间信息系统将研究范畴拓展到了微观空间和宏观空间现实世界,但是现实世界是无限丰富和复杂的,不可能在全空间信息系统中对现实世界进行完全的复制。全空间信息系统只能围绕多粒度时空对象数据模型所能表达的特征进行相应的分析、处理和应用。因此,多粒度时空对象数据模型是否能够真实、客观、全面地对现实世界及其内在规律进行抽象和表达,是全空间信息系统解决现实问题的关键。
建模即建立模型,是为了理解事物而对事物做出的一种抽象。多粒度时空对象建模就是为了实现对现实世界的抽象,建模者根据认知结果,将现实世界中的实体依照多粒度时空对象数据模型框架描述为数据模型的过程。因此多粒度时空对象建模从过程上讲主要包括3个部分,即对现实世界的认知、认知结果的逻辑化和形成模型数据。建模的基本过程如图2所示。
图2 多粒度时空对象建模基本过程图Fig.2 The modeling process of spatio-temporal object of multi-granularity
1)对客观实体的认知与抽象
对客观实体进行深入的研究是进行多粒度时空对象建模的起点。传统GIS中的数据模型主要以描述现实世界的空间特征为主[5-6],这些特征大多是一些表面特征,认知难度不大。在多粒度时空对象建模中,除了要了解客观实体的位置、形态等空间特征,还需要对关联关系、组成结构、行为、认知等内在特征进行描述和建模。这就需要对建模对象进行更加深入和全面的分析与研究。
对客观实体进行描述的各种已有数据是进行认知的基础。这些数据从不同侧面描述了客观实体的主要特征。其中,大部分数据是传统行业对客观实体建模成果的历史积累,比如传统的GIS数据、地理实体数据等;也有一部分是对实体的直接描述,比如各种历史的和实时的观测数据;还有一部分是前人对客观实体特征的认知结果,比如通过时空大数据挖掘获取的实体特征,以及通过建模者的观察与交互所产生的数据等。
多粒度时空数据模型框架是进行认知与抽象的目标。对客观实体的认知可以是多方面的,但是在多粒度时空对象建模过程中,应重点研究数据模型框架所规定的8个方面的特征,通过对这些特征的深入了解来构建对客观实体的认知体系。
2)多粒度时空对象数据模型的逻辑化
多粒度时空对象数据模型逻辑化的主要任务是将前期认知的成果,按照对象的方式进行组织和描述。其主要工作包括建立多粒度时空对象数据模型的逻辑结构和描述方法,确定多粒度时空对象特征的规范化表达以及将认知结果按照相应的规范组织成与客观实体相对应的多粒度时空对象数据模型。
3)生成多粒度时空对象数据
多粒度时空对象建模的最终成果是以数据形式保存的模型数据[7]。其成果形式主要分为两类,一类是多粒度时空对象交换数据,主要用于模型数据的生产与交流,对数据的定义更加接近于多粒度时空对象数据模型,便于人们对数据的解析与理解。另一类是全空间信息系统数据库数据,主要解决多粒度时空对象模型8个方面特征数据的高效存储、更新、检索等一系列问题。
1)两者在建模理念上有着本质的区别
传统GIS来源于地图,其建模理念也主要参照了地图的建模方法,即从便于使用者空间认知的角度出发,将地理实体抽象为易于图形化表达的要素,大部分GIS软件中的数据模型都是以此为核心扩展而来[8]。而多粒度时空对象建模则更加侧重描述客观实体本身,希望通过建模尽可能客观的还原对象本身固有的特征,实现对客观实体全方位的描述。
2)传统GIS的建模过程是割裂的
比如传统GIS中通常根据研究领域空间尺度的不同,会依次建立相应比例尺的数据模型,而不同比例之间描述的地理实体都是相互独立的[9-11]。即使在同一比例尺下,不同种类的地理实体也会人为地分割在不同的图层中,需要通过叠加分析等手段才能重新建立不同图层要素之间的联系。而多粒度时空对象建模是以对象为核心,不同的时空尺度下的数据只是同一对象特征描述。同时多粒度时空对象之间还存在着语义粒度上的关联,一个对象可以是更小粒度下子对象的组合体,也可以通过与其他对象组合,构成更高粒度的对象。另外,创建对象之间的关联关系也是多粒度时空对象建模的重要任务之一。在建模过程中,通过建模对象之间的关联关系,从而形成多粒度时空对象复杂的关系网络。
3)传统GIS是一种静态建模
传统GIS的建模侧重于对地理实体某一时刻静态特征的描述[12]。即使在时空GIS中,也通常是对地理实体的位置、形态和属性状态变化过程的记录。多粒度时空对象模型本质上是一种动态模型,需要对客观实体所有特征的变化进行建模。在建模的过程中,不仅需要记录客观实体的历史变化信息,同时需要尽可能将观测到的实体实时状态数据链路建模到模型对象中,从而保证建模对象能够动态地与现实世界保持一致。为了保持对象模型的动态特征,除了引入实时数据链路以外,还需要对客观实体的行为与认知进行建模,使得对象模型能够根据外部环境的变化进行自主动态的更新。
1)确定多粒度时空对象存储模型与交换格式
多粒度时空对象建模的最终目标是将客观实体以数据的方式进行描述,因此,确定描述对象模型的数据项、数据结构、数据格式等是多粒度时空对象建模首先需要解决的问题。多粒度时空对象的交换格式是采用便于人们理解的文件形式从结构上对多粒度时空对象数据进行描述,它重点解决多粒度时空对象特征到数据项的映射以及基于数据的多粒度时空对象的共享与传播。存储模型是一种面向多粒度时空对象数据高效存储管理与检索的数据模型,它的重点是解决如何能够高效地使用当前主流的数据库技术,实现多粒度时空对象的管理工作。交换格式是完成多粒度时空对象从概念模型向数据模型转换的一个重要成果,而存储模型通常会在交换格式的基础上,针对数据存储与访问对数据进行优化,形成更底层的物理数据模型。
2)建立多粒度时空对象建模规范和对象类模板库
与传统的GIS数据模型相比,多粒度时空对象数据模型更加复杂,建模的工作量也更大。比如它在时间、空间和语义上是多粒度的;它是一种动态模型,除了需要记录对象的历史生存轨迹以外还需要保持对象与现实世界的同步与更新;它是一种关联模型,需要记录不同对象之间的关联关系,并能够动态地维护这些关联关系;它是一种智能化的模型,对象具有自己的行为和认知能力,能够根据环境变量的改变通过认知和行为对对象特征进行调整。面对无限复杂和丰富的现实世界,我们无法为每一个客观实体构建相应的多粒度时空对象模型,因此,对模型构建过程的规律进行总结,形成与多种客观实体类别相对应的建模规范或者相应的对象类模板库,实现基于建模规范与类模板库的自动化或半自动化的建模,是多粒度时空对象建模需要解决的一个主要问题。
3)开发多粒度时空对象建模工具
由于多粒度时空对象数据模型具有形态、行为、认知等多维特征,模型中这些特征的构建需要进行大量复杂的工作。现存的各种数据源通常只能有限地描述模型特征的个别方面,通过对现有数据的自动化转换通常只能生成数据模型的部分特征。而大量的模型特征需要通过一个功能强大的工具软件由建模者以交互的方式进行指定和生成。另外,在建模的过程中会形成大量的建模规范和对象类模板,这些对象类模板和建模规范的生成、编辑和管理同样需要相应的工具软件来实现。使用建模规范和对象类模板,在大量的原始数据中抽象并形成模型的特征数据也是多粒度时空对象建模的一种重要方法,而对源数据的抽象、组合与计算同样需要一个统一的工具软件来实现。因此,开发一个功能强大的建模工具软件是进行多粒度时空对象建模的关键问题。
多粒度时空对象建模的主要工作就是将对客观实体的认知数据转换为多粒度时空对象模型数据。这些数据包括各种现有的观测数据和地理空间数据,各种动态实时获取的数据、各种建模者的主观认知以及对这些认知进行总结和归纳的数据,各种积累的时空大数据等。按照建模的数据源不同,可以将多粒度时空对象的建模方法归纳为以下5种,如图3所示。
图3 多粒度时空对象建模方法Fig.3 The modeling methods of spatio-temporal object of multi-granularity
经过多年的发展和积累,目前已经存在了海量的地理实体描述数据。因此,基于现有地理空间数据构建多粒度时空对象数据模型是多粒度时空对象建模的重要内容。现有的地理空间数据内容丰富,数据量大,但是面向多粒度时空对象建模也存在大量的问题。一方面,现有的地理空间数据大都是在相对固定的认知模式和建模要求下产生的,虽然数据量大,但大多是描述特定类别地理实体的位置、属性、形态等特定特征;另一方面,现有的地理空间数据大都存在空间尺度割裂,实体间关联描述少、没有行为、认知、组成结构等特征问题。基于现有地理空间数据的建模主要分为3个过程:首先,通过数据处理与解析,将数据按照多粒度时空对象逻辑模型的要求进行数据结构的重组,映射为初步的对象数据;其次,根据应用需求按照多粒度时空对象模板对初步的对象及其特征项进行分解与信息重组,形成满足建模要求的多粒度时空对象集合;最后在通过接入实时数据源、引进时空大数据挖掘以及可视化交互编辑的方式补充和完善模型的各个特征。
虽然现实中每个客观实体都有各自独特的特征,但是在进行多粒度时空对象数据模型的抽象过程中,仍然存在大量相同或者相似的规律。比如具有相同的形态特征、相近的行为模式、相似的组成结构和属性结构等。对建模过程中相似的抽象规律进行总结就能够形成该领域内的建模规范。在建模规范的约束下,能够对相应领域内的客观实体进行自动化或半自动化的快速建模。另一方面,也可以将具有大量相似特征的多粒度时空对象抽象为一个对象类模板。在进行多粒度时空对象建模时,对象的大部分特征都可以继承自对象类模板,只需为对象独有的特征赋值就能够完成建模工作。基于对象类模板和建模规范的建模方法的核心就是对象类模板和建模规范的创建。图4描述了对象类模板的创建过程:
图4 对象类模板的创建过程Fig.4 The creating process of object class templates
在对象类模板池中记录了所有已经建成的对象类模板,通过对现有类模板的引用、继承、组合和关联可以形成面向具体业务的新的对象类模板,新生成的类模板同时也可以加入到模板池中,丰富对象类模板池的内容。
可视化交互建模是在多粒度时空对象可视化的基础上,通过交互的方式实现对其8个主要特征的交互式增加、编辑和修改。可视化交互建模可以直接生成一个多粒度时空对象,也可以对已经生成的对象进行编辑和修改。可视化交互建模需要提供的功能包括:创建具体的时空参照并将其指定给多粒度时空对象;创建对象的属性、位置、形态特征,指定对象属性、位置、形态的数据源或对这些特征进行交互式编辑;指定对象之间的关联关系或者提供关联关系生成的方法;指定对象的组成结构,提供对象进行组合与分解的方法;提供对象行为与认知特征的构造方法,为对象创建具体的行为与认知特征,并能够对其进行编辑、修改和预览。
动态实时数据主要包括各种类型传感器采集的实时数据流以及业务系统收集、计算、分析所产生的一些实时数据。这些数据通常不能满足构建多粒度时空对象数据模型所有特征的条件。但是它们能够及时更新数据模型中相应的特征值,是多粒度时空对象与现实世界同步的重要手段,是维持对象模型动态特征的主要数据源,是多粒度时空对象建模重要的补充。
通过动态实时数据源更新多粒度时空对象特征的过程如图5所示。
图5 通过动态实时数据源更新多粒度时空对象特征的流程Fig.5 The process of updating characteristics of spatio-temporal objects of multi-granularity through dynamic real-time data
实时数据流的接入可以通过业务部门的业务端协议转换或者全空间信息系统端协议适配扩展的方式实现,这里的协议主要是通信协议或者数据格式。数据流由业务部门主动推送、设施接入模块主动轮询获取和通过监听数据存储目录等3种方式来获取。获取到的实时动态数据最终经过协议适配转换为标准化对象数据流,用于对象特征的更新。在进行多粒度时空对象建模的过程中,需要指定实时数据的获取方式、协议适配方式以及标准化对象数据流对对象特征进行更新的具体方法。
当前是一个数据爆发的时代,宽带化、移动互联网、物联网、智能终端的普及与人工智能的兴起,促使全球数据每两年翻一番。时空大数据是其中大量的与时空位置有关的数据的统称,是最重要的大数据之一。时空大数据除了具有一般大数据的特性外,还具有与对象行为对应的多源异构和复杂性,与事件对应的时、空、尺度、对象动态演化、对事件的感知和预测特性[13]。对时空大数据的挖掘,能够获取客观实体大量不易被认知和发现的重要特征,如隐含的属性、行为、认知、关联等。基于时空大数据挖掘的多粒度时空对象建模,主要是在构建好的多粒度时空对象数据模型基础上,通过时空大数据挖掘来更新和丰富数据模型的特征内容。
多粒度时空对象数据模型是构建全空间信息系统的核心和关键,多粒度时空对象建模的主要工作是将客观实体按照多粒度时空对象模型框架的要求描述为相应的数据模型。由于多粒度时空对象模型具有多粒度、多类型、多形态、多参照、多元关联、多维动态、多能自主等特点,为模型的构建工作带来了许多全新的挑战。本文梳理了多粒度时空对象建模的基本内容和基本方法,分析了建模过程中的主要问题,为全空间信息系统和多粒度时空对象建模工具研发工作的开展奠定了基础。