我有一个地图点数据库,我想将显示限制为一次最多显示约 50 个点。当用户放大时,可能会显示更多的点。
目前,我只是对结果集进行随机抽样。这不是很好,因为可能有空白区域,当放大时突然显示一个点。
我的下一个想法是我可以创建一个 10x5 的网格,然后迭代结果。如果网格中的某个位置是空的,我会显示一个点。这解决了之前的问题,但也不会让用户感觉到集中区域在哪里。此外,如果用户决定缩小到整个世界,这会很慢。
现在,我没有使用任何空间算法对数据进行排序。我的计划是先让它正常工作,然后快速完成。稍微阅读一下 RTress、kd-trees 和四叉树,我找不到任何可以帮助我选择样本的“智能”子集的东西。似乎应该有某种广度优先搜索可以很容易地解决这个问题。