赵会军, 谭瑞珍, 刘德儿
(江西理工大学建筑与测绘工程学院,江西 赣州341000)
据世界卫生组织(WHO)调查数据显示,在世界范围内的视力障碍患者人数中全盲的有4000万到4500万人,低视力人达到了1.4亿.而在《2006年第二次全国残疾人抽样调查主要数据公报 (第二号)》给出 ,我国视力残疾患者约有1233万人,约占世界盲人数量的四分之一,是世界上盲人数量最多的国家[1-2].并且我国的盲人数量正在以每年45万人的速度增长[3],情况不容乐观.
现代城市是一个复杂的立体三维空间.在这个复杂的空间中,人们可以通过视觉信息来快速准确的获取自己的位置,视觉是人类感知这个世界的重要窗口.据研究表明,人类获取外界信息的总量中,视觉信息占据83%[4].然而盲人这个特殊的群体,他们没有或者缺乏视觉感知,造成行动不便,无法过多的与外界接触.如何安全出行成为困扰他们的最大问题[5].因此,作者提出了一种基于GML的电子导盲系统的构建方法,以期获得更多研究学者的关注,为盲人导航领域提供参照.
解决盲人出行的问题,首先从盲人性格特点入手.由于盲人视觉感知的缺失,盲人长期生活在黑暗中,不得不通过其他方式跟这个世界交流.通常盲人接受事物的速度缓慢,甚至单一片面.行走时,定向困难,动作不协调,经常会得到正常人的歧视.当盲人的生活需求得不到满足时就会产生焦虑自卑的情绪,久而久之就会变得性格偏执、冷漠,精神空虚,缺乏竞争意识[6].因此,盲人出行时缺乏安全感,需要注意更多的环境安全信息.
盲人导航最重要的问题就是如何实现路径引导,增强盲人的安全感、方向感,使盲人的空间认知更清晰.盲人虽然无法通过视觉感知这个世界,但是对于地理环境也能构建心理空间表征.空间表征指的就是空间物体在现实环境中的位置及其物体之间的空间关系在人们心中的表现.空间表征从底层次到高层次结构包括地标知识、路径知识和场景知识.地标知识是人们对地标的突出物的认识.各个地标之间通过路线连结,就形成了路径知识.地表之间的路径增多时,逐渐形成网状结构时就形成了场景知识[7].而对于盲人来说,空间表征可以概括为五大要素类:道路、边界线、区域、节点与地标.盲人出行最关心的主要是节点信息,其次是道路、目的地、地标及建筑物信息.此外盲人在出行的过程中,路径上的障碍物、分叉口、目的地的方向、当前的位置、路网、各个功能单元的入口以及路标信息都是不可缺少的信息.环境心理学家在报告中指出,空间建筑物与基础设施要符合人们的特点,要充分考虑空间表征特点[7].结合盲人出行心理特征、盲人对空间信息的感知和空间地物信息,文章提出了基于通道与功能单元的导盲思想.
在盲人安全出行的过程中所关注的最主要的是地理信息.盲人所关注的信息与常人出行所关注的信息有所不同,盲人系统包含的信息更详细全面,无论是在精度性、综合性,还是实时性上,都比适用于常人的导航系统更详细.他们除了要关注周围的环境信息外,还需要准确的知道障碍物的大小、台阶的高度、走廊的长度、沟壑的深浅、人行道的通行情况等,还必须要实时知道自己所处的位置.在构建导盲系统的时,就需要理解盲人出行的心理特征,行为习惯,研究户外地物特征,总结出有效的地理信息以便完成地理信息的抽象模拟.针对以上问题,文章以面向对象的通道与功能单元的思想,设计服务于盲人的导盲数据模型.
该导盲系统主要适用于盲人所在的城市环境.一座功能完善的城市,包含一系列的具有各种功能的城市空间单元,比如商场、学校、健身会所、菜市场等.各个功能单元通过无数条路径连接,形成路径网.这些功能场所可以抽象为功能单元,也即点要素,道路可以抽象为通道,也即线要素.以江西理工大学校园为例,校园里包含各个功能单元,比如,教学楼、办公楼、图书馆、食堂以及超市等.这些功能单元为学生提供了各种各样的服务需求,功能单元之间也通过道路网进行连通.功能单元包含简单要素与复杂要素,复杂要素是由多个简单要素构成.
在进行建模时不仅要注意宏观信息,更需要注意微观信息,因此在进行地物局部细节描述时要保证高度的抽象性和注意对象之间的合理组织安排.对道路模型建模时要根据道路的连通性生成道路拓扑关系.对一些细节信息需要建立丰富的地理语义信息系统.丰富的语义描述可以更好地帮助盲人构建心理地图,提高他们的空间感知认识水平.盲人出行通常都是为了满足自身的需求而带有目的出行的,他们的活动范围也很小,一般是在自己熟悉的区域活动.对盲人出行目的进行分析,高度概括不同功能单元在导盲系统的作用,根据作用的大小进行不同等级的描述.既能保证导盲数据的全面性又能减少数据的冗余(见表1).
表1 导盲系统信息总结
现代社会是个信息社会,科技发展非常迅速,出现了各种各样的基于定位导航的应用和服务,基本的满足了普通人群的出行需求,但是鲜有专门针对于盲人这个特殊群体的应用.由于盲人的自身的特殊性,视力低下,严重与现代社会脱节.但是,盲人也需要社会服务,也需要出行.所以急需一种能够构建空间数据的模型来解决这个困境.
XML(Extensible Markup Language,可扩展置标语言)是一种类似与HTML(HyperText Markup Language,超文本标记语言)的标记语言,用于组织、存储和发送数据信息[8].XML一经推出,就迅速在信息技术领域传播使用,如今,XML作为一种数据传输方式,在Internet领域中得到了广泛的支持.GML(Geography Markup Language,地理标记语言)[9]是 OGC(Open Geospatial Consortium,开放地理空间信息联盟)提出的一种可以描述现实世界中地理对象的标识语言,是以XML为元语言的标记语言.GML继承了XML的特点,又具有自己的特性,使得使用GML作为构建导盲系统的方法变得简单易行[10].
1)GML的核心模式以及应用模式都是纯文本的,任何编辑软件都可以编辑,使得GML简单易学易用.
2)GML实例文档的内容和结构受到Schema文档的约束.在XML Spy等编辑软件中实现结构完整性的自动验证.
3)GML文档可以局部修改.GML文档具有树状层次结构,可以对用户某个感兴趣的元素或元素类型进行局部更新、修改.
4)通过任意一种编程语言都能够实现GML向SVG[11]、VML[12]、X3D[13]、KML[14]等数据格式转换,然后在浏览器上显示,不需要额外的特定插件,最重要的是不会发生数据信息的丢失情况GML文档格式标准开放,能够在Internet上传输,实现信息共享,解决“信息孤岛”问题[15].
5)GML文档能够描述空间地物的特征.空间地物的几何信息、拓扑关系、时间信息,在GML的核心模式中都有专门的描述标准.
用户设计的Application Schema可以声明和定义自己的类型,以命名和区分重要的地物要素和地物集合要素.在开发Application Schema时,应该遵循以下要点:
1)相关 Schema(包括 GMLApplication Schema)的目标名称空间都不能与GML基础geometry S chema和featureSchema中的目标名称空间相同.
2)Application Schema必须以import的方式引入feature.xsd,同时也可以引入其他需要的Schema模式.
3)Application Schema不能改变在基础Schema中已有的元素的名字、定义,以及数据类型.
4)在Application Schema中新建的feature和feature集合类型必须直接或间接地从gml:AbstractFeatureType和gm l:AbstractFeatureCollectionType派生;新的geometry和geometry集合则必须直接或间接地分别从AbstractGeometryType和AbstractGeometryCollectionType扩展.
5)在遵循上述原则的前提下,允许其他任何符合XML相关规范的操作.
盲人或低视力人群能够安全出行最关键的就是能够实时定位和安全避障,而导盲系统针对盲人的特殊性就得具备自己的特点,比如,对于空间地物的某些特性就不需关注——如:地物的颜色、材质、使用周期;对于通道的台阶、路长、凸起物就需要格外关注.
在构建导盲系统时,将空间信息抽象化.出发点、目的地、障碍物抽象为节点,各个节点之间的路段抽象为线段,周围的功能单元抽象为多边形,在对空间信息抽象化后,还需要建立各个节点、边线、多边形之间的拓扑关系,是导盲系统更加有效.一个完整的GML文件包含三部分,如图1[9]:GML核心模式、GML 应用模式(Application Schema)、GML实例文档 (Instance Data).GML核心模式定义了地理要素的基本组件,并没有给出具体的元素[10].GML具有极强的可扩展性,不同领域的数据建模者可以根据自己需要,定义元素和类型,创建GML应用模式.GML实例文档就有数据生产者生产者创建和维护,实例文档包含了一个具体的地理对象数据.
图1 GM L的模式与实例
基于GML的导盲空间数据模型的过程可以分为以下 4 步(图 2)[16]:
图2 GM L文件生成步骤
1)将现实空间地物抽象为点、线、面等元素;
2)对抽象化后的几何元素添加几何属性,表达地理元素;
3)根据盲人用户关心的问题,编写GML应用模式;
4)根据编写好的GML应用模式文档,生成GML实例数据文档.
GML的应用模型是以GML的核心模式为框架的,根据地理要素的内容和结构生成的.该系统的总体框架,如图3.
编写GML的软件为Altova XMLSpy 2013.Altova XMLSpy是业界最畅销的XML编辑器和开发环境,用于建模,编辑,转换和调试XML相关技术,编写GML文档时更加方便快捷.
下面以江西理工大学的空间地物为例(见图4).建立基于GML的导盲数据应用模式和实例文档.
在School.xsd中School为要素集,由于篇幅有限,仅列出了关键代码.该模型能够帮助盲人对江西理工大学的地物有个良好的空间感知,实现安全出行的目的.
图3 模型数据框架
图4 江西理工大学地物抽象图
道路要素的抽象建模是系统研究的重中之重.道路又分很多种(如高速路、人行道、铁路、公路),这里主要探讨能够保障盲人安全出行的人行道.导盲系统的道路模型不仅仅是现实世界的高度抽象化,还要包含各条道路的语义信息、拓扑信息.道理语义信息包括道路名称、道路长度与宽度、道路方向、连通功能单元、道路的几何信息与道路周边建筑物信息等.一条道路的安全通行度,可以通过道路危险度来量化.道路上的障碍物数量、障碍物的大小、人流量、道路平整度以及道路的类型等都将影响道路危险度.危险度高的可以设置为不可通行路段,在建模时可以舍去.反之,危险度低的路段需要详细描述,阐述丰富的语义信息.部分道路应用模式如下.
<xs:element name="Road" type="RoadType"substitutionGroup="_SchoolFeature"/>
<xs:complexType name="RoadType">
<xs:complexContent>
<xs:extension base="gml:AbstractFeatureType">
<xs:sequence>
<xs:element name="roadName"type="xs:string"/>
<xs:element name="length"type="xs:string"/>
<xs:element name="width"type="xs:string"/>
<xs:element name="connected"type="xs:string"/>
<xs:element name="begin"type="xs:string"/>
<xs:element name="end"type="xs:string"/>
<xs:element name="linearGeometry"type="gml:LineStringPropertyType"/>
<xs:elementname="topoRoad"type="gml:FaceType"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
造成盲人出行困难的主要因素就是存在障碍物.如果某块区域一马平川,盲人就不会发生危险.对于盲人来说,障碍物是个广义的概念,不仅仅是指危险度极高的地物,而且还包括常人轻松跨越的物体.路边的垃圾桶、凹凸不平的路面、对向行走的行人、飞驰的汽车以及路缘石,都有可能是盲人摔倒,甚至造成人身伤亡.研究者发现道路上的临时障碍物对于盲人来说更危险,因此,系统重点关注了障碍物的临时性.如果盲人不关心某个功能单元,系统可以判定该单元为障碍物.障碍物继承于简单对象SimpleObject.xsd;有些障碍物也具有某些功能,比如垃圾桶,盲人可以扔垃圾,这里就需要建立语义信息.在本例中,设计了ObstacleObjectWithFunction.xsd.它是从障碍物对象类继承而来,两者之间的区别在于后者拥有其功能类型.部分障碍物应用模式如下.
<xs:element name="Obstacle"type="ObstacleType"substitutionGroup="_SchoolFeature"/>
<xs:complexType name="ObstacleType">
<xs:complexContent>
<xs:extension base="gml:AbstractFeatureType">
<xs:sequence>
<xs:element name="obstacleName"type="xs:string"/>
<xs:element name="canMoveOrNot"type="xs:string"/>
<xs:element name="temporaryOrNot"type="xs:string"/>
<xs:elementname="dangerCoefficient"type="xs:string"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
城市中的功能单元是盲人交流的重要场所.这里所说的功能单元为盲人所关心的空间地物.功能单元的抽象描述需按盲人的需求进行分析.如果是电影院一类的,需要视觉信息为基础的功能单元,可以直接舍弃.功能单元必须包括外形信息,帮助盲人建立心理图像.功能单元的时间相关信息也必须描述,在开放时间之外的时间,功能单元不允许进入,就变成了障碍物.如果有需要可以添加功能标签,便于盲人快速导航.部分建筑物应用模式如下.
<xs:element name="Building"type="BuildingType"substitutionGroup="_SchoolFeature"/>
<xs:complexType name="BuildingType">
<xs:complexContent>
<xs:extension base="gml:AbstractFeatureType">
<xs:sequence>
<xs:element name="buildingName"type="xs:string"/>
<xs:element name="buildingFuction"type="xs:string"/>
<xs:element name="polygon"type="gml:LinearRingPropertyType"/>
<xs:element ref="gml:Edge"maxOccurs="unbounded"/>
<xs:element ref="gml:Face"maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name= "FunctionArea" type= "FunctionAreaType" substitutionGroup = "_SchoolFeature"/>
<xs:complexType name="FunctionAreaType">
<xs:complexContent>
<xs:extension base="gm l:AbstractFeatureType">
<xs:sequence>
<xs:element name="fuctionAreaName"type="xs:string"/>
<xs:element name="openTime"type="xs:string"/>
<xs:element name="closeTime"type="xs:string"/></xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
文中编写的应用模式与实例数据都是在Altova XMLSpy中完成的,并且验证结果都是合法有效的.
1)文中研究的导盲系统从盲人心理特征出发,提出了基于通道与功能单元的基本思想.以江西理工大学为研究对象,利用GML技术将盲人空间行走所关注的信息,比如道路的拓扑信息、功能单元的几何信息、障碍物的语义信息等空间地物信息都进行了详细的描述与管理,使得盲人能够得到更好地空间认知.
2)由于GML的特点,文中提出的导盲数据模型能够花费很少的成本,可以随时地进行语义拓展,有助于空间对象描述的完善,丰富语义信息.
3)现实生活中,空间地物之间的关系是非常复杂的,文中研究的基于GML的导盲系统,只是针对空间地物静态或动态信息的描述和管理,还需要更加深入的研究,这也为未来的研究提供了方向.随着科学技术的发展,GML也是在不断发展之中,相信在未来,导盲方法的研究更加完善、科学.