[0035] 当地理信息要素为线/面要素时,该要素普遍会占用多个北斗网格,所以采用对线/面的最小包围网格进行赋码。如图4所示,在该面要素的当前网格编码级别N为2时,根据该面要素的最小包围网格对其进行赋码,得到编码N50J31。
[0036] 但是,不同级别的北斗网格具有不同的网格精度,在对线/面要素的空间位置进行分析时,由于,线/面要素在不同网格精度下经过的北斗网格的数量位置不同,仅仅只用在当前北斗网格级别根据线/面要素经过的北斗网格进行赋码得到的编码来分析两个要素的空间位置是否一致是不够准确的,所以,本发明对线/面要素还需进行进一步的分析,将线/面要素进行逐级递归判定分析,依次判定每一级别中的北斗网格位置码是否相同,以此来提高本发明对空间位置进行分析的准确性。
[0037] 优选的,在S3B中,所述逐级递归判定的过程具体包括以下步骤:S3B1:获得地理信息要素X和地理信息要素Y的当前网格编码级别N,0S3B2:根据赋码原则B对在下一网格编码级别N’的X和Y进行北斗网格赋码,得到对应的编码集合{CBxn}和{CByn},所述编码集合{CBxn}和{CByn}中分别包括地理信息要素X和地理信息要素Y在下一网格编码级别N’的北斗网格中依次经过的北斗网格的编码;
S3B3:根据地理信息要素X和地理信息要素Y在下一网格编码级别N’的北斗网格中依次经过的北斗网格的编码对编码集合{CBxn}和{CByn}进行第一级判定,若判定出编码集合{CBxn}与{CByn}完全相同,则转到步骤S3B4,若判定出编码集合{CBxn}与{CByn}不完全相同,则表示地理信息要素X和地理信息要素Y的空间位置不一致并结束递归;
S3B4:根据编码集合{CBxn}和{CByn}中编码对应的部分要素的空间占比分别生成对应的编码占比集合{rCBxn}和{rCByn},并根据编码占比集合{rCBxn}和{rCByn}进行第二级判定,若判定出编码占比集合{rCBxn}和{rCByn}完全相同,则将下一网格编码级别N’作为地理信息要素X和地理信息要素Y的当前网格编码级别N并转到步骤S3B1,若判定出编码占比集合{rCBxn}和{rCByn}不完全相同,则表示地理信息要素X和地理信息要素Y的空间位置不一致并结束递归。
[0038] 优选的,在S3B3中,所述第一级判定的判定条件为:若编码集合{CBxn}与{CByn}中编码的个数相同且对应的编码的内容相同,则判定编码集合{CBxn}与{CByn}完全相同;
若编码集合{CBxn}与{CByn}中编码的个数不相同或者对应的编码的内容不相同,则判定编码集合{CBxn}与{CByn}不完全相同。
[0039] 优选的,在S3B4中,所述第二级判定的判定条件为:若编码占比集合{rCBxn}与{rCByn}中编码对应的部分要素在下一网格编码级别N’的北斗网格中占北斗网格的空间占比相同,则判定编码占比集合{rCBxn}与{rCByn}完全相同;
若编码集合{CBxn}与{CByn}中编码对应的部分要素在下一网格编码级别N’的北斗网格中占北斗网格的空间占比不相同,则判定编码占比集合{rCBxn}与{rCByn}不完全相同。
[0040] 优选的,所述赋码原则B为:将地理信息要素X和地理信息要素Y经过的下一网格编码级别N’的北斗网格的编码分别依次纳入到编码集合{CBxn}和{CByn}中。
[0041] 具体的,当地理信息要素X和地理信息要素Y为线/面要素时,分析编码CAx和CAy的内容是否完全相同时,也就是判断编码CAx和CAy中的编码数字是否完全一样,若一样,则表示内容完全相同,但不能直接判定该地理信息要素X和地理信息要素Y的空间位置一致,还需进入逐级递归判定过程P,将当前网格编码级别N定位下一等级,即N’=N+1,并根据赋码原则B进行北斗网格赋码,得到各自的编码集合{CBxn}和{CByn},其中,所述逐级递归判定过程P的判定结束条件为当前网格编码级别N为10,也就是当逐级递归到第10级时,则判定结束。
[0042] 由于,下一级别的北斗网格是将上一级北斗网格按照经纬度等分,分成更小的网格,所以,如图5所示,左边的线要素的当前网格编码级别为第九级,在第九级北斗网格中该线要素仅仅只占了一个网格,用该线要素经过的北斗网格进行赋码,得到一个北斗网格位置码,用一个北斗网格位置码就可以代表位于第九级的线要素,但是,将该线要素进行递归后,第十级北斗网格将第九级北斗网格等分成更小的网格了,所以,线要素也被进行了相应的划分,线要素经过的北斗网格变成了多个,将线要素经过的多个北斗网格位置码都依次纳入到编码集合中,就可以用该编码集合来代表位于第十级的线要素。
[0043] 但是,本发明是基于北斗网格位置码对要素经过的北斗网格进行赋码用来代表该要素进行空间位置分析,对于线要素来说,线要素经过的北斗网格中可以用很多种长度或者弯曲度的显示,仅仅通过北斗网格位置码来表示线要素,不能保证两个线要素的空间位置一致如图6所示,可以分别得到地理信息要素X和地理信息要素Y在下一级北斗网格中得到的编码集合{CBxn}和{CByn},图6中所示网格编码级别N为4,也为当前网格编码级别N的下一级,
根据图6中可以得出,编码集合{CBxn}:N50J31412,N50J31413,N50J31423,N50J31424,N50J31434,N50J31444,N50J31445,N50J31455,N50J31465。编码集合{CByn}:
N50J31412,N50J31413,N50J31423,N50J31424,N50J31434,N50J31444,N50J31445,N50J31455,N50J31465。由此得出,该地理信息要素X和地理信息要素Y在第4级北斗网格中得到的编码集合{CBxn}和{CByn}中编码的个数相同且编码的内容相同,但可以看出,两个要素的空间位置并不一致,两个要素在相同的北斗网格中具有不同的长度,所以,判定编码集合是否完全相同是作为第一级判定方法,还需对编码集合完全相同的要素进行第二级判定。
[0044] 当编码集合完全相同时,分别计算编码集合中每个北斗网格经过的部分要素的空间占比,若每个空间占比都相等,则可以判定出两个线要素的空间位置一致。
[0045] 具体的,根据编码集合{CBxn}和{CByn}中编码对应的部分要素的空间占比分别生成对应的编码占比集合{rCBxn}和{rCByn},如图7所示,对编码集合{CBxn}进行占比计算可以得到对应的编码占比集合{rCBxn}:{(N50J31412,10%),(N50J31413,16.6%),(N50J31423,7.4%),(N50J31424,6%),(N50J31434,12.4%),(N50J31444,11.6%),(N50J31445,5%),(N50J31455,18.7%),(N50J31465,12.3%)}。然后对编码集合{CByn}也进行占比计算,通过比较每个编码对应的占比是否相等,则可以判定出两个线要素的空间位置是否一致。
[0046] 优选的,在进行逐级递归判定的过程中,当判定出在下一网格编码级别N’中编码集合{CBxn}与{CByn}完全相同时,得到在当前网格编码级别N的北斗网格精度下,地理信息要素X和地理信息要素Y的空间位置一致。
[0047] 实施例2一种基于北斗网格位置码的空间位置分析系统,包括:
数据采集模块:用于获得同数据类型的地理信息要素X和地理信息要素Y;
数据类型判定模块:用于判定地理信息要素X和地理信息要素Y的类型,若为点要素,则将地理信息要素X和地理信息要素Y上传至点要素分析模块,若为线/面要素,则将地理信息要素X和地理信息要素Y上传至线/面要素分析模块;
点要素分析模块:用于根据赋码原则A对地理信息要素X和地理信息要素Y进行北斗网格赋码得到对应的编码CAx和CAy,并分析编码CAx和CAy的内容是否完全相同,若不是,则表示地理信息要素X和地理信息要素Y的空间位置不一致,若是,则表示地理信息要素X和地理信息要素Y的空间位置一致;
线/面要素分析模块:用于根据赋码原则A对地理信息要素X和地理信息要素Y进行北斗网格赋码得到的对应的编码CAx和CAy,并分析编码CAx和CAy的内容是否完全相同,若不是,则表示地理信息要素X和地理信息要素Y的空间位置不一致,若是,则根据地理信息要素X和地理信息要素Y的当前网格编码级别N对地理信息要素X和地理信息要素Y的空间位置进行逐级递归判定。
[0048] 进一步的,所述线/面要素分析模块中还包括以下子模块:递归子模块:用于获得地理信息要素X和地理信息要素Y的当前网格编码级别N,0赋码子模块:用于根据赋码原则B对在下一网格编码级别N’的X和Y进行北斗网格赋码,得到对应的编码集合{CBxn}和{CByn},所述编码集合{CBxn}和{CByn}中分别包括地理信息要素X和地理信息要素Y在下一网格编码级别N’的北斗网格中依次经过的北斗网格的编码;
第一级判定子模块:用于根据地理信息要素X和地理信息要素Y在下一网格编码级别N’的北斗网格中依次经过的北斗网格的编码对编码集合{CBxn}和{CByn}进行第一级判定,若判定出编码集合{CBxn}与{CByn}完全相同,则将地理信息要素X、地理信息要素Y以及下一网格编码级别N’上传至第二级判定子模块,若判定出编码集合{CBxn}与{CByn}不完全相同,则表示地理信息要素X和地理信息要素Y的空间位置不一致并结束递归;
第二级判定子模块:用于根据编码集合{CBxn}和{CByn}中编码对应的部分要素的空间占比分别生成对应的编码占比集合{rCBxn}和{rCByn},并根据编码占比集合{rCBxn}和{rCByn}进行第二级判定,若判定出编码占比集合{rCBxn}和{rCByn}完全相同,则将下一网格编码级别N’作为地理信息要素X和地理信息要素Y的当前网格编码级别N并上传至递归子模块,若判定出编码占比集合{rCBxn}和{rCByn}不完全相同,则表示地理信息要素X和地理信息要素Y的空间位置不一致并结束递归。
[0049] 以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,依据本发明的技术实质,在本发明的精神和原则之内,对以上实施例所作的任何简单的修改、等同替换与改进等,均仍属于本发明技术方案的保护范围之内。