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: