1、数据分层
here高精数据共分14层,最高层为第1层,最低层为第14层。
上一层的每个瓦片对应下一层的4个瓦片,第1层将全球分为成4个瓦片,每个瓦片覆盖范围为180°,为了瓦片分割逻辑一致性,第1层只有2个瓦片实际覆盖世界范围,0号瓦片覆盖经度-180°~0,维度-90°~90°,1号瓦片覆盖经度0~180°,维度-90°~90°,另外两个瓦片2号和3号闲置,如下图所示:
图1.1 级图块和世界地图
基于这种瓦片划分逻辑,每个层级对应瓦片的覆盖范围可以通过以下公式计算:
瓦片覆盖的经纬度范围=360° / 2^层级号
因此,对于 14 级车道的瓦片,一个瓦片覆盖经纬度范围为:
360° / 2^14= 360° / 16384 = 0.02197265625°,约2.4km
边界情况说明:
对于一个瓦片边界处,瓦片的西边界和南边界属于当前瓦片的覆盖范围。
2、Here 瓦片编号
HERE瓦片号通常存储为32 位无符号整数值, 它们根据分割逻辑可以通过经纬度坐标计算出来,以 柏林中央火车站(中央火车站)为例计算所在的14层瓦片的编号,其纬度为52.52507°,经度为13.36937°,坐标原点是西南点。
①经度:从西南原点到经度为13.36937°覆盖瓦片数=(180° + 13.36937°)/14层瓦片覆盖范围=193.36937° / 0.02197265625° = 8,800.45 =图块 X:8,800(向下取整数)
②纬度:从西南原点到纬度为52.52507°覆盖瓦片数=(90° + 52.52507°)/14层瓦片覆盖范围=142.52507°/ 0.02197265625° = 6,486.47 =图块 Y:6,486(向下取整数)
③莫顿码计算:
以瓦片坐标索引的二进制表示,位数不足瓦片所在层级时,在高位填充0
瓦片 X 坐标:8800 = 10001001100000- 已经有 14 位
瓦片 Y 坐标:6486 = 01100101010110- 高位零填充至满14位
交错bit位,从Y开始yxyx...
交错组合后二进制为 = 0110100001100011011000101000
将生成的二进制值转成4进制为:12201203120220
在四进制数字前面加上“1”: “112201203120220”
然后转成10进制数值即为坐标点作为14层瓦片编号ID:377894440
3、坐标表达精度
将360°用32bit表达,最精细约能表达到9mm。
360° / 2^32= 180° / 2^31= 0.00000008381903171539306640625°约9mm
从以上规则表达对比NDS数据表达,瓦片的划分的大小和表达精度两者都是一致的,
瓦片的编号和层级有所不同