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


17

ฉันกำลังคิดเกี่ยวกับการเขียนซอฟต์แวร์เพื่อจัดการกับ GPS Tracks และ Waypoints (ส่วนใหญ่การจัดเก็บการแสดงและการคำนวณตัวชี้วัดเช่นความเร็วเกรดและสถิติง่ายๆ)

ฉันสงสัยว่าอะไรควรเป็นโมเดลข้อมูลที่มีแนวคิดที่แข็งแกร่งที่สุดเกี่ยวกับ trackpoint และนี่คือ "ตัวเลือก":

  1. พิจารณาเพลงเป็นลำดับของ Trackpoints:

    1.1 เพลงถือว่าเป็น "2D" เนื่องจากการคาดคะเนแผนที่เป็น 2D Trackpoints อาจมีระดับความสูงหรือไม่อาจมีการประทับเวลา ระดับความสูงและการประทับเวลาจะพิจารณาเป็น "พิเศษ", "ตัวเลือก" สำหรับการใช้งานภาคพื้นดินการยกระดับเป็นหน้าที่โดยตรงของ lat / lon (หาได้ผ่าน DEM)

    1.2 เพลงถือว่าเป็น "3D" เนื่องจากพื้นที่ทางภูมิศาสตร์เป็น 3D จริงและเส้นทางการเคลื่อนที่ของผู้รับคือ 3D (การฉายภาพ 2D จึงเป็นรูปแบบหนึ่งของการลดข้อมูล) การประทับเวลาอาจมีหรือไม่มี (แทร็กอาจถูกวาดด้วยมือ)

    1.3 เพลงถือว่าเป็น "4D" (3 spatial + time) ดังนั้นแผนที่วาดด้วยมือจึงเป็นกรณีพิเศษที่ระดับความสูงและการประทับเวลาอยู่nullหรือไม่ปรากฏขึ้น แต่คุณสมบัติของ Trackpoint จะอยู่ที่ "นั่น" เสมอ

  2. แทร็กถือเป็นพจนานุกรมของสตรีมที่สตรีมทั้งหมดมีความยาวเท่ากัน มีรายการละติจูด, รายการของลองจิจูด, รายการระดับความสูง, หนึ่งในเวลาประทับ ฯลฯ ซึ่งทำให้ง่ายต่อการคำนวณสถิติของทรัพย์สินแต่ละรายการและแนวคิดของ Trackpoint จะกลายเป็น "เสมือน" ในแง่หนึ่งเนื่องจากเป็น ภาพตัดขวางของสตรีมจำนวนมาก

หากฉันเข้าใจถูกต้องรูปแบบ GPX จะใช้ 1.1. KML จะใช้ 1.2 (โดยไม่มีการสนับสนุนการประทับเวลา) และ Strava API adopts 2 (ในรูปแบบ JSON) แต่ในที่สุดสิ่งเหล่านี้เป็นเพียงรูปแบบไฟล์สำหรับการจัดลำดับและการจัดเก็บข้อมูลไม่จำเป็นต้องใช้สำหรับการสร้างแบบจำลอง

มีรูปแบบใดที่เป็นที่นิยมมากกว่าในแง่ของวัตถุและเพราะเหตุใด (ฉันเชื่อว่าอย่างน้อยการพิมพ์และการสร้างแบบจำลองที่สมเหตุสมผลจะหลีกเลี่ยงการดำเนินการที่ไม่สมเหตุสมผล)

แก้ไข: คำถามเพิ่มเติมที่น่าสนใจ:

  • แทร็กที่วาดด้วยมือเป็นสิ่งเดียวกับแทร็คที่บันทึกด้วยอุปกรณ์หรือไม่ ควรเป็นประเภทข้อมูลที่แตกต่างกันหรือไม่
  • ควรพิจารณาว่า "ถูกต้อง" หรือไม่ที่ KML จัดเก็บระดับความสูงเป็นศูนย์หรือไม่ การยกระดับเป็นศูนย์และถ้าคุณไม่ทราบระดับความสูงคุณไม่ควรกำหนดศูนย์ที่เป็นตัวเลขให้กับมันใช่ไหม
  • ในกรณีที่แทร็คยกระดับควรแยกข้อมูลระดับความสูงจากข้อมูล DEM ("ออฟไลน์") หรือจากข้อมูล GPS หรือข้อมูลความกดอากาศ ("ในช่อง") หรือไม่ ควรตั้งค่าสถานะนี้ในวัตถุติดตามหรือไม่ บันทึกไว้ในคุณสมบัติ Trackpoint ที่ต่างกันหรือไม่ ละเว้น? พวกเขาควรจะเป็นประเภทข้อมูลการเก็บรวบรวมที่แตกต่างกัน?
  • หากฉันแก้ไขแทร็กที่บันทึกโดยอุปกรณ์ในตัวแก้ไขแผนที่ (การเพิ่มย้ายและลบจุด) หรือรวมแทร็กจากวันที่แตกต่างกันการประทับเวลาในแทร็กพอยต์ควรจะจัดการอย่างไร พวกเขาควรจะ "ตั้งค่าใหม่" เป็นโมฆะ? ควรสร้างวัตถุ (คอลเลกชัน trackpoint) ของประเภทที่แตกต่างจากวัตถุในอดีตหรือไม่?

3
3. แทร็กคือชุดของจุดที่มีแอตทริบิวต์ x, y, z, m [] และเวลา ไฟล์ CSV ที่มี 5 ค่าเหล่านี้สำหรับแต่ละจุดที่จับภาพนั้นมีค่ามากกว่าแบบจำลองข้อมูลที่มีประสิทธิภาพ หากคุณต้องการสิ่งแฟนซีเช่น<>และ{}เพื่อช่วยคุณจัดระเบียบข้อมูลและข้อมูลเมตา - คุณทำผิด
nagytech

1
ฉันเห็นด้วยกับ CSV เก่าที่ดีมันแสดงให้เห็นถึงทุกสิ่งที่ GPS กำลังบันทึก แต่รูปแบบ GPX นั้นค่อนข้างธรรมดาสำหรับอุปกรณ์ GPS ลิงก์นี้อาจมีค่าบางสิ่งเนื่องจาก GPS และ KML เป็นรูปแบบข้อมูล XML stackoverflow.com/questions/1820129/…
Pete

ในขณะที่ XML นั้นยอดเยี่ยมและทั้งหมด (เนื่องจากเหตุผลในการโพสต์ที่ลิงก์ของ @ Pete) ไม่มีประเด็นใดที่เกี่ยวข้อง หากมีสิ่งใดค่าโสหุ้ยไม่ทำอะไรเลยนอกจากจะทำให้ตัวเลขหยุดชะงักและชะลอการจัดเก็บข้อมูลและวิธีการส่งข้อมูลของคุณ จริงอยู่ถ้าคุณเป็นผู้ดำเนินการแบบป๊อปอัพคุณจะไม่มีข้อมูลเพียงพอที่จะประสบปัญหาเหล่านี้และการที่ตัวเลขของคุณจะไม่รุนแรง ไม่ว่าจะด้วยวิธีใดคุณจะไม่มีทรัพยากรที่จะช่วยให้การดำเนินการนี้ใกล้เคียงกับโลหะ - ดังนั้นจึงไม่มี XML
nagytech

1
โปรดทราบว่าคำถามนี้มีส่วนเกี่ยวข้องกับ MODELING และการออกแบบข้อมูลมากกว่าการใช้งานจริง ความคิดเห็นที่มุ่งเน้นในรูปแบบไฟล์ซึ่งก็คือจากสิ่งที่ฉันคิด แต่ไกลออกไปเพราะรูปแบบไฟล์ขึ้นอยู่กับสื่อการใช้งานมากกว่าลักษณะของข้อมูลเอง
heltonbiker

1
ในแง่ของ OO ฉันใช้คลาส Line ที่สามารถเก็บคะแนนได้ (lat, lng, ele, เวลา, ความเร็ว, การแบก ฯลฯ ) และจากนั้นเส้นทางที่แสดงด้วยมือวาดหรือตั้งใจ "แทร็ก" และแทร็กที่แสดงแทร็กที่แท้จริงพร้อมข้อมูลเวลา / ความเร็ว แนวคิดฉันคิดว่าพวกเขาแตกต่างกัน (วาดด้วยมือและหรือจัดทำโดยนักทำแผนที่หรือเช่นนั้นกับแทร็กจริง) เงื่อนไขเป็นเพียงความหมายแน่นอน แต่การใช้งานจริงมีประโยชน์ (ไม่ใช่เพียงแค่ทำการบดมันทั้งหมดให้เป็น "แทร็ก") นอกจากนี้เมื่อมันมาถึงรูปแบบอนุกรมฉันต้องการพิจารณา GeoJSON: en.wikipedia.org/wiki/GeoJSON
Charlie Collins

คำตอบ:


4

ฉันไม่คิดว่าคำถามนี้สามารถตอบได้อย่างชัดเจนเนื่องจากมีหลายวิธีในการเข้าถึง ..

อย่างไรก็ตามความคิดเหล่านี้อาจเกี่ยวข้อง:

การจัดเก็บข้อมูลค่อนข้างไม่สำคัญ กลไกใดก็ตามที่คุณใช้, ฐานข้อมูล, JSON, KML, ฯลฯ มันยังคงเป็น "พื้นที่จัดเก็บแบบแบน"

สิ่งที่สำคัญคือซอฟต์แวร์ที่คุณใช้และวิธีการนำเสนอข้อมูลในซอฟต์แวร์เพื่อให้คุณสามารถดำเนินการสร้างแบบจำลองของคุณได้

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

นอกจากนี้คุณยังสามารถพิจารณาเวลาโดยใช้การชดเชยจากจุดเริ่มต้นของแทร็ก หากคุณมีความเร็วและระยะทางจากนั้นคุณสามารถคำนวณเวลาที่จุด (ระยะห่างระหว่างจุดสองจุดสามารถกำหนดโดยวิธีการต่าง ๆ)

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

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

หากไม่ทราบระดับความสูงก็จะไม่ทราบดังนั้นจึงไม่ควรเป็นศูนย์ มันไม่ควรจะเป็นเชิงลบเนื่องจากการยกระดับเชิงลบเป็นระดับที่ถูกต้องเช่นกัน (ในหุบเขาที่อยู่ต่ำกว่าระดับน้ำทะเลหลุมเหมือง ฯลฯ )

ใช่มี DEMS อยู่คุณสามารถแยกได้ จะแม่นยำหรือไม่ ไม่น่าเป็นไปได้เว้นแต่ความถูกต้องไม่ใช่ปัญหา จีพีเอสหรือบารอมิเตอร์ที่ให้ไว้

เพื่อลองและให้คำตอบที่ใกล้เคียง:

จัดเก็บข้อมูลในรูปแบบแบน ๆ ที่คุณชอบ แต่ฉันอยากจะแนะนำPostGRESกับPostGISเป็นตัวเลือกที่ดีมันรองรับ 3D ได้อย่างดี จากนั้นคุณสามารถใช้ฟังก์ชันอวกาศอย่างกว้างขวางใน PostGIS เพื่อจัดการ / จำลองข้อมูลของคุณ

หากคุณใช้รูปแบบของโปรแกรมที่กำหนดเองที่คุณพัฒนาให้ใช้วิธีการวางแนวของวัตถุแทนอาร์เรย์ หากคุณใช้อาร์เรย์คุณอาจใช้ฐานข้อมูลได้เช่นกัน


1
ขอบคุณมากสำหรับเวลาและความสนใจของคุณฉันพบคำตอบที่น่าสนใจมาก แต่มีสิ่งหนึ่งที่ฉัน "ไม่สามารถ" เห็นด้วยความเร็วนั้นเป็นตัวแปรที่ยอมรับในขณะที่เวลาจะไม่ นี้ด้วยเหตุผลหลายประการ แต่ส่วนใหญ่เป็นเพราะความเร็วเป็นอนุพันธ์ของระยะทางในช่วงเวลา คุณจะได้รับความเร็วที่ดีเสมอและความเร็วเฉลี่ยที่ดีเป็นพิเศษ (ซึ่งฉันพบว่ามีประโยชน์มากกว่าความเร็วแบบทันที) หากคุณทำระยะทางเซกเมนต์ในช่วงเวลาของเซกเมนต์ ในทางตรงกันข้ามถ้าคุณรวมความเร็วข้อผิดพลาดการรวมจะให้ผลลัพธ์ที่ผิดมากหลังจากตัวอย่างสั้น ๆ
heltonbiker

2
ใช่ฉันสามารถยอมรับประเด็นนั้นได้ อย่างไรก็ตามการใช้แทร็ก GPS อยู่ในตัวเองภายใต้ข้อผิดพลาดตำแหน่ง มันเป็นเรื่องของความแม่นยำที่คุณจะได้รับ ตกลงเวลาค่อนข้างแม่นยำ แต่คุณจะได้รับข้อผิดพลาดในการใช้เช่นกันเนื่องจากข้อผิดพลาดตำแหน่ง GPS ช่วงเวลาหนึ่งวินาทีในจุดติดตามเป็นเพียงแค่หนึ่งวินาที แต่ภายใน GPS อัลกอริทึมของมันอาจจะถูกสอดแทรกอยู่ดีเพื่อให้ถึงตำแหน่งโดยประมาณ เห็นได้ชัดว่าความละเอียดของข้อมูลจะมีผลกระทบอย่างมากต่อวิธีการวิเคราะห์ที่เลือกไว้
Mark Cupitt

ดีมาก ... นั่นเป็นเหตุผลที่ฉันเลิกวางแผน "ความเร็วทันที" ไปพร้อมกันแล้วสำหรับการเรียงลำดับ "ความเร็วเฉลี่ยชั่วขณะ" ซึ่งก็คือ: "สำหรับทุก ๆ จุดที่กำหนดในวิถีความเร็วเฉลี่ยโดยเฉลี่ยในทันทีคือค่าเฉลี่ย ความเร็วของ N นาทีสุดท้าย " มันมีการวางแผนที่ดีมากและให้ความรู้สึกที่เหมาะสมของการเปลี่ยนแปลงความเร็วตลอดการเดินทาง แต่การคำนวณที่เหมาะสมนั้นค่อนข้างยุ่งยากและอาจเป็นเรื่องที่ต้องใช้การคำนวณค่อนข้างมาก
heltonbiker

0

ดังที่ได้กล่าวไปแล้วในคำตอบอื่นมีหลายวิธีที่แตกต่างกัน เนื่องจากฉันขอให้ "แบบจำลองข้อมูลที่แข็งแกร่งทางแนวคิด" หลังจากการวิจัยจำนวนมากฉันได้พบองค์ความรู้ที่ยอดเยี่ยมสองแห่งที่ให้แนวทางที่แตกต่างกันสองอย่างสำหรับแนวคิด "วัตถุเคลื่อนที่" และมีการทับซ้อนกันมาก (ในแง่ที่ดี):

  1. หนังสือจาก Gennady และ Natalia Andrienko จัดพิมพ์โดย Springer Verlag เช่นVisual Analytics of Movement ที่ยอดเยี่ยม(ท่ามกลางผู้อื่นจากสำนักพิมพ์เดียวกัน) แนะนำเป็นอย่างยิ่ง
  2. ข้อมูลจำเพาะบทคัดย่อ (schemas ความคิด) ของมาตรฐาน ISO / OGC (ISO 191xx บรรทัดฐาน) เป็นพิเศษมาตรฐาน ISO 19107 (Spatial Schema), 19108 (Temporal Schema), 19111 (Spatial อ้างอิงจากพิกัด), 19141 (คุณสมบัติย้าย) และ 19148 (เชิงเส้นอ้างอิง)
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.