Представьте себе систему 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 точек и суммировать евклидово расстояние между каждой из этих точек как расстояние между двумя путями.