3

不同数据源POI碰撞检测的实现方案

 1 year ago
source link: https://shenyongfan.com/posts/2018/06/14/about-collision-detection/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

单词数量:400 阅读时间:2m00s

因为现有的地图样式中使用了多种来源的POI数据,所以在zoom值发生改变时无法发生碰撞检测,因此会有POI重叠的现象产生。

上图中显示的是圣彼得堡的世界杯体育场的位置,两个兴趣点(POI)因为没法碰撞检测而发生了重叠。

前期设计:

在设计之初因为了解到这种情况会发生,暂时没有特别好的情况下我们提出了多种解决方案,比如不同来源的数据在icon样式上采用了不同的设计,数据库当中的带有其它多种字段的优质数据我们用背景带类型颜色icon白的方式来高亮显示,相反打到瓦片里的只有经纬度和类型的我们用白色背景类型色icon的方式显示,降低视觉权重,再比如不是非常重要的POI点像地铁出入口直接用图标,不显示它的名称和类型。通过这一系列的设计尽可能的增加地图的易读性。但是这些并没有从根本上解决图标重叠的问题。

预想方案:

之前工程师在处理压缩的底图数据时,发现已经压缩成PBF的数据可以逆向工程变成json数据,解压出来的json数据就会带有一个地理位置的名字类型和经纬度等信息,这时工程师就提出了一种猜想,可不可以将osm的POI数据提取出来,清洗整理后导入到自己的数据库,让所有地图上的兴趣点都变成一个数据源,这样就对兴趣点的碰撞检测提供了可行性。

已知在同一数据来源时可以用一个图层在央视文件中赋予样式特性,因此也就有了碰撞检测的条件,希望上述猜想得到验证,因为数据量巨大工程师甚至调用了一台32核的服务器跑了小半天… 最后感谢公司给力的工程师们,通过他们的不懈努力可以让用户可以有更好的用户体验,希望大家在使用产品时会更加的便捷吧!

2018年6月14日 下午3:06

#3-技术



About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK