มีห้องสมุดวิเคราะห์ติดตาม GPS ที่ดีหรือไม่?


35

ฉันยังคงเขียนรหัสที่กำหนดเองเพื่อทำงานกับแทร็ก GPS: ไฟล์ GPX และบันทึก NMEA จากโทรศัพท์ของฉัน, ตัวบันทึก GPS แบบแยกเฉพาะ ฯลฯ ฉันรู้สึกเหมือนฉันได้สร้างวงล้อใหม่และสงสัยว่ามีห้องสมุด / เครื่องมือมาตรฐานที่ฉันสามารถใช้ทำงานได้ ด้วยแทร็ก GPS บางสิ่งที่ฉันชอบทำ:

  • คำนวณระยะทางที่เดินทางบนเส้นทาง
  • คำนวณความเร็วเฉลี่ยและความเร็วที่ฉับพลันตลอดเส้นทาง
  • คำนวณเวลาในการเคลื่อนที่เทียบกับเวลาที่หยุดนิ่ง
  • ลดความซับซ้อนของแทร็กกำจัดกลุ่มที่อยู่กับที่
  • แบ่งแทร็กออกเป็นแทร็คแยกกันหนึ่งรายการต่อการเดินทาง
  • ปรับแก้ข้อผิดพลาดในการสุ่มตัวอย่างด้วย GPS
  • สร้างโปรไฟล์การยกระดับโดยค้นหาจุดใน DEM
  • แปลงแทร็คเป็น GPX, KML และอื่น ๆ สำหรับการสร้างภาพ

มีแอพพลิเคชั่นมากมายที่วิเคราะห์เส้นทาง GPS ฉันกำลังมองหาไลบรารีซอฟต์แวร์หรือชุดเครื่องมือที่เขียนสคริปต์ได้เพื่อให้ฉันสามารถเขียนแอปพลิเคชันของฉันเอง ฉันไม่สนใจรูปแบบอินพุตมากนัก การเรียงคะแนน lat / lon แบบประทับเวลาใด ๆ ก็ถือว่าใช้ได้ ฉันส่วนใหญ่ทำงานใน Python บน Unix แต่ภาษาใด ๆ ที่จะทำ

เครื่องมือที่มีอยู่ที่ฉันใช้ ได้แก่GPSBabelและGDAL / OGRสำหรับการแปลงและPostGISสำหรับการทำงานกับรูปทรงเรขาคณิตของแทร็กเป็นสตริงบรรทัด แต่ส่วนใหญ่ฉันสิ้นสุดการเขียนรหัส Python ของฉันเองที่ทำงานในอาร์เรย์ของคู่ lat / lon และที่รู้สึกระดับต่ำเกินไป นอกจากนี้งานบางส่วนด้านบน (เช่นการลบข้อผิดพลาด GPS) ก็ค่อนข้างบอบบาง มีห้องสมุดที่มีอยู่แล้วที่ฉันควรจะใช้หรือไม่?


1
หลังจากหนึ่งหรือสองสัปดาห์และเงินรางวัลฉันคิดว่าคำตอบสำหรับคำถามของฉันที่นี่คือ "ไม่ไม่มีห้องสมุดสำหรับการประมวลผลการติดตาม GPX" แอปพลิเคชันและรหัสจำนวนมาก แต่ไม่มีเครื่องมือเอนกประสงค์ การรู้เรื่องนั้นเป็นประโยชน์ สำหรับฉันข้างหน้าคือการเขียนรหัส PostGIS ที่ทำงานกับสคีมาที่สร้างโดยการนำเข้า GPX ของ ogr2ogr สคีมานั้นมีทั้ง LineString แบบง่ายสำหรับแทร็กและตารางคะแนนที่มีการประทับเวลาสำหรับมิติเวลา
เนลสัน

รหัส Delphi เป็นตัวเลือกด้วยหรือไม่

Google เพิ่งประกาศTracks APIฉันกำลังพูดถึงที่นี่เพื่อความสมบูรณ์ มันดูมีประโยชน์ แต่ไปในทิศทางที่แตกต่างจากที่ฉันกำลังมองหา เพิ่มเติมเกี่ยวกับ breadcrumbs และ geofences
เนลสัน

1
@Nelson ลองดูคำตอบนี้จากหนึ่งในผู้สร้าง (บรรณาธิการขี่รถออนไลน์ที่ยอดเยี่ยม) Ride With GPS: stackoverflow.com/a/13084082/401828
heltonbiker

@ เนลสันคำถามนี้ยังคงเป็นปัจจุบันมากสำหรับฉันเกือบ 4 ปีต่อมา คุณพบทางออกที่ดีในระหว่างนี้หรือไม่?
amball

คำตอบ:


7

เอาล่ะนะขึ้นอยู่กับภาษาโปรแกรมที่คุณเลือก แต่ฉันได้พัฒนา mineturer.org ใน Java (เว็บไซต์นี้เป็นไซต์สำหรับการอัปโหลดวิเคราะห์และแสดงข้อมูล GPX)

Iv'e ใช้ JAX-B (http://jaxb.java.net/) เพื่ออ่านไฟล์ GPX (ตาม GPX schema) และ JTS (http://www.vividsolutions.com/jts/) + รหัสของตัวเองสำหรับ วิเคราะห์

ซอร์สโค้ดสำหรับ mineturer.org นั้นอยู่ภายใต้ลิขสิทธิ์ของ MIT ที่https://bitbucket.org/atlefren/gpsorganizer/

ฉันเดาว่ารหัสสามารถให้พอยน์เตอร์คุณได้อย่างน้อย?


ขอบคุณ! ไซต์ของคุณดูดี (และสามารถใช้งานได้ดีผ่าน Google Translate แม้ว่าคุณจะไม่ได้อ่านภาษานอร์เวย์) คุณกำลังทำการวิเคราะห์ที่ฉันต้องการอย่างแน่นอนและมันเป็นความช่วยเหลือที่ยิ่งใหญ่ที่คุณเปิดแหล่งที่มา สำหรับ Python ฉันอาจใช้ GEOS แทน JTS มีการผูกที่ดี
เนลสัน

2
ถ้าคุณชอบมัน ... โหวตขึ้น !!
Stev_k

1
เพียงแค่ติดตามผลที่นี่: ฉันได้เริ่มย้ายโครงการนี้ไปยัง Python โดยใช้ Shapely และ GeoAlchemy (และ Flask) มันใช้งานได้ แต่ค่อนข้างช้าในขณะนี้ โค้ดที่github.com/atlefren/mineturer2สำหรับคนที่อยากรู้อยากเห็น
atlefren

3

ฉันเขียนคณิตศาสตร์ C # -lib สำหรับคณิตศาสตร์ 2d / 3d ที่มีเป้าหมายในการจัดการ GPS: การอ่าน GPX & TCX การกรองและการทำให้แทร็กง่ายขึ้นการจัดกลุ่มแทร็ก / ส่วนและเปลี่ยนเป็นระนาบ 2d

https://www.nuget.org/packages/Math.Matthey/

https://www.nuget.org/packages/Math.Matthey.Tools.TrackReaders/


เป็นไปได้หรือไม่ที่จะได้รับคำอธิบายหรือเอกสารประกอบสำหรับนักเก็ตนั้น
Petr Krampl

ฉันจะดูว่าฉันสามารถเพิ่ม Readme.MD ให้กับ NuGet pkg ได้หรือไม่
TMA

ขอบคุณที่เก็บไม่สามารถเข้าถึงได้ เป็นไปได้หรือไม่ที่จะแยกวิเคราะห์ไฟล์ gpx ที่ประกอบด้วย<rte>และ<rtept>องค์ประกอบนอกเหนือจาก<trk>องค์ประกอบ
Petr Krampl

1
ในขณะนี้สนับสนุนเฉพาะ trrk-> trkseg-> trkpt ด้วยส่วนขยายจุดติดตาม Garmin แต่ฉันเพิ่ม rte-> rtept ใน 2.3.0 แต่ยังไม่มีการตรวจสอบจนถึงตอนนี้
TMA

1
เพิ่มเอกสารสำหรับแพ็คเกจทั้งสองบน nuget.org
TMA

2

GPS เครื่องมือจะช่วยให้ เป็นไลบรารีโอเพ่นซอร์สและชุดแอปพลิเคชันที่มีเป้าหมายเพื่อปลดปล่อยนักวิจัยจากการเข้ารหัสระดับต่ำ

มันมีฟังก์ชั่นดังต่อไปนี้:

  • อรรถประโยชน์ RINEX
  • การวางตำแหน่ง
  • การวิเคราะห์ที่เหลือ
  • การสร้างแบบจำลอง ionospheric
  • การจำลองการติดตามสัญญาณ T
  • การแปลงแบบพื้นฐาน
  • การรวบรวมข้อมูลและการสังเกตการณ์
  • การเปรียบเทียบและการตรวจสอบไฟล์
  • การแก้ไขข้อมูล
  • ตำแหน่งอิสระและญาติ

ขอบคุณสำหรับคำตอบ! GPSTk ดูน่าสนใจ แต่อยู่ในระดับต่ำกว่าที่ฉันกำลังมองหา ดูเหมือนว่าเกี่ยวกับการทำงานกับสัญญาณวิทยุ GPS แบบดิบและได้รับการแก้ไขตำแหน่งจากพวกเขา ฉันมีการแก้ไขตำแหน่งจากฮาร์ดแวร์ GPS ของผู้บริโภคอยู่แล้วและไม่สามารถเข้าถึงข้อมูลดาวเทียมระดับต่ำได้
เนลสัน

1

มี lib โอเพ่นซอร์สฉันเพิ่งเสร็จสิ้นการพัฒนา (เป็นเสถียร) และ UI สำหรับการวิเคราะห์ไฟล์ GPX, TCX และพอดี

lib คือhttps://github.com/jimmykane/quantified-self-lib UI ขึ้นอยู่กับ Angular https://github.com/jimmykane/quantified-self

การสาธิตสดhttps://www.quantified-self.io

สิ่งที่สามารถทำได้คือแยกไฟล์ GPX, TCX หรือ Fit สร้างสถิติเช่น ascent, descent, distance,


0

คำถามยอดเยี่ยม! ฉันใช้ข้อมูล GPX มาไม่นานและวิธีแก้ปัญหาที่ง่ายที่สุดที่ฉันพบคือแปลงจุดติดตามของคุณให้อยู่ในรูปแบบ spatial db แล้วสร้างมุมมอง (เชิงพื้นที่และตาราง) เพื่อสรุปข้อมูลตามที่ต้องการ ฉันไม่สามารถรับผลลัพธ์ที่ต้องการโดยใช้ OGR เพื่อนำเข้าข้อมูล GPX ของฉันดังนั้นฉันจึงสิ้นสุดการใช้สคริปต์ python แบบง่าย ๆ เพื่อสำรวจโครงสร้างต้นไม้ XML ของ GPX และโหลดลงใน db (SpatiaLite ในกรณีของฉัน) สิ่งนี้ไม่ได้ช่วยคุณในการหลีกเลี่ยงการสร้างวงล้อใหม่ แต่ฉันพบว่าฉันสามารถรับผลลัพธ์ที่ต้องการในการสรุปแทร็กโดยการเดินทางโดยใช้ SQL ที่มีอยู่และฟังก์ชัน SQL เชิงพื้นที่


1
ข้อเสียเปรียบหลักที่ฉันเคยเห็นเมื่อใช้ PostGIS LineStrings คือพวกเขาไม่มีข้อมูลการประทับเวลา ฉันสามารถติดตามพวกเขาด้วยตนเองในสคีมาแยกต่างหาก แต่จากนั้น PostGIS ไม่ได้ทำอะไรเพื่อช่วยฉันในการคำนวณตามเวลา คุณมีลูกเล่นสำหรับสิ่งนั้นหรือไม่?
เนลสัน

0

ฉันกำลังพัฒนาซอฟท์ตัวเล็กนี้สำหรับใช้เอง ส่วนใหญ่ใช้สำหรับการสร้างภาพและไม่รองรับความต้องการทั้งหมดของคุณ แต่อาจช่วยได้!


ขอบคุณ! มันเป็นโอเพ่นซอร์สและใน Java ดังนั้นจึงเป็นความช่วยเหลืออย่างแน่นอน
เนลสัน

0

ด้วยความเสี่ยงที่จะไม่ตอบคำถามจริงของคุณ :-) ให้ฉันแนะนำแอปพลิเคชันที่ยอดเยี่ยมที่คุณอาจไม่เคยได้ยินนั่นคือทั้งหมดที่คุณระบุไว้ -

เป็นร้านค้าครบวงจรของฉันสำหรับการดูแก้ไขและถ่ายโอน GPX เหนือสิ่งอื่นใด

และอาจจะเพิ่มเติมในหัวข้ออาจเช็คเอาต์ Namespace ของ dotSpatial (.NET): http://dotspatial.codeplex.com/wikipage?title=DotSpatial.Positioning

ความนับถือ.


ขอบคุณ! TopoFusion เป็นแอปพลิเคชั่นที่ยอดเยี่ยมสำหรับ Windows แต่ฉันต้องการห้องสมุดจริงๆ dotSpatial มีโค้ดที่เป็นประโยชน์บางอย่างสำหรับเปล มันอยู่ภายใต้ Mozilla Public License
เนลสัน

0

หากคุณต้องการข้อมูลจำเพาะเชิงนามธรรมสำหรับภาษาที่เป็นกลาง API มี GeoAPI:

"ชุมชนการพัฒนาในการสร้างโซลูชัน GIS ยังคงมีความพยายามอย่างมากโครงการ GeoAPI มีจุดมุ่งหมายเพื่อลดความซ้ำซ้อนและเพิ่มความสามารถในการทำงานร่วมกันโดยให้ API ที่เป็นกลางและเป็นอินเทอร์เฟซที่ได้มาจากมาตรฐาน OGC / ISO"

http://www.geoapi.org/

และโดยเฉพาะอย่างยิ่งมาตรฐานการนำไปปฏิบัติ (PDF)


0

อัปโหลดแทร็ก GPX ของคุณไปยังURLนี้

คุณจะได้รับบริการส่วนใหญ่ที่คุณร้องขอโดยเฉพาะ:

  • คำนวณระยะทางที่เดินทางบนเส้นทาง
  • คำนวณความเร็วเฉลี่ย
  • คำนวณเวลาในการเคลื่อนที่เทียบกับเวลาที่หยุดนิ่ง (มองเห็นได้ในโปรไฟล์ความเร็ว)
  • ลดความซับซ้อนของแทร็กกำจัดกลุ่มที่อยู่กับที่
  • ปรับแก้ข้อผิดพลาดในการสุ่มตัวอย่างด้วย GPS
  • แปลง track KML / KMZ ฯลฯ เพื่อให้เห็นภาพ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.