有没有人有任何方便的算法可以用来减少地理点的数量?
我正在使用带有自己的地理点的 2,000,000 个邮政编码列表。我正在使用它们从 API 收集数据以供离线使用。该程序是用 C++ 编写的。
我必须遍历每个邮政编码,根据邮政编码位置计算一个边界框,然后将其发送到 API,它会为我提供靠近该邮政编码的一些数据。
但是 2,000,000 需要处理很多,并且一些邮政编码彼此相邻或彼此足够接近,以至于它们可以共享一些相同的数据。
到目前为止,我已经想出了两种可以减少它们的方法,但我不确定它们是否会起作用:
1 - 程序使用数据结构记录哪些邮政编码重叠,然后运行几次例程以逐个删除重叠的邮政编码,直到我们没有没有重叠邮政编码的邮政编码。
- 从英国左上角的地理点开始,慢慢将其增加一个邮政编码区域的粗略大小,直到我们覆盖整个英国。
有没有一种简单的方法可以减少这些邮政编码的数量,以便我尽可能少地重叠?同时仍然确保我获得尽可能多的英国数据?我在想可能有一种方便的算法,人们可以在其他地方使用。