】
说句掏心窝子的话,以前我觉得坐标那点误差顶多几十米,做导航、做地图服务的人天天喊“精度”,我寻思这有啥大不了的?直到去年我们团队接了个无人物流车的试点项目,在那片全是高楼夹缝的老城区,车愣是在原地转圈找路。那一刻我真急了,才意识到这玩意儿根本没那么简单。
为啥要折腾这个?很多人问 geo数据为什么要矫正 这么费劲,难道原始数据不好用吗?还真不是。你想想,地球是圆的,但很多底层计算图省事,按平面画,这就好比你在曲面上画直线,看起来直,走起来歪。更坑的是,手机GPS信号受周围环境影响太大了。我在北京三环跑过测试,旁边一栋玻璃幕墙大楼,信号折射一下,位置能飘出两三百米。这对于外卖小哥来说可能没啥,但对于自动驾驶或者精准广告投放,这就完蛋了。
我特别讨厌那种只讲理论不谈实际落地的文章。举个真实的例子,我们之前服务一家做O2O生鲜的,他们后台发现有个片区投诉率特别高。查了半天,发现是基站定位和GPS定位没对齐。用户明明到了小区门口,系统还显示他在大街上,配送员就在小区里转,结果用户催单,配送员也懵。这就是典型的原始 geo数据为什么要矫正 的典型案例。后来我们引入了RTK技术做差分矫正,把误差硬是压到了厘米级。虽然成本高了点,但投诉率直接腰斩,客户笑得合不拢嘴。
这里有个细节特别容易被忽略,就是时间差。GPS信号从卫星到地面,中间经过大气层,电离层延迟会影响信号速度。如果不做模型矫正,你算出来的位置就是“滞后”的。我见过一个做测绘的小伙子,他在那儿跟工程师吵,说数据准,工程师说不够准。最后发现是大气折射模型没更新,季节变了,参数没调。这种“人味”的经验,书本里很少写,但现场全是坑。
还有坐标系的问题,这事儿太容易踩雷了。WGS-84和GCJ-02(也就是咱们常说的火星坐标),差个几百米很正常。你要是把海外的原始数据直接塞进国内地图引擎,不矫正坐标系,那你做出来的图跟没做一样。我记得有个做海外物流追踪的哥们,为了这事儿头秃了好几天。他问我 geo数据为什么要矫正 ,我说你得看你的应用场景是给谁看。如果是给用户看,必须转成国内合规坐标系;如果是内部算法用,保持WGS-84就行。一旦搞混,那就是灾难。
别觉得技术离你远,现在搞智慧城市、智慧社区,哪个离得开地理位置?你那个“智慧停车”小程序,要是定位偏了,用户找不到车位,骂的就是你。我见过太多产品上线后被用户差评轰炸,根子就在这儿。所以,与其等用户骂,不如早点把 geo数据为什么要矫正 这个事想明白。这不是技术洁癖,这是生存问题。
咱们得承认,完美的数据是不存在的,但我们可以无限接近精确。矫正的过程,其实就是一个不断消除“噪音”的过程。环境噪声、设备噪声、模型噪声,层层过滤。这需要算法,更需要对业务的理解。你不能拿做测绘的标准去要求一个共享单车,也不能拿做定位的标准去要求一个需要厘米级的机器人。因地制宜,这才是正道。
最后说点气话,现在的行业里,装懂的人太多了。张嘴就“高精地图”,闭嘴就“北斗定位”,一问底层原理,啥也不知道。真希望多些像我们这种愿意在泥土里摸爬滚打的人。毕竟,地图是死的,路是活的,人不矫个正,路怎么通?