Запись GPS треков с телефона на android с последующ загрузкой в OSM

Ну вообще я имел ввиду что-то типа этого https://github.com/jamesp/node-nmea

Прекрасный пример, который ничего не объясняет.
Вам на каком языке? Для постобработки после записи (что было бы логично) или для обработки налету?
gpsbabel, к слову, тоже opensource.

Язык по большему счёту все равно, нужна просто либа, а не из громадного проекта выдирать 1.5 класса.

ну тогда классика жанра http://sourceforge.net/projects/nmea/

NMEA в android появилась гораздо позже основного API - в версии android 2.0. При этом, очень много устройств по NMEA ничего не выдают.
Система общается с GPS используя бинарный протокол GPS-чипсета. Там где NMEA есть, этот поток обычно получен из бинарных данных.

Получить нормальный GPX используя только API достаточно сложно. Там нет HDOP, но есть Accuracy в метрах - он же EPE - (Estimated Positional Error. EPE = HDOP * URA (1-sigma)).
Кроме того, в API высота возвращается над уровнем моря, но нет возможности узнать используемую разницу между геоидом и эллипсоидом.

Проще всего поставить NMEA-логгер, их много на маркете.

В чем проблема с NMEA, непонятно. Его понимают и josm и большинство конверторов.

Если nmea там синтетический (устройства с андроидом ниже 2 ну точно никого не волнуют), то это уже, конечно, хуже.

Так что, ОруксМапс может в трек записывать HDOP или нет? В настройках есть выбор типа трека (Альпинизм, бег, верховая езда, вождение, горные лыжи, дельтаплан и др.). На что это влияет?
Или лучше для записи треков запускать отдельную программу? какую?

Кстати, вот этот дурной андроидный навигатор, который высоту не показывает http://4pna.com/showthread.php?t=11663.

Судя по wiki, исходникам gpsbabel и обсуждениям на соседних ОСМ форумах многие считают
что так и должно быть: Т.е. лузеры с технической точки зрения :roll_eyes:

Хм… и правда josm читает nmea. А может есть готовое что визуализирует данные nmea, не просто координаты, а там количество спутников как изменяется со временем и прочее. В общем-то в нём данных намного больше нежели в обычном треке.

Ну собственно, тот же JOSM в контекстном меню слоя с nmea-логом позволяет настроить отображение.
Там есть опции: рисовать окружность пропорциональную DOP, раскрашивать трек по шкале зеленый-красный. Количество спутников в виде графика показывает rtkplot, например.

Купил Galaxy S4, а в нем есть барометр. Соответственно можно получать гораздо более точные данные барометрической высоты, чем по GPS. Есть ли программа, которая может барометрическую высоту в лог писать?

А где будете его использовать? Если в салоне автомобиля, то давление в нём может отличаться от наружного.

А еще нужна хреновина, которая измеряет изменения давления, связанные с меняющейся погодой, оставаясь неподвижной.

Интересно, а можно ли для этого использовать метеоданные (например, брать давление с какого-нидь сайта)? И даст ли это точность, аналогичную собственной неподвижной хреновине? Тогда, по идее, и хреновина не нужна :slight_smile:

Кстати, а как ветер на показания влияет? Слабо верится, что давление воздуха во всём пространстве такое прям равномерное.

Возможно, что и можно, но даже в авиации (данные METAR) частота обновления данных по атмосферному давлению весьма скромная - раз в несколько часов. Плюс, сами станции с доступными показаниями в разных местах бывают понатыканы очень редко. В какой-нибудь горной Норвегии - через каждые пять километров, а кое-где (не будем показывать пальцем) - только в крупных аэропортах.

При неспокойной погоде (сильный ветер) действительно такие измерения неуместны.

Метод не нов, емнип в ручных гарминах барометр используется как высокочастотная составляющая высоты, а GPS - низкочастотная. В переводе - барометрический датчик постоянно калибруется по GPS.
Наверное и в андроиде это можно реализовать, не забывая какая в смартфонах (недо)антенна GPS. Про датчик давления в смартфоне (так же как и акселерометры/гироскопы) иллюзий питать не надо, понятно что это сенсоры для реагирования на “встряхивание” и “поворот экрана”.

PS: в книжке “Professional Android Sensor Programming (June 2012) Greg Milette, Adam Stroud” рассказывается про Mean Sea-Level Pressure (MSLP), где его брать в интернете, с описанием формата ответа от метеостанции. Формулы для пересчета “давление-высота” тоже есть.

В самолёте прикольно наблюдать как ему мозги сносит от диссонанса “вроде высота в 10 км, а давление нормальное”. В результате высота росла черепашьими темпами. А после посадки гармин наоборот, больше часа ещё “летал”. :slight_smile:

Вот потому у меня навигатор отдельно, а бароальтиметр - отдельно…

(я там название книжки добавил в пред.сообщении, вдруг кому пригодится для программирования андроида)

METAR раз в пол-часа обновляется. Я программу нашел (Sensitive Altimeter), которая работает просто как альтиметр, но умеет подтягивать давление QNH с ближайшего аэропорта (как раз через METAR). Но она только отображает данные, без записи куда-либо.
Вот как раз было бы интересно сочетание механизма коррекции высотомера через GPS, с возможностью включать режим “я в самолете - схожу с ума”.