[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: анализ gps-треков



On Sat, Jun 27, 2009 at 02:48:20PM +0400, spied wrote:
> > В дистрибутиве есть такая штука как gpsbabel.
> > Упрощение трэка и отбрасывание лишних точек он точно умеет.
> 
> вопросы были "нужно ли упрощать трек" и "как отбраковывать точки с ошибками
> gps-приёмника".

Это можете решить только Вы сами основываясь на анализе получаемых данных.
Во-первых, можно проверять DOP
 http://en.wikipedia.org/wiki/Dilution_of_precision_(GPS)

и отбрасывать подозрительные точки. Само по себе это не гарантирует повышение
качества трека и отброшенные точки вполне могут быть измерены точно.
Во-вторых, можно сглаживать трек, отбрасывая вылетающие точки. Всё это умеет
gpsbabel, посмотрите его документацию в разделе фильтров данных. Нужно ли
это --- определяется задачей и получаемыми данными, решить это может только
инженер.

> ну и самый главный вопрос - как подсчитать реальный путь по записанному треку
> (с ошибкой скажем не более процента)?

Следует чётко понимать, что основные ошибки в определении местоположения
создаются ионосферой и переотражениями от окружающих объектов, учесть это в
Вашем случае всё равно не удастся, поэтому особенно бороться за предельную
точность смысла не имеет.

Для манипуляций же с треками посоветую использовать библиотеку GDAL/OGR

 http://www.gdal.org/

В OGR есть драйвер, читающий треки в формате GPX, после этого их можно
обрабатывать самостоятельно, написав программу на C/C++/Python/Perl/C# (это
поддерживаемые привязки для OGR). Можно делать какие-то простейшие фильтрации и
преобразования на SQL с помощью имеющихся утилит (ogrinfo, ogr2ogr). Понятно,
что придётся освоить предметную область в некотором объёме, а также API.

> >> 2. визуализация трэка.
> 
> >> 2.3. предыдущие два варианта слишком "навороченные" для постоянного
> >> использования - требуют или открывать приложение или грузить "тяжёлую"
> >> страничку. чаще всего было бы достаточно статичной картинки относительно
> >> небольшого размера - куска карты с наложенным на неё треком.
> >> с первого взгляда задача более простая, чем первые две - но ничего для
> >> её решения не нашёл.

Не обязательно использовать openlayers, можно применить mapserver (трек
читается через OGR):

 http://mapserver.org/input/vector/gpx.html


-- 
Andrey V. Kiselev


Reply to: