Saya terus menulis kode khusus untuk bekerja dengan trek GPS: file GPX dan log NMEA dari ponsel saya, GPS logger khusus, dll. Saya merasa seperti sedang menciptakan kembali roda dan bertanya-tanya apakah ada beberapa perpustakaan / alat standar yang dapat saya gunakan untuk bekerja dengan trek GPS. Beberapa hal yang ingin saya lakukan:
- Hitung jarak yang ditempuh di trek
- Hitung kecepatan rata-rata dan kecepatan sesaat di sepanjang trek
- Hitung waktu bergerak vs waktu diam
- Sederhanakan trek, hilangkan segmen stasioner
- Segmen trek menjadi trek yang terpisah, satu per perjalanan
- Memperbaiki kesalahan pengambilan sampel GPS
- Buat profil elevasi dengan mencari titik dalam DEM
- Konversikan trek ke GPX, KML, dll untuk visualisasi
Ada berbagai aplikasi yang menganalisis trek GPS. Saya mencari pustaka perangkat lunak atau set alat skrip sehingga saya dapat menulis aplikasi saya sendiri. Saya tidak terlalu peduli dengan format input; semua jenis lat / lon poin cap waktu baik-baik saja. Saya sebagian besar bekerja di Python di Unix tetapi cukup banyak bahasa apa pun akan dilakukan.
Alat yang ada saya gunakan termasuk GPSBabel dan GDAL / OGR untuk konversi dan PostGIS untuk bekerja dengan trek geometri sebagai string baris. Tapi kebanyakan saya akhirnya menulis kode Python saya sendiri yang bekerja pada array dari lat / lon pair dan itu terasa terlalu rendah. Juga beberapa tugas di atas (seperti menghapus kesalahan GPS) cukup halus. Apakah ada beberapa perpustakaan yang ada di luar sana yang harus saya gunakan?
sumber
Jawaban:
Yah, agak tergantung pada bahasa pemrograman pilihan Anda, tetapi saya telah mengembangkan mineturer.org di Jawa (situs ini pada dasarnya adalah situs untuk mengunggah, menganalisis, dan menampilkan data GPX).
Iv'e menggunakan JAX-B (http://jaxb.java.net/) untuk membaca file GPX (berdasarkan skema GPX) dan JTS (http://www.vividsolutions.com/jts/) + kode sendiri untuk menganalisa.
Kode sumber untuk mineturer.org tersedia di bawah lisensi MIT di https://bitbucket.org/atlefren/gpsorganizer/
Saya kira kode bisa memberi Anda beberapa petunjuk setidaknya?
sumber
Saya menulis matematika C # -lib untuk matematika 2d / 3d yang menargetkan penanganan GPS: membaca GPX & TCX, memfilter & menyederhanakan trek, mengelompokkan trek / segmen dan mentransformasikannya ke bidang 2d.
https://www.nuget.org/packages/Math.Matthey/
https://www.nuget.org/packages/Math.Matthey.Tools.TrackReaders/
sumber
<rte>
dan<rtept>
elemen, selain<trk>
elemen?Perangkat GPS harus membantu. Ini adalah pustaka sumber terbuka dan rangkaian aplikasi yang bertujuan untuk membebaskan para peneliti dari pengkodean tingkat rendah.
Ini menyediakan fungsionalitas berikut:
sumber
Ada lib open source yang baru saja selesai saya kembangkan (untuk stabil) dan UI untuk menganalisis file GPX, TCX, dan fit.
Lib adalah https://github.com/jimmykane/quantified-self-lib UI berdasarkan Angular https://github.com/jimmykane/quantified-self
Demo Langsung https://www.quantified-self.io
Apa yang dapat dilakukan adalah mengurai file GPX, TCX atau Fit, menghasilkan statistik seperti naik, turun, jarak,
sumber
Pertanyaan yang sangat bagus! Saya telah bekerja cukup banyak dengan data GPX akhir-akhir ini dan solusi paling sederhana yang saya temukan adalah mengubah titik jejak Anda menjadi format db spasial dan kemudian membuat tampilan (spasial dan tabular) untuk merangkum data sesuai kebutuhan. Saya tidak bisa mendapatkan hasil yang diperlukan menggunakan OGR untuk mengimpor data GPX saya, jadi saya akhirnya menggunakan skrip python sederhana untuk melintasi struktur pohon XML dari GPX dan memuatnya ke db (SpatiaLite dalam kasus saya). Ini jelas tidak membantu Anda dalam menghindari reinventing the wheel, namun saya menemukan bahwa saya bisa mendapatkan hasil yang diinginkan dari meringkas trek dengan perjalanan menggunakan SQL yang ada dan fungsi spasial SQL.
sumber
Saya mengembangkan soft kecil ini untuk saya gunakan sendiri. Ini terutama untuk visualisasi dan tidak mendukung semua kebutuhan Anda, tetapi mungkin dapat membantu!
sumber
dengan risiko tidak menjawab pertanyaan Anda yang sebenarnya :-), izinkan saya menyarankan aplikasi hebat yang mungkin belum pernah Anda dengar, yang melakukan semua yang Anda daftarkan -
itu adalah one-stop-shop saya untuk melihat, mengedit, dan mentransfer GPX, antara lain.
Dan mungkin lebih pada topik, mungkin checkout namespace Positioning dari dotSpatial (.NET): http://dotspatial.codeplex.com/wikipage?title=DotSpatial.Positioning
Salam.
sumber
Jika Anda ingin beberapa spesifikasi abstrak untuk bahasa-netral, API, ada GeoAPI:
"Komunitas pengembangan dalam membangun solusi GIS mempertahankan tingkat upaya yang sangat besar. Proyek GeoAPI bertujuan untuk mengurangi duplikasi dan meningkatkan interoperabilitas dengan menyediakan API netral, antarmuka-saja yang berasal dari Standar OGC / ISO."
http://www.geoapi.org/
dan lebih khusus Standar Implementasi (PDF)
sumber
Unggah trek GPX Anda ke URL ini
Anda akan diberikan sebagian besar layanan yang Anda minta, khususnya:
sumber