Склеить ломаные линии (GPS треки) в одну линию на двухмерной плоскости
От: dfr  
Дата: 12.02.15 08:47
Оценка:
Приветствую, вот возникла задача на первый взгляд простейшая.
Есть множество GPS-трэков и многие проходят по одним и тем же местам и дорогам, но потом могут и расходиться.
И нужно как-то сократить их количество, чтобы отобразить их на карте чтобы оно не тормозило и выглядело привычно.
Т.е. должна получиться такая паутинка, у которой некоторые линии будут особенно толстыми, например есть только одна дорога или мост
и все треки будут через него проходить и все это надо отобразить одной линией, а не пучком.

На бумаге это нарисовать как нечего делать, но как программно это сделать, может уже есть какой-то известный науке и проверенный алгоритм
или простое решение ?
Re: Склеить ломаные линии (GPS треки) в одну линию на двухмерной плоскости
От: Kernan Ниоткуда https://rsdn.ru/forum/flame.politics/
Дата: 13.02.15 08:07
Оценка:
Здравствуйте, dfr, Вы писали:

dfr>На бумаге это нарисовать как нечего делать, но как программно это сделать, может уже есть какой-то известный науке и проверенный алгоритм

dfr>или простое решение ?
Ни разу не работал с таким, но как насчёт того, чтобы построить граф и как-то пометить рёбра? ЕМНИП в картографии теория графов и алгоритмы на графах как раз и используются.
Sic luceat lux!
Re: Склеить ломаные линии (GPS треки) в одну линию на двухмерной плоскости
От: Qulac Россия  
Дата: 13.02.15 09:19
Оценка:
Здравствуйте, dfr, Вы писали:



dfr>Приветствую, вот возникла задача на первый взгляд простейшая.

dfr>Есть множество GPS-трэков и многие проходят по одним и тем же местам и дорогам, но потом могут и расходиться.
dfr>И нужно как-то сократить их количество, чтобы отобразить их на карте чтобы оно не тормозило и выглядело привычно.
dfr>Т.е. должна получиться такая паутинка, у которой некоторые линии будут особенно толстыми, например есть только одна дорога или мост
dfr>и все треки будут через него проходить и все это надо отобразить одной линией, а не пучком.

dfr>На бумаге это нарисовать как нечего делать, но как программно это сделать, может уже есть какой-то известный науке и проверенный алгоритм

dfr>или простое решение ?

Если не использовать привязку к объектам на местности(дорога, мост и т.д) То можно так: представим что трек на местности имеет определенную толщину, например 50 метров. Если эти два трека на каком ли бо участке наезжают друг на друга, то их объединяем в один трек, и так для всех. Дополнительно запоминаем количество треков входящих в один общий — это понадобиться для расчета толщины при отображении.
Программа – это мысли спрессованные в код
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.