地图地理数据分割及其他一些概念

1. WGS 84 与 EGM96

WGS 84是1984年的世界测量系统标准,用于描述经纬度。除了北极点,其他地理位置,都可以用经纬度来表示。

EGM96 是1996年的地球重力场模型,不仅包含经纬度,还包含了海拔高度,更接近现实世界的情形。


2. 坐标表示

地球纬度有360,可以用32个bit位表示,经度有180度,用31个bit位表示。即

x坐标为一个有符号32位整数:x = x31 x30…x1 x0 

y坐标: y = y30…y1 y0

所以,经纬坐标可以用63位整数来表示,c = x31 y30 x30…y1 x1 y0 x0, 0 ≤ c < 2^63,存放在一个64位整数中。


赤道周长           40075.7km
子午线周长         40008.08km

所以,经纬度最小位表示的精度大约有0.0093 m, 近似于1厘米。


而如果采用float方式来表示经纬度,则float的精度为小数点后6位,那么float方式的经纬度 精度大约为0.11m。就普通民用地图表示,应该是足够了。


目前,导航地图的精度大概有1m。视具体产品而定。


已知两点经纬度坐标(rad表示法),计算两点间距的简单方法:

A点(x1, y1), B点(x2, y2),  wgs84AvgEarthRadius 地球平均半径

   // distance from earth radius and angle difference
   dx = wgs84AvgEarthRadius * (x2-x1);   // 纬度距离计算

   // for longitude get the difference angle
   float radDY= y2- y1;  // 经度角度差计算


   // distance from earth radius, angle difference and scaling due to latitude
   dy = wgs84AvgEarthRadius * radDY * std::cos(0.5f * (x1+x2));  //经度距离计算

D = sqrt(dx*dx + dy*dy)  // 勾股定理,计算第三边


具体推导与原理,未理解。计算精度,约在0.2%,即600米,误差1m(未亲自验证)。

另外,若已知一点GPS坐标,与另外一点的距离与方位,也能推导出另外一点的GPS坐标。


3. 另外一种机制,tiling scheme

由地理坐标可以快速存取、更新不同尺度(粒度)的相关数据。

tile与level紧密相关,不同的level的tile尺度不同,而在一个level利用WGS84坐标系统将地球表面等分为的tiles。由于地球展开后不是矩形,所以划分的形状是梯形,不是矩形。


最高的level有两个tiles,将地球等分为两个半球,level 0. 以后每变化一个level,将每个tile四等分。最低是15 level,共有2^16个单位tiles。

如此等分的一个问题是,地球上的feature(物体模型)有可能会被切分到不同的tiles中。

此时,在切分的level中,一个feature的属性被复制到两个tile中,但指的是同一个feature。


由地球周长可计算出,第15 level的tile边长约有611.5m,常用的第13 level的边长约有 2446m。


tiles还可以与update region相关联,如果update region是不规则的,开销会比较大,如果是规则的tile,会简单许多。


------------------------

一些共性的概念:

1. Level metadata

2. Region metadata

国家或州的信息,如左侧或右侧驾驶。

道路编号、前缀,地址格式,速度标志也是region相关的数据。

限速信息Legal speed limits,警告标志Warning sign icons,车灯Car light required all time都是可选属性。

3.时区信息


-----------------------

attribution point 与shape point 区分:

shape point是与地图显示相关的属性变化的点,如道路等级、类型在某点变化。存放在routing中。地理坐标lonlat加上对某个点的相对偏移就足够了。

attribution point用于描述非shape point 但其他属性有变化的点。存放在attribution layer。



link曲率用于表示道路的具体的几何形状,这个属性对目前的第二代导航是用不到的,这个属性是用在ADAS系统中,在视频上虚拟出道路的具体形状,要求精度较高。目前导航的道路模型都是用line直线模型来拟合的。



你可能感兴趣的:(地图地理数据分割及其他一些概念)