การสร้าง“ แผนที่ความร้อน” แบบ polyline จากแทร็ก GPS หรือไม่


30

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

เนื่องจากว่า 1) เพลงของฉันจะไม่เหมือนเดิมทุกครั้งและ 2) พื้นที่ที่ครอบคลุมโดยการติดตาม "วิ่ง" อาจกว้างไม่กี่ร้อยฟุตสิ่งที่อาจเป็นวิธีที่ดีที่สุดในการวิเคราะห์ข้อมูล "เชิงเส้น" นี้เพื่อสร้างการเรียงลำดับ ของแผนที่ความร้อน? ความคิดของฉันคือการบัฟเฟอร์เส้นจากนั้นตัด polys เพื่อให้ได้สิ่ง Venn Diagram ไป ความชอบของฉันคือการใช้เทคโนโลยีโอเพ่นซอร์ส ฉันโหลด QGIS และ PostGIS แล้วและพร้อมใช้งาน

อัปเดต : เกี่ยวกับการตอบสนองของ @ blah238 ฉันกำลังคิดถึงบางสิ่งที่อาจจะสามารถ "รวบรวม" จำนวนครั้งที่ผ่าน ("วิ่ง") ผ่านพื้นที่หนึ่งแล้วจึงแสดงสัญลักษณ์ตามจำนวน แนวคิดนี้จะคล้ายกับ ArcGIS " รวบรวมเหตุการณ์ " (แต่สำหรับเส้นไม่ใช่คะแนน) หรือยุบเส้นคู่กับกึ่งกลาง (แต่สำหรับหลายบรรทัดในพื้นที่เดียวกันโดยประมาณ)

ตัวอย่างที่ชัดเจนยิ่งขึ้นของแนวคิดที่คล้ายกันอาจเป็นแผนที่การไหลของการจราจรซึ่งพื้นที่ที่มีความแออัดสูงจะถือเอาการวิ่ง / พื้นที่สกี "ที่มีการเดินทางสูง":

Google Traffic Map

ฉันได้อ่านคำถามต่อไปนี้ที่อาจให้ความคิดบางอย่าง แต่พวกเขาไม่ได้พูดถึงสิ่งที่ฉันพยายามจะทำให้สำเร็จ:

การจัดกลุ่มวิถี (ข้อมูล GPS ของ (x, y) คะแนน) และการขุดข้อมูล

การจัดการข้อผิดพลาดกับเส้นทาง GPS (กรอบทฤษฎี)


สมมติว่าคุณกำลังใช้ข้อมูล GPX มันควรอ่านค่า lat / long เป็นระยะดังนั้นจึงควรอยู่ในฟีเจอร์จุด คุณจะไม่สามารถใช้แผนที่ความร้อนกับสิ่งนั้นได้หรือไม่? หรือคุณไม่ได้ใช้อุปกรณ์ที่ใช้งานร่วมกับ GPX ได้หรือไม่?
RomaH

อ่า ฉันเข้าใจผิดในสิ่งที่คุณต้องการ .. ไม่เป็นไร
RomaH

@RomaH จริง ๆ แล้วคุณอาจใช้บางจุดที่มีความคิดในการใช้คะแนนเพื่อสร้างแผนที่ความร้อนแทนการใช้บรรทัด ฉันไม่เคยคิดที่จะใช้จุดกำเนิดก่อน
RyanDalton

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

ฉันสะดุดกับคำถามนี้ซึ่งเป็นวิธีที่ยอดเยี่ยมมากในการทำสิ่งเดียวกันโดยใช้ GPS Track Points เพื่อสร้างแผนที่ความร้อน
RyanDalton

คำตอบ:


17

ฉันได้ทำงานเกี่ยวกับเรื่องนี้ใน GeoTools / GeoServer ด้วยการขยาย Heatmap Rendering Transformation เพื่อรองรับ geometries นอกเหนือจากจุด

พิซซ่าส่งแผนที่ความร้อน

มันยังไม่เสร็จ แต่คุณจะได้รับสาขาคุณลักษณะจากพื้นที่เก็บข้อมูลของฉันบนGitHub

ภาพหน้าจอเป็นแทร็กของ GPS เมื่อฉันทำงานเป็นพนักงานขับรถส่งพิซซ่า


มันยังไม่ส่งออกรูปทรงเรขาคณิตของเวกเตอร์ แต่กำลังรวบรวมทับซ้อนเพื่อให้ค่าที่สูงขึ้น
smithkm

ความคิดใด ๆ ที่จะได้รับผลกระทบนี้กับเพิ่งโพสต์? หรือ qgis?
chrismarx

15

นี่คือบทแนะนำที่ดีสำหรับการทำอย่างนั้นโดยใช้MapBoxและTileMill :

ภาพหน้าจอ


1
ตกลงแนวคิดนี้เกือบจะเหมือนกันและสามารถทำได้อย่างง่ายดายใน GIS ใด ๆ แต่นี่เป็นการแนะนำโดยทั่วไปว่า "แค่ทำให้แทร็กของคุณเป็นสีแดงด้วยบัฟเฟอร์สีเขียวอ่อน" และพวกเขาจะโดดเด่นบนแผนที่หรือไม่ สำหรับเอฟเฟ็กต์ภาพฉันจะทำงานอย่างแน่นอน ฉันคิดว่าตอนแรกฉันคิดว่าจะลองหา "การวิเคราะห์" มากกว่านี้ที่สามารถแสดง "จำนวน" ของ "การทำงาน" ในตัวอย่างนี้ ฉันจะทำให้มันโม่
RyanDalton

@ blah238 ฉันกำลังมองหาตัวอย่างที่คล้ายกัน ... ขอบคุณมาก !!
นิล

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

5

นี่คือวิธีการง่ายๆของฉัน:

  1. สร้างแผนที่ใหม่ใน umap: http://umap.openstreetmap.fr/en
  2. คลิกนำเข้าข้อมูล a เลือกไฟล์ gpx ทั้งหมดที่คุณมีและอัปโหลดไปยังแผนที่ (คุณสามารถนำเข้าทั้งหมดในครั้งเดียว)
  3. ป้อนแก้ไขการตั้งค่าแผนที่> คุณสมบัติเริ่มต้นเลือกความทึบแสง 0.25, น้ำหนัก 10

สามขั้นตอนข้างต้นจะใช้เวลา 5 นาทีและนี่คือผลลัพธ์: ป้อนคำอธิบายรูปภาพที่นี่


3

นี่คือวิธีการของฉันใน QGIS นี่เป็นเส้นทางรถประจำทางชุดหนึ่งและฉันต้องการระบุว่าถนนสายใดที่มีเส้นทางรถประจำทางผ่านหนาแน่นที่สุด

  • ใช้ปลั๊กอิน Qchainage เพื่อแปลงบรรทัดของฉันเป็นคะแนน ทดสอบสถานการณ์ต่าง ๆ จนกระทั่งฉันทำคะแนนได้มากต่อบรรทัด (1,500 ต่อบรรทัดและบรรทัดนั้นประมาณ 9kms)
  • ใช้ heatmap symbology rendering ที่ Qgis มีอยู่แล้วในแท็บสไตล์ คุณสมบัติเลเยอร์> สไตล์> แผนที่ความร้อน
  • เล่นกับรัศมีและค่าสูงสุด ตรวจสอบให้แน่ใจว่าได้เลือกคุณภาพการแสดงผลที่ดีที่สุด
  • สร้างทางลาดสีใหม่ (เลือกต่อเนื่อง) เริ่มจากสีดำและสีที่สว่างอื่น ๆ ที่อยู่อีกด้านหนึ่ง

และvoilà

ป้อนคำอธิบายรูปภาพที่นี่ ป้อนคำอธิบายรูปภาพที่นี่


2

ฉันรู้ว่านี่ค่อนข้างโพสต์เก่า แต่ฉันเจอมันทำวิจัยที่คล้ายกัน ฉันได้พัฒนาแบบจำลอง / ขั้นตอนการทำงานที่เรียบง่ายซึ่งสามารถทำสิ่งนี้ได้ใน ArcGIS (อาจเป็น QGIS แต่ฉันยังไม่ได้นำไปใช้จริง)

หากคุณมีไฟล์ GPX หรือ TCX โดยเฉพาะ (ไฟล์จุดใดก็ได้ทำงานได้) ก็สามารถเปิดขึ้นใน Excel จากนั้นแปลงเป็น CSV และนำเข้าสู่ ArcGIS การใช้Points to Lineเครื่องมือนี้คุณสามารถแปลงคะแนน GPS จาก CSV เป็นวิถีโดยเรียงลำดับคะแนนตามเวลา (คุณสามารถจัดกลุ่มคะแนนโดยใช้ตัวระบุที่ไม่ซ้ำกันซึ่งในกรณีนี้อาจเป็นโดยทางรีสอร์ทเส้นทางหรือวันที่เฉพาะของเหตุการณ์ - เช่น Day1, 2 และอื่น ๆ ) สิ่งนี้จะสร้างชั้น polyline เดียว (ยกเว้นว่าคุณจะจัดกลุ่มพวกเขาด้วย ID ที่ไม่ซ้ำกัน) จากนั้นคุณใช้Split Line at Verticesเครื่องมือที่สร้างส่วนของเส้นตรงระหว่างจุดต่อเนื่องแต่ละจุด จากตรงนั้นคุณใช้Line Densityเครื่องมือที่นับจำนวนบรรทัดผ่านเซลล์ที่ระบุขนาดของเซลล์และรัศมีการค้นหาที่ระบุและส่งออกแรสเตอร์ แรสเตอร์นี้สามารถเป็นสัญลักษณ์ของแผนที่ความร้อน

ฉันมีและใช้งานสิ่งนี้ต่อไปอย่างต่อเนื่องและรวมผลลัพธ์ตัวอย่างด้านล่าง:

ป้อนคำอธิบายรูปภาพที่นี่


นั่นเป็นเทคนิคที่น่าสนใจจริงๆ ฉันไม่เคยทำแนวคิดนี้ให้สมบูรณ์ดังนั้นฉันจะตรวจสอบต่อไป ขอบคุณที่ตอบคำถามเก่า!
RyanDalton

ไม่มีปัญหา! มันเป็นรูปแบบที่ค่อนข้างง่ายโดยใช้เพียงสามเครื่องมือจากกล่องเครื่องมือของอาร์ค อีกวิธีหนึ่งคุณสามารถทำให้มันง่ายขึ้นไปอีกสองเครื่องมือโดยใช้เพียงTrack Intervals to LineและLine Densityเครื่องมือ
andrew-ryan

1

การใช้สิ่งนี้ของเราเกี่ยวข้องกับการกำหนดเส้นทางนักเรียนไปโรงเรียนโดยใช้ PGRouting

ผลลัพธ์ของแต่ละเส้นทางจะอยู่ที่แกนกลางชุดของโหนด (ซึ่งเปลี่ยนเป็นเส้นโดยเลือกที่จะเข้าร่วมกับขอบที่เกี่ยวข้อง)

หากคุณกำหนดเส้นทางนักเรียนหลายคนไปยังโรงเรียนเดียวการรวบรวมเอาต์พุตของโหนดสามารถแสดงใน QGIS โดยใช้ heatmap renderer ซึ่งแสดง 'ฮอตสปอต' ของเส้นทางที่รวบรวมไปยังโรงเรียน (ดูด้านล่าง)

แผนที่เหล่านี้ใช้เพื่อแจ้งพื้นที่ที่ควรกำหนดเป้าหมายสำหรับโครงสร้างพื้นฐานด้านความปลอดภัยเพิ่มเติมเช่นการข้ามสัญญาณสัญญาณสัญญาณและอื่น ๆ

ป้อนคำอธิบายรูปภาพที่นี่


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

0

สร้าง gridatic graticular แปลง gpsdata เป็น shapefiles, polygonize เส้น, ดึงข้อมูล x, y point จากตาราง, สร้างความหนาแน่นของพื้นผิวหรือแผนที่ความร้อนโดยใช้การปฏิบัติมาตรฐานที่จุดนี้ จากนั้นคุณสามารถผสานกับข้อมูลเวกเตอร์เชิงเส้นเพื่อรับค่าพิกเซลในการแสดงผลแรสเตอร์หรือสำหรับการประมวลผลเชิงตัวเลขเพิ่มเติม


0

คนส่วนใหญ่ (รวมถึงตัวเอง) ดูไฟล์ GPX และคิดว่ามันเป็นลำดับของตำแหน่ง (คะแนน) ในขณะที่สามารถมองเห็นได้อย่างสมบูรณ์แบบว่าเป็นลำดับของส่วนของเส้นแทน

การกำหนดปัญหาของคุณเกี่ยวข้องกับ "แผนที่ความร้อน" เพื่อให้คุณสามารถตรวจสอบเส้นทางการมองเห็นของคุณดังนั้นจึงมีวิธีที่ค่อนข้างง่ายในการข้ามส่วนการคำนวณตัวเลขแบบซับซ้อน

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

ดังนั้นฉันขอแนะนำให้คุณเขียนพล็อตแต่ละเส้นทางเป็นเส้นหลายเส้นที่มีความหนาพอที่จะมีการเหลื่อมกันบ้าง (ขึ้นอยู่กับการซูมดังนั้นคุณจะต้องตั้งความหนาในระยะห่างจากแผนที่แทนที่จะเป็นพิกเซล) และมีความทึบค่อนข้างต่ำ , พูด, 0.05, เป็นสีดำ

มันเป็นสิ่งสำคัญที่จะไม่พล็อตแต่ละส่วนเพราะถ้าคุณทำเช่นนั้นแขนขาของพวกเขาจะทับซ้อนกันเพิ่มความทึบของพวกเขาเป็นสองเท่าและสร้าง "จุด" ของสีที่แข็งแกร่งขึ้น

ในที่สุดคุณจะได้รับภาพสีเทาซึ่งคุณสามารถใช้ตารางสีที่คุณเลือก

ฉันอาจจะใช้ Python / Cairo แต่ Python / Matplotlib จะทำและ Html / Canvas หรือ Html / SVG (หรือ SVG แบบเป็นโปรแกรม) จะทำแน่นอน

ผลลัพธ์ที่ได้จะขึ้นอยู่กับความละเอียดของสื่อบันทึกข้อมูลของคุณเท่านั้น


0

ฉันรู้ว่านี่เป็นคำถามที่ค่อนข้างเก่า แต่เนื่องจากโพสต์นี้เป็นหนึ่งในผลการค้นหาอันดับต้น ๆ สำหรับหัวข้อนี้ฉันคิดว่าฉันโพสต์ลิงก์ไปยังเวิร์กโฟลว์เพื่อผลิตแผนที่ความร้อน polyline ใน ArcGIS ที่ตอบคำถามนี้ เนื่องจากขณะนี้ยังไม่มีวิธีแก้ปัญหาสำหรับ ArcGIS ในโพสต์นี้

https://luke-webber.github.io/polyline-heatmap/

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.