文 娜,张英卓,陈 达
(1. 信息工程大学 地理信息工程学院,河南 郑州 450001;2. 西雅图城市大学 管理学院,西雅图 98121;3. 31682部队,甘肃 兰州 730020)
多粒度时空对象[1]的概念源自于全空间信息系统[2]的提出,通过时空参照、空间位置、空间形态、组成结构、关联关系、认知能力、行为能力和属性特征8项描述内容[3]实现对现实世界各种实体具体的抽象,弥补了传统GIS基于地图的间接建模方法难以有效地分析和表达各种时空实体的动态变化和复杂关系的不足。对于多粒度时空对象而言,对象之间的关联关系是其重要特征之一,它不仅是维护全空间信息联动的纽带,还是开展时空大数据关联分析、预测分析和决策支持的基础。具体来讲,多粒度时空对象关联关系是指现实客观实体之间,由于空间位置、空间形态、属性特征等而产生的关联、约束及作用关系,通过对象之间广义关系的抽象表达,进而模拟客观现实世界的联动[4]。它是对象与对象之间的外部关系的关联表达和对象的各个属性之间的内部关系的关联表达[5]的总合。
GIS研究前沿方向之一是发展大数据的空间解析理论与方法,在理论分析方面需要着力研究物理空间、人类经济社会空间以及信息空间的本质及其可能的相互映射关系[3],因此除了包含传统GIS中所侧重描述的空间关联关系、时间关联关系和时空关联关系以外,全空间信息系统还描述了由于对象属性特征而存在的属性关联关系。属性关联关系的描述将扩展全空间信息系统中关联关系的分析与应用扩展到社会空间、信息空间等多维空间中,是多粒度时空对象关联关系中的重要内容。与时间、空间、时空关联关系相比,属性关联关系含义、组成的内容不同,在关联关系构建过程中由于相对稳定且变化频率较低,因此关联关系的构建方式也有所不同。空间、时间、时空关联关系和属性关联关系的对比见表1。
表1 空间、时间、时空关联关系与属性关联关系的区别Tab.1 The diあerences between spatial, temporal, spatial-temporal associative relationship and attributive associative relationship
本文以全空间信息系统为研究背景,针对多粒度时空对象的属性关联关系,阐述属性关联关系的基本概念和组成内容,分析了属性关联关系构建的目的与原则,在此基础上具体提出了一种属性关联关系的交互式构建方法。
多粒度时空对象属性关联关系(Ra)指多粒度时空对象及其属性特征之间的关系,如上下级关系、指挥关系、连通关系等[4]。从本质上讲,属性关联关系是用于描述现实世界中实体之间由于其本身的属性特征而存在无法用空间或时间关系来描述的关联关系,如箱式变压器可以为多个建筑物供电,但是,除非绘制出第二条线来建立一组建筑物与对其供电的变压器之间的联系,否则它们之间没有明确而清晰的空间关联。
现实世界中实体的属性特征,一些可以被抽象成为GIS中对应的对象的属性项和属性值[6]来描述,还有一些存在于人们固有的认知[7-9]中。人们确定对象之间存在某种关联关系,就是根据真实实体的属性特征的不同表现产生的数据以及人类固有的认知,通过科学思维方法、统计学方法、社会学方法、情报学方法等进行信息分析[10]而得到。由于这些决定属性关联关系生成的数据并不能全部存储在全空间信息系统中,并且属性关联关系生成的方法大多需要复杂的分析与推理而得到,因此,无法在系统中进行实时自动构建而得到,而是需要进行人工指定关联关系的组成内容,完成属性关联关系的构建。
多粒度时空对象的属性关联关系的组成内容主要包括两方面,如图1所示,一方面是对需要的属性关联关系信息的记录,包括关联对象、关系类型、关系名称、关联强度、生命周期,另一方面是属性关联关系的自身功能,主要体现在关联对象的对象约束、属性约束以及关联对象间的行为传导。其中,关系记录可以通过对应的基于网络的数据模型进行表达和存储,将关联对象映射成为关系节点,关系本体的信息(关系类型、名称等)映射成为关系边,构建成为关系网络。关系功能可以通过对关系注册相应的规则而实现,针对不同类型的功能,设置不同的约束规则,形成关系规则集合。
图1 属性关联关系的组成内容Fig.1 The composition of attributive associative relationship
多粒度时空对象属性关联关系的构建,是对属性关联关系进行存储、管理、可视化显示以及分析等应用的基础,因此,在全空间信息系统中,如何能够高效、精细地构建对象间的关联关系,显得尤为重要。属性关联关系的产生完全依赖于对应的多粒度时空对象,因此,构建属性关联关系一方面需要顾及到多粒度时空对象本身的多维动态特征[1],一方面需要考虑属性关联关系的组成与自身特点,另一方面还需要符合关联关系构建的应用需求,本文从这三方面出发,对属性关联关系的构建要求进行了探讨,下面进行详述:
1)满足对象共现的关联关系构建的条件。在全空间信息系统中,多粒度时空对象的动态特征导致并不是任意两个对象之间都可以构建关联关系,它们必须满足两个对象的生命周期有重叠的条件,即对象必须共现(处于同一时间范围内),才可以构建关联关系,数学表达为:设对象A的生命周期为Ta,对象B的生命周期为Tb,若Ta∩Tb≠ ,则A与B之间可以构建关联关系。关联对象的构建需满足此条件方可进行。
2)实现快速、精准的关联关系构建。全空间信息系统是面向大数据[3]的,在需要对海量属性关联关系进行构建时,如何使得用户以最少的操作完成关联关系构建的任务目标,如何以更加智能的方式进行关系的构建,是关联关系构建方法研究的关键。
3)支持不同情况下,多种类型的关联关系构建。属性关联关系构建在构建过程中,根据源对象与目标对象数量的不同,可能会存在一对一、一对多、多对一、多对多不同类型的关联关系的构建;在目标对象生命周期不相同的情况下,可能存在一个对象与多个共现对象的关系构建或者一个对象与多个不共现对象的关系构建,因此针对不同的需求和应用情况,应提供多种关联关系的构建方式。
4)以更加直观的、符合人类认知习惯的方式完成关联关系构建。在现有的GIS软件(如ArcGIS、MapGIS)中,可以通过构建关系类来存储属性关联关系的集合[11-12],但是在构建过程中,源对象与目标对象的选取基于对象的文本描述而进行,无法了解对象的形态与地理分布,不够直观。因此,如何让用户通过更加直观的、符合人类认知习惯的方式完成关系的构建,也是系统友好性设计的体现。
对于多粒度时空对象属性关联关系而言,关联关系的主体(即源对象与目标对象,本文中统称为关联对象)是决定关联关系性质的根本。在全空间信息系统中,需要基于关联对象的时空动态特征,完成关联对象快速、精确的确定,这是关联关系构建的关键。本文针对多粒度时空对象属性关联关系构建的要求,提出一种多粒度时空对象属性关联关系的交互式构建方法,该方法通过可视化界面将原始对象集合筛选成共现的对象集合,使其满足关联关系的构建条件,且用户在选取过程中可直接观察到所有对象的形态、属性以及对象的空间分布,是一种符合人类认知习惯的关联对象确定方法。除此之外,还支持一对一、一对多、多对一、多对多4种类型属性关联关系的构建,满足了不同情况下的关联关系构建需求。
多粒度时空对象属性关联关系的交互式构建的过程,大体上主要分为两个部分,一个部分是关联对象的确定,另一个部分是关系信息的输入。其中,关联对象的确定需要以多粒度时空对象的动态可视化显示为基础,通过用户限定可视化显示的时空范围,确定共现对象集合,在此基础上进行人机交互选取以及手动筛选,进行关联对象集合的确定;关系信息的输入需要人工自定义完成,用于实现关联对象与关系本体到关系网元素的映射。多粒度时空对象属性关联关系的交互式构建基本流程如图2所示。
图2 多粒度时空对象属性关联关系的交互式构建基本流程Fig.2 The basic process on interactive construction of multi-granularity spatial-temporal objects attributive associative relationship
1)可视化时空范围确定
时空范围是时间范围和对应的空间范围的联合范围[13],对于关联对象的选取而言,由于每一次选取操作都是在某一时间点对应的静态可视化界面上完成的,因此,关联对象选取的可视化界面的时空范围即为多个时间点上对应可视化界面所在空间范围的集合,即
其中,t为一个时间点,Sv为t时刻下对应的可视化界面对应的空间范围,(t,Sv)为一个时间点对应的时空范围要素,TSv为可视化界面对应的时空范围集合。考虑多粒度时空对象的动态特征,面向关联对象选取的可视化界面时空范围限定时存在两种情况:
①一个对象可以和某一时刻同时存在的多个对象建立关系,如总公司与其2017年成立的分公司之间建立隶属关系;或某一时刻同时存在的多个关联对象之间互相建立关系,如建立2017年A市所有建材公司之间的贸易关系。此时需要限定一个时间点t0,在此时间点对应的可视化界面上进行缩放漫游或指定显示范围的坐标位置,选取所有的源对象和目标对象,如图3所示。
图3 一个对象和某一时刻多个对象建立关系Fig.3 An object with a number of objects to establish relations at a certain time
②一个对象和不同时刻出现的对象建立关系,如总公司与2010~2017年之间每年成立的分公司之间建立隶属关系,此时需要指定多个时间点t0,t1,…,tn,在每个时间点对应的可视化界面上进行缩放漫游或指定显示范围的坐标位置,为一个源对象在多个时间点对应的可视化界面上选取多个目标对象。需要注意的是,此种类型源对象必须存在于选取的每个时间所对应的可视化界面上方可进行,如图4所示。
图4 一个对象和多个时刻多个对象建立关系Fig.4 An object with a number of objects to establish relations at multiple moments
2)关联对象的人机交互选取与手动筛选
可视化界面的时空范围的限定为关联对象的选取提供了基础,在此之上,用户通过操作鼠标等交互设备,对指定时间点的可视化界面中的对象进行点选、框选、圆选、线选等方式,完成对象单个或者批量选取的任务,得到关联对象的待选集合。根据源对象与目标对象数量的不同,交互选取可以分为一对一,一对多,多对一、多对多4种类似关联关系的选取,其中,一对一、一对多、多对一选取需分别选取源对象和目标对象待选集合,待选集合进行进一步的手动筛选,得到最终的源对象与目标对象集合,相互之间建立关联关系;多对多分为两种情况,第一种是分别选取源对象和目标对象待选集合,在此基础上,进行进一步的手动筛选使得源对象与目标对象数量相等,根据顺序建立相互之间的关联关系,第二种是批量选择多个对象得到关联对象的待选对象集合,然后对其进行手动筛选,得到一个关联对象集合,集合中对象之间两两构建关联关系。选取示意图如图5所示。
图5 4种类型关联关系示意图Fig.5 The schematic diagram of four types of relationships
在关联对象获取的结果上,关系信息的输入需要设计关联关系构建的向导界面来辅助用户完成操作,任何需求的关联关系都可通过此方法来完成构建。关联关系的构建根据关系信息的类型不同,向导界面分为关联关系基本信息、关联关系生命周期、关联关系强度信息、关联关系约束规则4个页面,关联关系信息输入的步骤如图6所示。
图6 关联关系信息输入步骤Fig.6 The process on correlation information input
关系信息的输入分别针对一对一、一对多、多对一、多对多4种类型关联对象选取的结果进行,一对一类型的信息输入可以详细设置一条关联关系的所有信息,但是构建的效率较低,适用于关联关系具有详细设置需求或小型的关系网的构建情况;一对多、多对一、多对多类型的信息输入,关联关系的基本信息、生命周期、强度信息、约束规则都是批量构建的,即对应值是相同的,无法一一设置,构建时精细程度较低,适用于中大型的关系网中批量创建性质相同的关联关系情况。4种类型关联关系的手动构建各有利弊,表2从精细程度、灵活程度、构建效率、应用场景4个方面对4种类型关联关系的手动式信息输入进行了对比。
表2 4种类型关联关系的信息输入对比Tab.2 The contrast on four types of correlation information input
目前空中远程机动作战中,预警机类似于飞机队伍的大脑,负责空中指挥和发现敌对目标,因此需要构建作战过程中同一方军队预警机与其他飞机之间的指挥关系,以保证命令信息的正确发送。作战过程中,飞机的位置是随时变化的,并且由于作战过程中飞机的打击陨落、以及新飞机的支援,因此需要在不同时刻,不同空间区域下构建预警机与其他新出现的飞机之间的指挥关系。本文采用c++语言在Visual Basic2010上基于QGIS进行二次开发,搭建了面向多粒度时空对象属性关联关系原型实验系统,以某支空军中队一次作战演习过程为例,构建了预警机与整个过程中其他飞机的指挥关系。原型系统构建的界面以及构建的关联关系结果如图7、图8所示。
图7 原型系统中指挥关系的构建界面Fig.7 The interface of command relationship in prototype system
图8 指挥关系构建结果部分信息展示Fig.8 The partial results of command relationship construction
全空间信息系统力求全面地反映现实世界中实体间存在的各种关系,用以满足更多领域对多种关系应用的需求,多粒度时空对象模型中,属性关联关系的描述将在关系主体、关系类型、关系属性上进行扩充,为系统功能从基础的关系计算分析和查询检索转向时空大数据下关联分析、深度关联挖掘和关系决策支持等应用提供信息支撑。针对多粒度时空对象的特点以及属性关联关系的相关应用需求,提出属性关联关系的构建需求,研究适合多粒度时空对象属性关联关系的构建方法,是关联关系的属性关联关系的存储与管理技术、分析和可视化表达等方面的基础。
另外,现有的社会学、经济学等领域已对现实世界中人、组织、国家等实体间社交、贸易等多种属性关联关系基于复杂网络进行了详细的描述,因此,全空间信息系统需要容纳已有的属性关联关系的信息,支持已有关联关系数据的批量转换与生成。下一步研究将考虑如何将现有基于复杂网络的属性关联关系的相关信息进行数据转换,实现多粒度时空对象的属性关联关系批量构建,使得多粒度时空对象之间包含更加丰富种类的属性关联关系。