ฉันเพิ่งเริ่มทำงานกับฐานข้อมูลเชิงพื้นที่และฉันต้องการเขียนแบบสอบถาม SQL (PostGIS) สำหรับการวางหลักเกณฑ์การติดตาม GPS แบบอัตโนมัติ (ด้วยความถี่การติดตามคงที่) โดยอัตโนมัติ สิ่งแรกที่ฉันตื่นคือแบบสอบถามที่ระบุจุดหยุดนิ่งในรูปแบบของแบบสอบถามเช่น "จุด x ภายในระยะทาง y เมตร" เพื่อแทนที่เมฆจุดใหญ่โดยจุดตัวแทน ฉันรู้แล้วว่าจะตะครุบคะแนนภายในระยะทางที่กำหนดและนับจำนวนที่หักออก ในภาพด้านล่างเราสามารถเห็นแทร็กตัวอย่างแบบดิบ (จุดสีดำเล็ก ๆ ) และศูนย์กลางของจุดที่จัดชิดเป็นวงกลมสี (ขนาด = จำนวนของจุดที่จัดชิด)
CREATE table simplified AS
SELECT count(raw.geom)::integer AS count, st_centroid(st_collect(raw.geom)) AS center
FROM raw
GROUP BY st_snaptogrid(raw.geom, 500, 0.5)
ORDER BY count(raw.geom) DESC;
ฉันค่อนข้างพอใจกับวิธีแก้ปัญหานี้ แต่มีปัญหาเวลา: การถ่ายภาพแทร็กแบบเต็มวันในเมืองคน ๆ นั้นสามารถกลับไปยังสถานที่ที่เคยเยี่ยมชมมาก่อน ในตัวอย่างของฉันวงกลมสีน้ำเงินเข้มหมายถึงบ้านของบุคคลที่เขาไปเยี่ยมสองครั้ง แต่แน่นอนว่าคำถามของฉันไม่สนใจสิ่งนั้น
ในกรณีนี้เคียวรีที่ซับซ้อนควรรวบรวมคะแนนที่มีการประทับเวลาต่อเนื่อง (หรือ ID) เท่านั้นเพื่อที่จะสร้างจุดที่เป็นตัวแทนสองจุดที่นี่ แนวคิดแรกของฉันคือการปรับเปลี่ยนการสืบค้นของฉันเป็นแบบ 3 มิติ (เวลาเป็นมิติที่สาม) แต่ดูเหมือนจะไม่ทำงาน
ใครบ้างมีคำแนะนำสำหรับฉัน ฉันหวังว่าคำถามของฉันชัดเจน
ขอบคุณสำหรับแนวความคิด ฉันได้ตระหนักถึงการสร้างและลดความซับซ้อนของการเคลื่อนไหวดังที่คุณเห็นในภาพหน้าจอด้านล่าง (จุดเป็นจุดดั้งเดิม) สิ่งที่ฉันยังต้องการคือการกำหนดสถานที่พักผ่อน (> x จุดในรัศมี <x เมตร) โดยมีจุดหนึ่งที่มีเวลามาถึงและเวลาที่เหลือ ... แนวคิดอื่น ๆ ?