Я продолжаю писать собственный код для работы с треками GPS: файлы GPX и журналы NMEA со своего телефона, специальный регистратор GPS и т. Д. Мне кажется, что я заново изобретаю колесо, и мне интересно, есть ли какая-нибудь стандартная библиотека / инструмент, который можно использовать для работы с треками GPS. Некоторые из вещей, которые я люблю делать:
- Рассчитайте расстояние, пройденное на трассе
- Рассчитать среднюю скорость и мгновенные скорости по трассе
- Рассчитать время в движении против времени стационарного
- Упростить трассу, устранить стационарные сегменты
- Разделить трек на отдельные треки, по одному на поездку
- Сглаживает ошибку выборки GPS
- Создайте профиль высот, просматривая точки в DEM
- Конвертировать треки в GPX, KML и т. Д. Для визуализации
Существует множество приложений, которые анализируют треки GPS. Я ищу библиотеку программного обеспечения или набор инструментов для сценариев, чтобы я мог писать свои собственные приложения. Меня не очень волнуют форматы ввода; Любые временные метки широты и долготы хорошо. Я в основном работаю в Python на Unix, но почти любой язык подойдет.
Существующие инструменты, которые я использую, включают GPSBabel и GDAL / OGR для преобразования и PostGIS для работы с геометрией дорожки в виде строки. Но в основном я заканчиваю тем, что пишу свой собственный код на Python, который работает с массивами пар широта / долгота и который чувствует себя слишком низким уровнем. Также некоторые из перечисленных выше задач (например, устранение ошибки GPS) довольно тонкие. Есть ли какая-то существующая библиотека, которую я должен использовать?
источник
Ответы:
Ну, в некотором роде это зависит от того, какой язык программирования вы выберете, но я разработал mineturer.org на Java (по сути, это сайт для загрузки, анализа и отображения GPX-данных).
Iv'e использовал JAX-B (http://jaxb.java.net/) для чтения файлов GPX (на основе схемы GPX) и JTS (http://www.vividsolutions.com/jts/) + собственный код для анализирующая.
Исходный код для mineturer.org доступен под MIT-лицензией по адресу https://bitbucket.org/atlefren/gpsorganizer/.
Я думаю, код может дать вам хотя бы несколько указателей?
источник
Я написал математический C # -lib для 2d / 3d математического нацеливания на обработку GPS: чтение GPX и TCX, фильтрацию и упрощение треков, кластеризацию треков / сегментов и преобразование в 2d плоскость.
https://www.nuget.org/packages/Math.Matthey/
https://www.nuget.org/packages/Math.Matthey.Tools.TrackReaders/
источник
<rte>
и<rtept>
элементы, помимо<trk>
элементов?GPS Toolkit должно помочь. Это библиотека с открытым исходным кодом и набор приложений, целью которых является освобождение исследователей от низкоуровневого кодирования.
Это обеспечивает следующую функциональность:
источник
Существует библиотека с открытым исходным кодом, которую я только что закончил разрабатывать (до стабильной версии) и пользовательский интерфейс для анализа GPX, TCX и подходящих файлов.
Библиотека является https://github.com/jimmykane/quanified-self-lib Пользовательский интерфейс, основанный на Angular https://github.com/jimmykane/quantified-self
Демонстрационная версия https://www.quanified-self.io
Что он может сделать, это проанализировать файл GPX, TCX или Fit, генерировать статистику, такую как подъем, спуск, расстояние,
источник
Отличный вопрос! В последнее время я довольно много работал с данными GPX, и самым простым решением, которое я нашел, было преобразование точек трека в пространственный формат БД, а затем создание представлений (пространственных и табличных) для суммирования данных по мере необходимости. Мне не удалось получить результаты, необходимые с помощью OGR для импорта моих данных GPX, поэтому я прекратил использовать простой скрипт на Python для обхода XML-структуры GPX и загрузки его в базу данных (в моем случае SpatiaLite). Это определенно не поможет вам избежать повторного изобретения колеса, однако я обнаружил, что смог получить желаемые результаты суммирования треков за поездку с использованием существующих функций SQL и пространственного SQL.
источник
Я разрабатываю этот небольшой софт для собственного использования. Это в основном для визуализации и не поддерживает все ваши потребности, но, возможно, это может помочь!
источник
рискуя не ответить на ваш настоящий вопрос :-), позвольте мне предложить отличное приложение, о котором вы, возможно, не слышали, которое выполняет все, что вы перечислили -
это мой универсальный магазин для просмотра, редактирования и передачи GPX, между прочим.
И, возможно, больше по теме, может быть, проверить пространство имен позиционирования dotSpatial (.NET): http://dotspatial.codeplex.com/wikipage?title=DotSpatial.Position
С уважением.
источник
Если вам нужна какая-то абстрактная спецификация для независимого от языка API, есть GeoAPI:
«Сообщество разработчиков в создании ГИС-решений прилагает огромные усилия. Проект GeoAPI направлен на уменьшение дублирования и повышение совместимости путем предоставления нейтральных API-интерфейсов только для интерфейса, полученных на основе стандартов OGC / ISO».
http://www.geoapi.org/
и, более конкретно, Стандарт внедрения (PDF)
источник
Загрузите ваш трек GPX на этот URL
Вам будут предоставлены большинство запрошенных вами услуг, а именно:
источник