重新组合地理点的算法



我正在使用地图创建一个应用程序,我必须在上面放置点。问题是,当点在附近时,用户看不到差异。所以,我需要重新组合要点。

我收到这样的JSON:

[{"id": "1", "x": 253, "y": 144}, 
{"id": "2", "x": 142, "y": 355}, 
{"id": "3", "x": 175, "y": 330}, 
{"id": "4", "x": 140, "y": 5}, 
{"id": "5", "x": 307, "y": 306}, 
{"id": "6", "x": 233, "y": 304}, 
{"id": "7", "x": 212, "y": 163}, 
{"id": "8", "x": 202, "y": 163}, 
{"id": "9", "x": 204, "y": 171}]

我需要用所有其他点的平均值的坐标重新组合最大点相差20像素的点。它处理一个类似的JSON:

[{"id": ["1"], "x": 253, "y": 144}, 
{"id": ["2"], "x": 142, "y": 355}, 
{"id": ["3"], "x": 175, "y": 330}, 
{"id": ["4"], "x": 140, "y": 5}, 
{"id": ["5"], "x": 307, "y": 306}, 
{"id": ["6"], "x": 233, "y": 304}, 
{"id": ["7","8","9"], "x": 206, "y": 165}]

我只需要一个算法来帮助我构建自己的代码。

谢谢你能给我的一切帮助。

欧氏距离是两点之间的最短路径,计算为

sqrt(pow(x2 - x1, 2) + pow(y2 - y1, 2))

只需从上到下迭代点列表,如果任意两点之间的欧几里得距离小于20,则删除第二个点或将其与第一个点分组,这样就不必再次处理它。如果你想的话,你可以计算出该组的平均位置

相关内容

  • 没有找到相关文章

最新更新