Уменьшение сложности траектории
От: _novice_  
Дата: 03.02.11 09:18
Оценка:
Надо отображать большие массивы одномерных данных — траекторий.
Траектории надо отображать с бОльшей или мЕньшей степенью подробности (детализации).
Например в траектории 10 тыс точек, а надо нарисовать ломаную из 256-ти отрезков.

Какие тут есть подходы?

На ум приходят алгоритмы из темы масштабирования 2d-изображений.
А есть ли алгоритмы специфичные для траекторий?
Re: Кластеризация
От: Qbit86 Кипр
Дата: 03.02.11 09:27
Оценка: 2 (1)
Здравствуйте, _novice_, Вы писали:

__>Надо отображать большие массивы одномерных данных — траекторий.

__>Траектории надо отображать с бОльшей или мЕньшей степенью подробности (детализации).
__>Например в траектории 10 тыс точек, а надо нарисовать ломаную из 256-ти отрезков.

__>Какие тут есть подходы?


Возможно, поможет кластеризация близких вершин, стягивание группы близких точек в одну, и соединение таких прореженных точек ломаной.

Есть такая программа — gpsbabel, там есть всякие фильтры, применяемые к трекам, в том числе прореживание маршрута, сглаживание, etc. Загляни в исходники.
Глаза у меня добрые, но рубашка — смирительная!
Re: Уменьшение сложности траектории
От: kvser  
Дата: 03.02.11 09:37
Оценка: 2 (1)
Здравствуйте, _novice_, Вы писали:

__>Надо отображать большие массивы одномерных данных — траекторий.

__>Траектории надо отображать с бОльшей или мЕньшей степенью подробности (детализации).
__>Например в траектории 10 тыс точек, а надо нарисовать ломаную из 256-ти отрезков.

__>Какие тут есть подходы?


Здесь описывается алгоритм, который может помочь.
Регулируя в нем ширину коридора отклонения можно получить различную степень подробности
Хотя и предназначение у него несколько иное
Re: Уменьшение сложности траектории
От: MBo  
Дата: 03.02.11 10:23
Оценка: 2 (1)
Здравствуйте, _novice_, Вы писали:

__>А есть ли алгоритмы специфичные для траекторий?


Алгоритм Дугласа-Пекера (Douglas-Peucker) — именно для этого.
Re: Уменьшение сложности траектории
От: sanok  
Дата: 03.02.11 13:56
Оценка:
Здравствуйте, _novice_, Вы писали:

__>Надо отображать большие массивы одномерных данных — траекторий.

__>Траектории надо отображать с бОльшей или мЕньшей степенью подробности (детализации).
__>Например в траектории 10 тыс точек, а надо нарисовать ломаную из 256-ти отрезков.

__>Какие тут есть подходы?


__>На ум приходят алгоритмы из темы масштабирования 2d-изображений.

__>А есть ли алгоритмы специфичные для траекторий?

В некоторых случаях подходящим решением будет на больших масштабах (охватывающих большое число точек) отображать не поточечно, а диапазонами, подобно току как это делают для биржевых данных (см. "японские свечи").

Я когда-то так делал
Автор: sanok
Дата: 05.06.09
Re: Уменьшение сложности траектории
От: Zontin  
Дата: 03.02.11 20:04
Оценка:
Здравствуйте, _novice_, Вы писали:

__>Надо отображать большие массивы одномерных данных — траекторий.

__>Траектории надо отображать с бОльшей или мЕньшей степенью подробности (детализации).
__>Например в траектории 10 тыс точек, а надо нарисовать ломаную из 256-ти отрезков.

__>Какие тут есть подходы?


__>На ум приходят алгоритмы из темы масштабирования 2d-изображений.

__>А есть ли алгоритмы специфичные для траекторий?

Я делал так.

1. Запоминаем экранные координаты последней отображенной точки.
2. Преобразуем в экранные, координаты следующей точки.
3. Если экранные координаты новой точки отличаются и той, что запомнили, рисуем линию между ними и переходим к п.1. Иначе повторяем с п.2.

Как вариант, можно сначала собирать все "видимые" точки в массив и выводить их с помощью polyline.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.