Приветствую, вот возникла задача на первый взгляд простейшая.
Есть множество GPS-трэков и многие проходят по одним и тем же местам и дорогам, но потом могут и расходиться.
И нужно как-то сократить их количество, чтобы отобразить их на карте чтобы оно не тормозило и выглядело привычно.
Т.е. должна получиться такая паутинка, у которой некоторые линии будут особенно толстыми, например есть только одна дорога или мост
и все треки будут через него проходить и все это надо отобразить одной линией, а не пучком.
На бумаге это нарисовать как нечего делать, но как программно это сделать, может уже есть какой-то известный науке и проверенный алгоритм
или простое решение ?
Здравствуйте, dfr, Вы писали:
dfr>Приветствую, вот возникла задача на первый взгляд простейшая.
dfr>Есть множество GPS-трэков и многие проходят по одним и тем же местам и дорогам, но потом могут и расходиться.
dfr>И нужно как-то сократить их количество, чтобы отобразить их на карте чтобы оно не тормозило и выглядело привычно.
dfr>Т.е. должна получиться такая паутинка, у которой некоторые линии будут особенно толстыми, например есть только одна дорога или мост
dfr>и все треки будут через него проходить и все это надо отобразить одной линией, а не пучком.
dfr>На бумаге это нарисовать как нечего делать, но как программно это сделать, может уже есть какой-то известный науке и проверенный алгоритм
dfr>или простое решение ?
Если не использовать привязку к объектам на местности(дорога, мост и т.д) То можно так: представим что трек на местности имеет определенную толщину, например 50 метров. Если эти два трека на каком ли бо участке наезжают друг на друга, то их объединяем в один трек, и так для всех. Дополнительно запоминаем количество треков входящих в один общий — это понадобиться для расчета толщины при отображении.