袁德宝,闫 瑜,王炳灵
(中国矿业大学(北京)地球科学与测绘工程学院,北京 100083)
近年来,空间信息科学应用的范围从宏观向微观转变,处理的空间尺度已经从开放的室外环境转向复杂的室内环境[1-2]。相关的研究工作显示出室内空间位置服务应用在未来时代的发展潜力巨大,如路径规划、对象跟踪、个性化推荐等[3-5]。
室内空间与室外空间的一个重要区别是空间约束,移动对象在室外空间不受任何约束,而在室内空间存在各种室内空间约束,如门、走廊、地板、墙壁和楼梯等[6-8]。由于室内空间的特殊性,在讨论室内空间位置服务应用之前,需要关注的问题是如何建立一个能够表示室内空间复杂特征的模型,室内空间数据模型的表达能力是影响室内位置服务的关键性因素[9-13]。目前已有的室内空间建模方法主要分为3类:对象特征模型、几何空间模型、符号空间模型。但是现有的表示模型不足以对室内空间特性作全面的表达,只能满足特定查询应用条件,不能满足多样化的位置服务需求[14-16]。综上,本文提出一种多元混合室内空间模型以满足这一需求。
大量的应用程序都是基于路径内部建立的,这种类型的应用程序需要相同的数据模型进行导航分析和信息交换,将空间数据转换为统一格式是导航的需求[17]。目前的研究多是应用GityGML来描述模型,但CityGML是基于XML格式的用于存储及交换虚拟3D城市模型的开放数据模型,更适用于室外空间的描述[18-20]。IndoorGML是用于室内空间信息的开放数据模型和XML模式的OGC标准,旨在提供一个共同的室内空间信息交换的框架[21-23]。综上,本文使用IndoorGML来实现对室内空间模型的描述以满足模型共享的需求。
为了弥补已有室内空间模型在室内定位导航中的缺陷,建立的多元混合室内空间模型包括以下特性:①几何特性:用于描述室内空间元素的形状、大小、边界,室内位置间方向信息,可以实现室内空间几何位置特性的表达,一般采用基于区域的栅格模型和基于边界的矢量模型描述;②拓扑特性:将室内空间元素表示为特定ID值标识的符号实体,利用符号实体间的抽象关联(邻接、连通、包含、重叠等)表达室内空间元素间的拓扑关系;③对象扩展特性:将室内空间元素作为对象,每个对象都赋予属性信息,可以通过扩展将对象加入到室内空间模型中。
多元混合室内空间模型需具备以上特性,因此使用栅格图和节点关系图的组合来对室内空间建模。栅格图的建立类似于几何空间模型中栅格模型的建立,即针对对象做渔网图,将其划分为规则的正四边形。但是要注意划分的正四边形边长越短,越密集,用于几何查询的精度就会越高,同时数据冗余就会增多,搜索的时间就会越长,实时性会稍微差一点;但是将正四边形的边长增大后,几何精度就会降低,进而影响室内定位的精度。因此需要折中处理,既要满足精度要求,又要减少数据冗余。节点关系图的建立类似于符号空间模型的图模型,在室内空间模型中重点关注的是室内空间的逻辑图,即室内空间各个区域通过走廊大厅等是否可达。在逻辑图背景下才能进一步讨论导航图。逻辑图主要是确定区域、走廊、大厅之间的拓扑关系,这种关系的建立基于Poincare级数的二元性,如图1映射关系图所示,将N维原始空间中的k维对象映射到双重空间中的(N-k)维。
在图1中,室内空间中的三维单元被变换为零维节点,由两个单元共享的二维边界被转换为相应双重空间中的一维边。通过Poincare级数二元性从原始空间转换的一组节点和边形成连接室内单元格的拓扑图空间。此外还可以考虑边缘的类型导出连接图的邻接图,如果边缘表示门的边界,则该边缘的两个结束节点被连接,否则它们被断开,可以在边缘定义更多的属性来表示门的方向和类型等附加信息。
使用IndoorGML语言描述室内空间模型需要一个基本的模板,来为各个元素赋予属性。IndoorGML基于XML语言,在XML中属性标签没有严格的规定,可以根据使用者需求自行建立,因此,在IndoorGML中结合OGC标准和用户需求创建属性标签。室内空间定位与导航大多是在博物馆、商场、机场等大型公共场所,因此室内空间描述对象也是基于这些场所的。由于这些场所之间存在较大差异,很难使用统一的属性标签对其描述,故需要针对不同的场所创建不同的标签。
属性标签具有严格的逻辑关系,由大到小进行嵌套,并且每一组标签都由开始标签和结束标签组成。针对某类型的场所建立属性标签时,该场所整体应该有一组标签确定其属性,每个场所都有不同楼层,因此要为楼层赋予特定ID以表示不同楼层。在特定室内场所每个楼层都有对应的平面图,平面图中包括各子空间等,而且子空间是描述的重点,这时就要将子空间的几何外形表示出来。子空间外形分为两种:第一种为直线构成的几何形状;第二种为包含曲线的几何形状。这时也要针对每种情况作说明,通过这些描述,可还原原始室内空间。在此基础上要表示室内空间的几何和拓扑关系,即对室内空间模型的描述,包括节点关系和栅格关系描述。栅格图用来表示几何属性,是室内定位的基础,栅格图位置要表达明确。本文以栅格图左下角点和右上角点来确定栅格图位置和整体大小,栅格单元的划分要根据室内空间实际大小确定,室内空间较大时使用粗粒度划分,较小时采用细粒度划分。节点关系图用来表示各目标间可达性,是实现室内导航的基础,在实际描述中,以室内空间子单元几何中心点作为节点,点与点之间是否可以连接,作为子单元的连通关系。重要的大型室内空间属性标签描述见表1。
表1 室内空间属性标签
本文以某商场f1楼层为例,如图2所示。经过多次试验,确定最优格网建立规格为在可通行的较窄走廊部分至少有两个格网,每个栅格单元为一个小的单元,每个小单元都带有几何信息,这些小的单元都是连续的,具有连续的几何特性。基于Poincare级数的二元性,将室内空间对象映射为节点,对象间连通关系映射为边,在节点关系图中节点即可作为行人所处的状态,边可作为行人从一个节点到达另一个节点状态的转换。针对f2楼层建立的多元混合室内空间模型如图3所示。
本文以f1楼层中从某点到达ZARA为例作具体分析,具体流程如图4所示。首先确定寻路起点在栅格图中的具体位置。起点位置是通过室内定位确定的,通过传感器确定起点的几何坐标,并在栅格图中确定该坐标对应的具体栅格位置。通过以上工作,把出发点与目的地都转换成相应节点关系图中的点,这时就可以通过节点关系图的逻辑推理性得到起点与ZARA是否可达,具体可达路径通过IndoorGML描述推理而得。通过以上过程,利用Tiny XML-2开源库,遵循IndoorGML核心结构模块,即可以编程导出室内导航网络的表达文件,路径图如图5所示。
本文建立了多元混合室内空间模型,由栅格图和节点关系图综合而成,既表达了室内空间的几何特性,又表达了空间单元间的拓扑关系,还实现了面向对象的可扩展功能。多元混合室内空间模型的建立为室内导航提供了基础。
为了实现室内空间模型信息共享,本文提出使用IndoorGML描述多元混合室内空间模型。IndoorGML是专门针对室内空间而建立的OGC标准,对室内空间模型的描述会更加全面具体,相对于CityGML更具有针对性和专用性;而且IndoorGML是基于XML语言建立的,在不同的设备端都具有兼容性,对室内空间模型只需要描述一次就可以分享给不同设备,使信息可以实现最大化共享,在增加或减少对象时更容易修改。
室内空间构造复杂,而且不同建筑会有不同的空间构造,针对每个室内空间都需要为其建立专门的模型,增大了工作量,如何建立一个统一的框架,再针对不同空间进行微调是一个急需解决的问题。IndoorGML是OGC正在制定的标准,缺少统一标准,这样就会产生属性标签差异,增加解析难度。针对以上存在的问题,如何建立更加合理完善的室内空间模型,在OGC标准完善后,应该如何解析描述的室内空间模型,都是本文下一步研究工作。