Srg剖分编码与地理坐标的转换算法的制作方法

文档序号:6567236阅读:237来源:国知局
专利名称:Srg剖分编码与地理坐标的转换算法的制作方法
技术领域
本发明涉及一种基于SRG剖分方法的剖分编码与经纬度坐标之间的转换算法。
背景技术
目前绝大多数球面地理数据是以经纬度坐标为基础,而在SRG结构中,格网的坐标是用地址码隐性表达的,要想把现有地理数据有效应用到SRG结构中,或把SRG中的数据信息映射到传统的经纬度坐标,以符合人们的思维习惯,必须实现这两种地址码之间的相
互转换。球面菱形网格(Sphere Rhombus Grid,SRG)是一种基于地理坐标结合经纬线并且用正多面体逐级递归的思想在球面直接剖分的剖分方法。目前绝大多数球面地理数据是以经纬度坐标为基础,而在SRG结构中,格网的坐标是用地址码隐性表达的,要想把现有地理数据有效应用到SRG结构中,或把SRG中的数据信息映射到传统的经纬度坐标,以符合人们的思维习惯,必须实现这两种地址码之间的相
互转换。球面菱形网格(Sphere Rhombus Grid,SRG)是一种基于地理坐标结合经纬线并且用正多面体逐级递归的思想在球面直接剖分的剖分方法。“行列逼近法”在具体计算中只应用加、减、乘和除简单的算术运算,相应转换速度较快,但是转换精度不够高。

发明内容
针对上述问题,本发明提出一种基于SRG剖分方法的剖分编码与经纬度坐标之间的转换算法。SRG剖分方法SRG结合基于地理坐标系的球面网格和基于正多面体的球面网格剖分两种剖分方法,充分利用了经纬线,无需内接正多面体,无需投影,直接在球面用弧线连接进行递归菱形剖分。1、SRG编码方案经过η级剖分,全球可分为4X4n个菱形球面。η级剖分产生的菱形球面的编码长度为η+1,编码都是由0、1、2、3中的几位数字组合而成,各个剖分层次菱形球面编码按照从低级剖分到高级剖分顺序组织,不同级别之间有层次性。每个菱形球面都可分成四个小的菱形球面,四个小四边形按照上下左右的顺序分别对应0、1、2、3。编码的首位是几就代表该面片在几号球面上,以后的每一位都是在上一级菱形球面编码的基础上多编一位。假设第 k层某个剖分面片的编码为^iaiiI2L anL ak,其中 %是k层四分码,取值为0,1,2,3 ;aQ 由0级剖分产生,取值也是0,1,2,3。每个剖分面片都有唯一的编码与之对应,编码的长短反映了剖分的层次,剖分单元编码具有空间位置相关性。例如0号球面经过2级剖分后产生的编码如图2所示。整个编码的过程与DUTTON的QTM编码相似。2、经纬度坐标与SRG剖分地址码之间的转换算法
为计算方便,其他1 3单元的位置坐标(经纬度或地址码)首先转换为0单元, 然后再进行转换。下面以0号球面的上半部分为例详细分析算法的步骤和精度,设菱形剖分层次为k和地址码为^Aa2L anL %。并且剖分到一定层次,球面就可近似当做平面来处理,本转换过程中将球面近似看做平面来操作。2. 1经纬度坐标向SRG编码的转变“坐标递归法”原理根据SRG剖分方法首先定义球面SRG格网的行和列(行与纬线对应,定义赤道的行数为0,η级剖分赤道以北共有2"行;列是从经度0开始沿同一纬度即同一行的菱形的个数,特别地,在极点上列数为1)。算法的基本原理是(1)对于任意点P若要进行经纬度向地址码转换,就把经纬度坐标(Φ,λ )先转换为该点在SRG格网中的行数和列数(i,j),最后根据(i,j)进行逐级递归,逐层次地得出 SRG编码。(2)对于点P的η级SRG的确定,如图3所示,空白区域容易确定,按照上下左右的顺序分别为0、1、2、3。中间的阴影部分难以区分,如点P和Q行数和列数相同,但处于不同的菱形中,编码不同。本方法中采用分级坐标系辅助区分中间的阴影部分的点的归属,如图 4所示,采用点P在η-1级菱形中的中心点为原点,横向对角线为χ轴,纵向对角线为y轴, η级剖分产生的分界线在该坐标系中的表达式分别为y+ax = 0 (左),y-ax = 0 (右)。将点P相对于该坐标系的坐标(α,β)根据α和β取值的不同,代入y+ax或y-ax,得出的值与0比较,进而确定点P属于哪个η级菱形,并确定η级剖分编码。(3)系数a值的确定0级剖分后,产生的菱形纵向对角线是一条经线,横向对角线是赤道长度的 1/4(假设地球是正圆体),因此纵向对角线是横向对角线长度的2倍,得出a = 2,以后各级剖分的菱形都近似相似,所以各级剖分都有a = 2。(4)每一级的剖分码都是在上级的基础上确定,是一个递归的过程,因此只要已知初值,并知道递推公式就可求出整个SRG编码。经纬度坐标向SRG编码的转变,具体转换过程(1)根据格网的剖分层次k,求出最大的行列数(I,J) 1 = 2k,J = 2k(2)确定经纬度坐标Ρ(Φ,λ)在格网中的行列数(i,j)
权利要求
1.SRG剖分编码与地理坐标的转换算法,其特征在于,具体包括(1)SRG编码方案经过η级剖分,全球可分为4Χ4η个菱形球面,η级剖分产生的菱形球面的编码长度为 η+1,编码都是由0、1、2、3中的几位数字组合而成,各个剖分层次菱形球面编码按照从低级剖分到高级剖分顺序组织,不同级别之间有层次性,每个菱形球面都可分成四个小的菱形球面,四个小四边形按照上下左右的顺序分别对应0、1、2、3,编码的首位是几就代表该面片在几号球面上,以后的每一位都是在上一级菱形球面编码的基础上多编一位;(2)经纬度坐标与SRG剖分地址码之间的转换算法 (2. 1)经纬度坐标向SRG编码的转变,包括(2. 1. 1)对于任意点P若要进行经纬度向地址码转换,就把经纬度坐标(Φ,λ)先转换为该点在SRG格网中的行数和列数(i,j);(2. 1. 2)对于点P的η级SRG的确定,按照上下左右的顺序分别为0、1、2、3,采用点P 在η-1级菱形中的中心点为原点,横向对角线为χ轴,纵向对角线为y轴,η级剖分产生的分界线在该坐标系中的表达式分别为y+ax = 0(左),y-ax = 0(右),将点ρ相对于该坐标系的坐标(α,β)根据α和β取值的不同,代入y+ax或y-ax,得出的值与0比较,进而确定点P属于哪个η级菱形,并确定η级剖分编码; (2.1.3)系数a值的确定0级剖分后,产生的菱形纵向对角线是一条经线,横向对角线是赤道长度的1/4,假设地球是正圆体,得出纵向对角线是横向对角线长度的2倍,得出a = 2,以后各级剖分的菱形都近似相似,所以各级剖分都有a = 2 ;(2. 1.4)每一级的剖分码都是在上级的基础上确定,是一个递归的过程,只要已知初值,并知道递推公式就可求出整个SRG编码; (2. 2)SRG编码向经纬度坐标的转换,包括 (2. 2. 1)纬度转换把某个η级四边形的纬度记为W,该四边形对应的η+1级的4个四边形的纬度计算方法如下an+1 = 0,ff0 = ff+45/2n an+1 = Lff1 = ff-45/2n an+1 = 2, W2 = W an+1 = 3, W3 = W (2. 2. 2)经度转换对于η级剖分产生的某四边形,其经度为J = aX (90/x) +45/x,其对应的η+1级的四个四边形的经度为an+1 = 0,J0 = 2aX [90/(2χ-1) ]+45/(2χ-1) an+1 = 1,J1 = (2a+l) X [90/(2x+l) ]+45/(2x+l) an+1 = 2, J2 = 2aX [90/(2x) ]+45/(2x) an+1 = 3,J3 = (2a+l) X [90/(2x) ]+45/(2x)
2.根据权利要求1所述的SRG剖分编码与地理坐标的转换算法,其特征在于,经纬度坐标向SRG编码的转变,具体过程为(1)根据格网的剖分层次k,求出最大的行列数(I,J)1 = 2k,J = 2k(2)确定经纬度坐标Ρ(Φ,λ)在格网中的行列数(i,j)
全文摘要
本发明涉及一种基于SRG剖分方法的剖分编码与经纬度坐标之间的转换算法。本算法继承了SRG剖分方法所具有的优势,SRG地址码本身就具有固定的方向性,利于邻近搜索,SRG剖分方法不涉及任何投影变换,转换过程中也不涉及投影,计算过程只应用加、减、乘和除简单算术运算,计算速度快。并采用坐标系来辅助区分一些难以区分的菱形块,进而提高了转换的精度。
文档编号G06F17/30GK102567439SQ20111030282
公开日2012年7月11日 申请日期2011年10月9日 优先权日2011年10月9日
发明者刁节涛, 孙兆林, 张玉梅, 徐晖, 徐欣, 聂洪山 申请人:中国人民解放军国防科学技术大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1