想象一个 GPS 跟踪系统,它跟踪多个对象的位置。这些点存储在数据库(PostgreSQL + PostGIS)中。
每条路径由不同数量的点组成。这就是为什么为了比较一对路径(比较整个路径),我想将每条路径划分为一组 100 个点。这就是问题。你知道任何已经实现这个算法的 PostGIS 函数吗?我一直没能找到它。
如果没有,我想使用 Java 解决它。在这种情况下,我想知道一种有效且易于实现的算法将路径划分为 N 个点。
最简单的例子可能是将这个四点路径分成八点:
position 1 : x=1, y=2
position 2 : x=2, y=4
position 3 : x=3, y=6
position 4 : x=4, y=8
结果应该是:
position 1 : x=1, y=2 (starting point)
position 2 : x=1.5, y=3
position 2 : x=2, y=4
position 2 : x=2.5, y=5
position 2 : x=3, y=6
position 2 : x=3.5, y=7
position 2 : x=4, y=8 (ending point)
编辑:“比较一对路径”是指计算两条完整路径之间的距离。我计划将每条路径划分为 100 个点,并将这些点中的每一个之间的欧几里德距离相加作为两条路径之间的距离。