一种面要素语义位置的GeoSOT网格定位方法

2021-04-15 09:46雨,李爽,李
地理与地理信息科学 2021年2期
关键词:九宫格方位语义

龙 雨,李 爽,李 华 玮

(1.武汉大学遥感信息工程学院,湖北 武汉 430072;2.武汉大学计算机学院,湖北 武汉430072)

0 引言

一般采用模糊搜索技术实现位置语义中对象的定位[1],但当用户使用包含空间关系的位置语句查询时,往往得不到正确的检索结果,如现有的高德、百度地图等定位服务系统无法对“华中师范大学东校区”或“电脑城在口腔医院西北方向200 m”进行定位查询。对位置的描述实际上涉及空间认知。若参照物范围较小,往往会忽视其轮廓,如查询“武汉大学法学院南边50 m的教学楼”,可将法学院视作POI点,用传统方法定位。当参照物范围较大,且隐含目标对象与参照物间的包含关系时,会将参照物视作面要素,如“武汉大学南边50 m的小区”,通常理解为从武汉大学南部边界出发、向外延伸50 m的位置;若不考虑武汉大学范围而以几何中心点为参考,定位结果可能落在学校内部,不符合具体情境语义。因此,某些情境定位需综合考虑对象几何轮廓。

随着计算机技术的发展,利用机器学习人类语言,揭示对象间更深层次的自然关系,进而提供符合语义情境的位置服务已成为重要研究方向。学者从语言描述层面解析空间定位问题,并通过提取潜在语义和构建模型有效解析地址信息,提高了地址与位置的匹配精度[2-4]。另一方面,随着网格计算的兴起,国内外学者将地理网格[5]与计算机网格相结合,建立了地理空间信息多级网格概念;通过将各种数据转换到地理网格中,进行地理信息的单元化分析[6,7]和管理[8,9],形成空间信息与资源信息的映射,提供相应的数据服务。但现有的正多面体和正六边形球面网格[10]在空间方位和空间位置的转换中计算复杂,而GeoSOT网格严格遵循四叉树递归剖分,通过3次扩展经纬度空间能够产生整度、整分、整秒的网格层次[11],使得GeoSOT坐标转换和空间方位计算较为简单,同时与地图图幅特征能保持良好同构性,并能够聚合其他网格(Google maps、Bing等),实现空间数据共享。因此,本文针对面要素位置描述中存在方位或距离的情况,提出一种基于GeoSOT的面要素语义位置的地理网格定位方法,实现面要素语义位置到空间位置的转换计算。

1 面要素语义位置定位方法

面要素语义位置定位是指通过已知地理位置信息和空间相对位置关系,实现要素区域定位或位置推理的方法。由于面要素范围较大且形状复杂,当存在方位、距离等空间关系描述时,采用点要素定位法易产生误差或难以辨明内外关系。因此,本文利用九宫格划分思想,将已知面要素划分成具有方位属性的小区块,再根据语义描述的参照物和空间关系查询、计算目标所在位置。上述定位结果并非是对象的实际经纬度值,故使用GeoSOT地理网格标识对象可能存在的区域,具体流程如图1所示。

图1 方法总体流程

1.1 具有语义信息的面要素基础信息库构建

首先采用IKAnalyzer对位置描述语句进行分词,提取对象的名称或别称;然后利用IKAnalyzer特有的正向迭代最细粒度切分算法,从词库中检索词语的最大分割词,再层层迭代切分至最小粒度,如“中国人民银行”的最大分割词和最小粒度分词分别为“中国人民银行”“中国人民|人民银行|中国|人民|银行|人”;最后以名称或别名为参数,通过请求互联网地图服务接口(如高德地图API)得到相关数据信息,进而以数据信息中的兴趣点编号(ID)作为参数请求另一个接口,得到对象的边界坐标和更多地理信息。本文以名称、ID和边界坐标为必需字段建立初始的面要素基础信息库(表1)。

表1 面要素基础信息

1.2 基于九宫格的面要素分割和GeoSOT编码

为体现面要素包含的空间语义,本文采用九宫格对其进行分割。首先计算面要素的最小外包矩形(Minimum Bounding Rectangle,MBR),通过九宫格将其细分成具有相对位置关系的9个区块;然后分别计算、存储区块的GeoSOT网格编码集,作为后续查询定位方法的基础。

1.2.1 全球剖分网格GeoSOT GeoSOT是一种基于经纬度网、适用于空间信息和数据组织的全球剖分网格,由于划分方便、邻接关系简单,可广泛应用于各种场景。GeoSOT同一层级网格间隐含了距离和方位的关系,不同层级的剖分面片对空间位置模糊性表示具有天然优势[12]。GeoSOT表达的地理信息具有全球性,不同区域的数据能在该网格框架中融合,保证整体一致性和可扩展性;同时,该网格能够聚合成其他地理网格,具有较好的同构性,可继承或转换不同网格的地理数据,实现资源整合共享。

为使剖分面片大小为整度、整分、整秒,GeoSOT以地球经纬度空间作为第0级剖分面片(图 2a),每下一级面片都在上一级的基础上进行四叉划分,第1次扩展将180°×360°地球表面空间扩为512°×512°(图 2b);为保证经纬线上严格整型二分,进一步对1°和1′的面片进行扩展,即从1°等于60′扩展到64′(图 2c),从1′等于60″扩展到64″(图 2d)[11,13];最后采用64位编码标识剖分面片(图 2e)。

1.2.2 面要素分割与网格编码

(1)面要素分割。首先对面要素构建最小外包矩形MBR,然后以1/3边长在MBR各边上建立分割点,通过组合不同分割点的经纬度值得到九宫格区域;借助该九宫格可将面要素分解成9个子区块,并获取各区块方位属性(图 3),其中,wn、ws、en、es、n、w、s、e、mid分别代表西北、西南、东北、东南、北、西、南、东、中央。相对于通过GeoSOT编码单独计算网格间关系,九宫格能从整体上将网格集合按方位归类;而GeoSOT网格采用四叉树数据结构,其方位计算取决于参照物。例如,以GeoSOT网格查找某对象东南边,以C为参照可定位到A网格,以B为参照则无法获得相同结果(图4a);九宫格划分则能消除这种不确定性,东南方向固定为A区域(图 4b)。

图2 GeoSOT网格剖分及空间扩展[11]

图3 面要素分割示意

图4 GeoSOT与九宫格方位对比

(2)各区块GeoSOT编码集计算。根据实际应用中面要素大小确定合适的GeoSOT层级,计算该层级面要素分割中九宫格区块的GeoSOT编码集并进行存储。存储数据库中,每个面要素和子区块通过ID及方位关联;每个子区块具有独立的编码集合,网格的方位属性与要素子区块的方位一致;编码集的并集即为该面要素的完整编码集,具体的数据结构如图 5所示。

图5 面要素相关数据整体结构

1.3 顾及距离和方位等语义的面要素定位

将已有的面要素作为参照物,根据描述中的相对空间关系查找或计算目标对象所在的GeoSOT网格,模糊表达定位范围。该步骤将所有已知或未知地理范围的对象整合到GeoSOT网格中,以网格形式进行位置信息的存储和表达,对原有面要素数据集进行了扩展。具体实现步骤如下:首先分析定位语句,提取的语义关键词可分为地理对象名称、方位、距离3种类型,如“武汉大学西边200 m”分词结果为:“武汉大学|西边|200 m”,地理对象名称用于在数据库中检索位置参考物,距离和方位用于计算偏移。然后,根据方位选择对应区块作为参照物,将距离转换为网格大小,利用GeoSOT编码进行计算得到目标区域网格。由于人们对方位的认知一般为四方向或八方向,因此对九宫格划分产生的2种区块(图 3),在具体位置推算时分别讨论。

(1)当方位关键词为中间方位时,倾向采用八方向定位,选择最合理区块计算。例如,“东北边”可理解为“东、东北、北”3种,优先以东北区块计算结果;当东北区块无地理实体时,以东和北区块代替,此时需考虑方位补足(即东区块向北平移,北区块向东平移);若这3个区块无地理实体,便以中央区块代替,不考虑中央是否无实体。假设定位“A对象|东北边|200 m”,东北方向200 m约等于向东和向北同时移动141 m(200 m×sin45°),一个20级网格约为64 m,近似2个网格大小。GeoSOT网格由经度编码与纬度编码组合而成,在东北半球,代表经度的整型编码加(减)1表示向右(左)平移1个网格,代表纬度的整型编码加(减)1表示向上(下)平移一个网格[10],故此时通过在经度、纬度编码上分别加2计算得到A对象东北区块网格编码。若当前所寻找对象在A外部,将计算结果与移动前的网格编码取差集。

(2)当方位关键词为基础方位时,倾向采用四方向定位,对应的中间方位也参与计算。例如,“A对象|东边|200 m”代表将东、东北、东南区块向东平移3个20级网格大小,因此,在对应网格的经度编码上加3,得到定位结果。

2 实验与分析

为验证本文方法的可行性和有效性,本研究收集武汉市内各高校及科研院所的位置数据,包括88所大学(含民办)和23所科研院所(具备研究生招生资格)。首先,根据院校及科研院所的名称在高德地图中查询获得对应的ID、坐标、边界范围等详细信息,建立基础信息数据库SchoolDB;然后对每个院校及科研院所进行九宫格划分,计算各子区块统一在第20层级下的GeoSOT编码,构建空间信息数据库GeoSchoolDB。最后,根据语义关键词进行直接查询或推理获得定位结果。本实验按照定位中语义内容的不同主要分为两种情境。

情境1:在参照物内部的定位。若定位“华中师范大学西北区”,隐含的语义是“华中师范大学内部”,由于华中师范大学作为院校类型的面要素已进行了划分,可直接查询,其在第20层级下的GeoSOT网格集合如图6a所示;若定位“华中师范大学西区”,结果如图6b所示,西区块可能性最高(深色网格),西北和西南次之(浅色网格)。此种情境下,若需匹配到具体对象,对比边界经纬度进行查询,网格编码的查询效率更高;若无需匹配对象,采用网格保证数据存储格式具有统一性,为更复杂的情境定位(类似情境2)奠定数据基础。

图6 华中师范大学部分网格集合

情境2:在参照物外部的定位。若定位“水生所27号宿舍位于水生所东边50 m”,需提取关键词“27号宿舍|水生所|东|50 m”。首先在GeoSchoolDB数据库中检索得到“水生所-东区块”的网格集合(表 2);根据GeoSOT各级面片大小,一个20级网格(约64 m)最接近需求距离(50 m),故在经度方向编码上加1后得到目标网格编码。由于宿舍在水生所外部,对网格取差集得到图7中灰色部分网格。

表2 水生所东区块GeoSOT编码集

图7 水生所东边50 m网格查询结果

通过高德地图的坐标拾取工具进行验证。获得水生所27号宿舍的经纬度坐标约为(114.358012°E,30.544629°N),计算出网格编码为G001132230-210101-21310,与图7中深色网格编码一致,证明实验对该语句的定位查询有效,而使用高德地图则无法直接对水生所27号楼定位(图8黑框处)。

图8 高德查询27号宿舍结果

3 结论

对具有语义位置的空间定位认知取决于语义描述中对象自身的空间范围大小:当对象空间范围较小时,根据对象几何中心点或其边界轮廓进行定位的结果相差不大;当对象空间范围较大时,其定位结果相差较大,此时更倾向于以对象的边界轮廓为参照物进行距离方位描述。因此,对于在空间范围较大区域(如学校、景区、居民区等)内部或附近的定位,将对象视作面要素进行位置计算,比传统使用POI定位更符合空间认知。故本文根据面对象的特征,采用九宫格划分和语义分析,构建了一种允许包含距离和方位描述的面要素语义位置定位方法:利用九宫格预先划分方位,根据空间语义信息进行未知对象的定位计算,最后以GeoSOT网格表达目标所在区域。实验证明,当存在距离、方位或包含关系描述时,本文方法能够实现以范围较大对象为参照物的语义位置定位,结果更符合人们的空间认知习惯;同时,通过将面要素对象和定位推理出的区域转换为GeoSOT网格编码,既实现了对象位置信息的存储表达,也为后续以网格为单元的大数据分析研究提供重要的数据基础。但本文方法仍有待改进:部分面要素形状特殊,导致九宫格切割出的部分区域无地理意义;切割后的区域内部碎片化,影响位置推理结果的准确性等。后续研究将考虑对形状特殊的面要素进行优化处理,以加强本方法的适用性。

猜你喜欢
九宫格方位语义
有趣的九宫格
认方位
成语九宫格
语言与语义
解密九宫格
“上”与“下”语义的不对称性及其认知阐释
借助方位法的拆字
说方位
基于TMS320C6678的SAR方位向预滤波器的并行实现
认知范畴模糊与语义模糊