专利名称:地理位置相关的散列虚拟地理编码方法及系统的制作方法
技术领域:
本发明涉及地理信息系统领域,特别是涉及一种地理位置相关的散列虚拟地理编码方法及系统。
背景技术:
地理编码也称地址匹配,是指将地址映射成地理坐标的过程,提供了一种把描述成文本地址的地理位置信息转换成地理坐标的方式。虚拟地理编码是在虚拟世界中对于与现实世界映射的地址进行索引的坐标编码,是地理信息系统以三维方式表达的产物。地理信息科学是在地理学、地图学、测量学和计算机科学等学科基础上发展起来的一门科学,基于其实现的软件实体称作地理信息系统(GIS)。虚拟现实(VR)技术是对真实世界的映射,利用计算机模拟产生一个三维的虚拟空间。虚拟地理信息系统(VR-GIS)是地理信息系统与虚拟现实技术相结合的产物,它不仅具有传统GIS所具有的空间数据的存储、处理、查询和分析等功能,与VR技术的结合对界面友好性及交互直观性均有显著的改善。随着本世纪初互联网络时代的来临,同Web结合的理论和实践显示出其前所未有的生机和活力,(网络虚拟地理信息系统)WebVR-GIS成为这一趋势下的必然产物。它借助互联网的全球化优势将VR-GIS应用到互联网上,在提供数据分享、协同漫游、GIS分析等功能的同时,更让整个“地球虚拟世界”在一个场景中显示。网络虚拟世界便是WebVR-GIS的一个向多用户交互延伸的案例,在虚拟世界中,每个用户都有一个虚拟角色化身,与真实环境相映射的虚拟场景、方便快捷的信息共享等让每个虚拟角色完全不受时域空域的界限,互动娱乐或协同工作。虚拟场景中用户数量的急速增加及人们对新事物探求欲望的提升,虚拟世界的虚拟区域逐渐由虚拟城市向虚拟地球级别的扩展已成为必然。然而,虚拟世界的范围扩大到地球级别,在对虚拟世界中地理对象进行编码时所出现的一系列新的问题,包括(1)全球地理位置布局复杂,基于拓扑的传统GIS空间划分方式难以满足需求;(2)全球规模虚拟世界中地理对象数目众多、且用户化身状态变化频繁、行为无法预测。这些都导致虚拟世界中虚拟位置与现实地理位置映射时难以匹配准确。通常解决方案如下为了有效进行GIS空间划分即地理区域划分,常用方法有人们熟知的经纬度区域划分模型和地图投影划分模型,以及地理信息系统中用到的泰森多边形区域划分等方法。而对数据检索则采用无关联意义的文件命名方式索引,对于地理位置相关的映射编码则未有研究。
发明内容
基于此,提供一种虚拟世界中虚拟位置与现实地理位置映射时匹配较为准确的地理位置相关的散列虚拟地理编码方法和系统。一种地理位置相关的散列虚拟地理编码方法,包括如下步骤采用基于球面均匀分割的区域四叉树法对地球表面空间进行多次划分;对地形与场景分块和模型分别建立基于Hash明文编码的索引;
虚拟世界中采用Hash明文的虚拟地理编码对用户化身索引;及将所有数据的Hash明文编码索引依照划分层次存入基于Hash明文编码的数据索引数据库。在其中一个实施例中,对地表划分8次,每一尺度级别以16位Hash保存,组合成128位Hash作为其虚拟地理编码,对三维对象,将其所在前七次划分地块的Hash组合成112位Hash,三维对象本身以16位Hash作为编码表示,叠加组合为128位Hash。在其中一个实施例中,每个用户化身登陆虚拟世界时记录其登陆所在地块的虚拟地理编码,作为该化身当前虚拟地理编码前128位,并以32位的二进制用户ID为尾数,组成化身定位编码。化身移动的过程中,当其移动至其他地块,虚拟地理编码和相应的化身定位编码重新更新。一种地理位置相关的散列虚拟地理编码系统,包括划分模块,采用基于球面均匀分割的区域四叉树法对地球表面空间进行多次划分;地理索引构建模块,用于对地形与场景分块和模型分别建立基于Hash明文编码的索引;用户化身索引模块,用于在虚拟世界中采用Hash明文的虚拟地理编码对用户化身索引 '及存储模块,用于将所有数据的Hash明文编码索引依照划分层次存入基于Hash明文编码的数据索引数据库。上述方法建立一套空间划分与索引机制并抽象为数学模型,可以扩展至真实世界划分、三维地球剖分,并作为实现系统中的核心索引数据结构,对虚拟世界中各类对象进行映射。设计基于Hash明文的虚拟地理编码,用以索引用户化身以及三维地球场景中的各类元素模型,实现了虚拟世界同现实世界中对象间相对位置的统一。
图1为一实施方式的地理位置相关的散列虚拟地理编码方法流程图;图2表地球表面建立笛卡尔坐标系与划分方式;图3表示图1所示地球表面分别采用90度划分,45度划分,22. 5度划分;图4为三维地球地表的四叉树分块图示;图5表示空间剖分方法;图6表示Hash索引二叉树数据结构;图1为散列虚拟地理编码Hash表结构图;图8表示散列虚拟地理编码数据结构。
具体实施例方式为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式
做详细的说明。在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似改进,因此本发明不受下面公开的具体实施的限制。
本发明提出一种地理位置相关的散列虚拟地理编码,基于散列(Hash)对全球地理环境模型进行编码映射,使其可以同时适用于真实世界、虚拟场景的划分,作为虚拟世界这个重叠世界的空间划分方式。该方案将提供一种虚拟地理编码以高效索引数据和化身,使得全球用户以三维化身在虚拟现实环境中交流的平台,可以为科学研究工作提供良好的数据分享手段和协同工作途径。本发明拟对全球空间数据模型剖分后,借助虚拟地理编码作为全球虚拟世界中的空间数据分块的索引以及节点的地理位置标识和索引,将参与其中的各节点组织成为全球范围的虚拟对等网络。对全球剖分模型、地理编码索引方式分别进行国内外现状分析。(一)全球剖分模型全球空间数据剖分模型方法包括传统的“格网划分” [I]和“全球空间剖分模型(G2PS模型)”[2]。“传统格网划分”在表达局部信息时基本满足应用需要,但若直接应用于处理大范围(甚至全球)空间问题,不可避免地导致空间数据的不连续(重叠和断裂)和较大的空间变形。其他格网剖分系统[3-6]在不同领域具有优势,是管理海量数据的有效途径。“G2PS”模型包括了“柏拉图立体球面剖分” [7], "Voronoi球面剖分模型” [7] [8],“QTM”[9]等。“G2PS”模型在管理全球、多层次和海量的空间数据具有优势。球表纹理划分模型包括“均匀分割四叉树模型”、“重叠四叉树模型”等[10] [11],既具有经纬度格网结构简单的特征,又具有QTM几何变形稳定等优点。Google Earth采用的基于网络clipmap切割方式也已经在到软件中实现。已实现的球体包括Google Earth, NASA World Wind,Microsoft Virtual Earth等。然而,现有球面剖分模型并未同P2P网络覆盖模型映射,因此无法利用全球规模参与用户的资源,达到最高的数据调度成功率与网络中空闲硬件的利用率。(二)地理编码索引地理编码也称地址匹配,是指将地址映射成地理坐标的过程,提供了一种把描述成文本地址的地理位置信息转换成地理坐标的方式[12]。地理编码的过程包括地址标准化和地址匹配两部分内容。地址标准化的目的是建立地理编码数据库。美国早在20世纪70年代就建立了全国的地理编码标准和地理编码数据库,并开发了通用的地理编码软件工具[13]。至今,美国、欧洲和日本等发达国家的地理编码体系已非常完善,并建立起了相对完善的地理编码数据库。由于中国的地名混乱、无序,缺乏统一的标准,还没有一个完善的系统可以进行全国的地理编码工作。国内的GIS软件厂商也并没有建立起适合中国国情的地理编码系统数据库。早在2004年,北京大学数字地球工作室已利用基于遥感影像和矢量GIS相结合的方式,建立起了北京市的地理编码数据库[14]。虚拟地理编码是采用地理编码来索引虚拟世界中海量用户与地物数据。当前采用Hash值作为虚拟地理编码的方法尚无研究。采用多级Hash明文对地理单元进行编码将解决虚拟世界中不同尺度下区域海量对象数据和用户化身的定位问题。参考文献[ I ] Ander son T. E. , D. E. Culler, D. A. Patterson, et al. A case forNOW(Networks of Workstations), IEEE Micro, 15(I):54—64, February 1995.[2]宋树华,程承旗,关丽等,全球空间数据剖分模型分析,地理与地理信息科学,24 (4) :11-15, 2008.
[3]孙文彬,赵学胜,高彦丽等,球面似均匀格网的剖分方法及特征分析,地理与地理信息科学,251:53-56.[4]贲进,童晓冲,张衡等,一种通用球面等积离散网格生成算法,测绘学院学报,22 (4) :252-258, 2005.[5]蒋泽,刘湘梅,邵建兴等,球体散射场计算前置处理中的球面剖分算法,计算机工程与应用,45 (19) :213-216, 2009.[6]陈述彭,陈秋晓,周成虎,网格地图与网格计算,测绘科学,27(4):1-7,2002.[7]贲进,童晓冲,张衡等,基于六边形网格的球面VOTonoi图生成算法,测绘科学技术学报,23 (5) : 328-330,2006.[8]童晓冲,贲进,张永生,不同集合的球面矢量VOTonoi图生成算法,测绘学报,35(1) :83-89, 2006.[9]孙文彬,赵学胜,基于QTM格网的空间数据无缝层次建模,中国矿业大学学报,37(5) :675-679, 2008.[10]靳海亮,基于四叉树结构的大规模地形生成算法,辽宁工程技术大学学报(自然科学版)28 (4) : 546-549,2009.[11]崔马军,赵学胜,球面退化四叉树格网的剖分及变形分析,地理与地理信息科学,23(6) :23-25, 2007,[12] Clodoveu A. , J. Davis, F. T. Fonseca, Assessing the certainty oflocationsproduced by an address, Geocoding System[J]Geoinformatica, 11(I) :103—129,2007.[13]胡青,徐建华,王志海,GIS数据库中地址自动匹配方法研究[J],测绘与空间地理信息,31 (6) :50-52, 2008.[14]江洲,王凌云,李琦,基于栅格影像的地理编码数据库开发研究[J],计算机应用研究,21 (2) : 120-12,2004.[15] ZhihanLv, GeChen, ChenZhong, YongHan, Yong YangQ1. A FrameworkforMult1-Dimensional WebGIS based Interactive Online Virtual Community.AdvancedScience Letters, do1:10. 1166/asl. 2012. 2063 (2012).本发明设计了一种地理位置相关的散列虚拟地理编码方法,以解决当虚拟世界的范围扩大到地球级别,在对虚拟世界中地理对象进行编码时所出现的一系列新的问题,包括(I)全球地理位置布局复杂,基于拓扑的传统GIS空间划分方式难以满足需求;(2)全球规模虚拟世界中地理对象数目众多、且用户化身状态变化频繁、行为无法预测。这些都导致虚拟世界中虚拟位置与现实地理位置映射时难以匹配准确。如图1所示,一实施方式的地理位置相关的散列虚拟地理编码方法,包括如下步骤步骤SI,采用基于球面均匀分割的区域四叉树法对地球表面空间进行多次划分。本方法所需原始数据包括矢量数据、高程数据、影像数据、三维模型网格数据、三维模型纹理数据。对矢量数据、高程数据、影像数据采用基于均匀分割的区域四叉树的划分方式划分;对三维模型网格数据、三维模型纹理数据采用基于对象节点的方式划分。请参阅图2、图3和图4,本方法对三维地球模型的地表构建笛卡尔坐标系,并进行基于均匀分割区域四叉树法的多尺度空间划分,每一尺度级别以16位二进制Hash值保存,划分8次后每块数据可以表示为将8个尺度的Hash值依照逐渐划分的顺序由高位至低位组合而成的128位Hash值,作为其地理编码,同各尺度标识进行映射。请参阅图5、图6,对数据进行基于均匀分割的区域四叉树的方式多次逐层划分后,采用二叉树的基本数据结构进行存储,完整区域为根节点,之后的每一次划分结果都是前一次划分的子节点。其中,第N次划分的第M个子节点记为0^\图5中黑点代表用户节点。步骤S2,对地形与场景分块和模型分别建立基于Hash明文编码的索引。对于三维模型网络与纹理数据,将其所在的前七次划分地块的Hash值依照逐渐划分的顺序由高位至低位组合而成的112位Hash值,三维模型本身以16位Hash值表示,两相叠加,组合为128位Hash值,作为其虚拟地理编码,并同各尺度标识和数据名称相映射。将各类数据的地理编码同其映射存入数据库中的不同字段,并建立索引。
步骤S3,虚拟世界中采用Hash明文的虚拟地理编码对用户化身索引。每个用户化身登陆虚拟世界时记录其登陆所在地块的虚拟地理编码,作为该节点当前地理编码前128位,并以32位的二进制用户ID为尾数,组成节点定位编码。节点移动的过程中,当其移动至其他地块,虚拟地理编码变动,相应的节点定位编码也重新快速生成。同时,节点将重新计算同本地节点列表中各节点的逻辑距离,向逻辑距离最近的n个节点发送所需三维数据的虚拟地理编码,每个在线的节点接收到信息后,不仅在本地搜索,同时也将该虚拟地理编码信息向各自的本地节点列表中发送。由小世界理论可知,当依次方式递归6次时,基本上会找到所需要的数据,为保险起见,默认递归10次,并以递归次数作为节点的辐射范围。步骤S4,将所有数据的Hash明文编码索引依照划分层次存入基于Hash明文编码的数据索引数据库。请参阅图7和图8,对每一个0彡i ( 128,每个节点都保存有一些和自己距离范围在区间(m指2的i次方到2的i+1次方)内的一些节点信息,这些信息由一些(IPaddress, UDP port, Hash ID)数据列表构成。每一个这样的列表都称之为一个Hash路由表,并且每个Hash路由表内部信息存放位置是根据距离的空间顺序排列,最近的放在头部,最远的放在尾部。化身插入a首先把b插入自己适当的Hash表中,然后对自己的节点ID执行一次查找节点操作,然后更新自己的Hash表内容。对自己邻近节点由近及远的逐步查询,a完成了空的路由表信息的构建,同时也把自己的信息发布到其他节点的Hash表中。每个节点的Hash表组织模型都表示为一颗二叉树,叶子节点为Hash表,Hash表存放的是有相同ID前缀的化身信息,而这个前缀就是该Hash表在二叉树中的位置。以化身a为例,其Hash表组织模型的生成过程为a的Hash表组织模型为一个单个的Hash表,覆盖了整个128bitID空间;遇到新的化身信息后,a会尝试把新化身的信息,根据其前缀值插入到对应的Hash表中①如果该Hash表没有满,则新化身直接插入其中;②如果Hash表已经满了,而且Hash表覆盖范围包含了化身a的ID,则把该Hash表分裂为两个大小相同的新表,并对原Hash表内的化身信息按照新的Hash表前缀值进行重新分配。本发明还提供一种地理位置相关的散列虚拟地理编码系统,包括
划分模块,采用基于球面均匀分割的区域四叉树法对地球表面空间进行多次划分;地理索引构建模块,用于对地形与场景分块和模型分别建立基于Hash明文编码的索引;用户化身索引模块,用于在虚拟世界中采用Hash明文的虚拟地理编码对用户化身索引;存储模块,用于将所有数据的Hash明文编码索引依照划分层次存入基于Hash明文编码的数据索引数据库。上述方法及系统的有益效果如下构建一个重叠空间,将真实地理、虚拟世界的空间划分统一并进行编码,解决虚拟世界中数据量过大时难以进行索引,且搜索效率低下的问题。一、建立一套空间划分与索引机制并抽象为数学模型,可以扩展至真实世界划分、三维地球剖分,并作为实现系统中的核心索引数据结构,对虚拟世界中各类对象进行映射。设计基于Hash明文的虚拟地理编码,用以索引用户化身以及三维地球场景中的各类元素模型,实现了虚拟世界同现实世界中对象间相对位置的统一。二、用户在虚拟世界中的归属范围划分,与网络模型划分相对应,使得一个用户节点在希望获取某块区域的数据时,可以直连到同归属范围划分区域的用户,进行多源传输和行为协同。快速索引用户的同时,提高了索引到的用户携带所需数据的几率。以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
权利要求
1.一种地理位置相关的散列虚拟地理编码方法,其特征在于,包括如下步骤采用基于球面均匀分割的区域四叉树法对地球表面空间进行多次划分;对地形与场景分块和模型分别建立基于Hash明文编码的索引;虚拟世界中采用Hash明文的虚拟地理编码对用户化身索引 '及将所有数据的Hash明文编码索引依照划分层次存入基于Hash明文编码的数据索引数据库。
2.根据权利要求1所述的地理位置相关的散列虚拟地理编码方法,其特征在于,对地表划分8次,每一尺度级别以16位Hash保存,组合成128位Hash作为其虚拟地理编码,对三维对象,将其所在前七次划分地块的Hash组合成112位Hash,三维对象本身以16位Hash 作为编码表示,叠加组合为128位Hash。
3.根据权利要求1所述的地理位置相关的散列虚拟地理编码方法,其特征在于,每个用户化身登陆虚拟世界时记录其登陆所在地块的虚拟地理编码,作为该化身当前虚拟地理编码前128位,并以32位的二进制用户ID为尾数,组成化身定位编码,化身移动的过程中, 当其移动至其他地块,虚拟地理编码和相应的化身定位编码重新更新。
4.一种地理位置相关的散列虚拟地理编码系统,其特征在于,包括划分模块,采用基于球面均匀分割的区域四叉树法对地球表面空间进行多次划分; 地理索引构建模块,用于对地形与场景分块和模型分别建立基于Hash明文编码的索弓I ;用户化身索引模块,用于在虚拟世界中采用Hash明文的虚拟地理编码对用户化身索引;及存储模块,用于将所有数据的Hash明文编码索引依照划分层次存入基于Hash明文编码的数据索引数据库。
全文摘要
一种地理位置相关的散列虚拟地理编码方法及系统,包括如下步骤采用基于球面均匀分割的区域四叉树法对地球表面空间进行多次划分;对地形与场景分块和模型分别建立基于Hash明文编码的索引;虚拟世界中采用Hash明文的虚拟地理编码对用户化身索引;及将所有数据的Hash明文编码索引依照划分层次存入基于Hash明文编码的数据索引数据库。上述方法建立一套空间划分与索引机制并抽象为数学模型,可以扩展至真实世界划分、三维地球剖分,并作为实现系统中的核心索引数据结构,对虚拟世界中各类对象进行映射。设计基于Hash明文的虚拟地理编码,用以索引用户化身以及三维地球场景中的各类元素模型,实现了虚拟世界同现实世界中对象间相对位置的统一。
文档编号G06F17/30GK102999585SQ20121046069
公开日2013年3月27日 申请日期2012年11月15日 优先权日2012年11月15日
发明者吕智涵, 陈前, 冯良炳 申请人:深圳先进技术研究院