สร้างบรรทัด“ mean” จากหลายบรรทัดโดยใช้ QGIS


12

ฉันมีคุณสมบัติหลายบรรทัด (มีในหลายจุด ... ) แทนเส้นทางที่คล้ายกัน (เส้นทางภูเขาในกรณีนี้) ด้วยความแม่นยำของ GPS ที่หลากหลายทำให้มีหลายบรรทัดที่อยู่ใกล้กัน แต่ไม่ทับซ้อนกันอย่างสมบูรณ์

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

คุณจะดำเนินการอย่างไรโดยใช้ QGIS หรือเครื่องมืออื่น ๆ (ฉันคิดถึง OGR ... )

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


ดูแทร็กเฉลี่ยบนวิกิ OpenStreetMap ซึ่งอธิบายวิธีการใช้อาร์
เจค

2
สิ่งนี้ฟังดูคล้ายกับ "conflation" และในเว็บไซต์นี้มีหัวข้อเกี่ยวกับเรื่องนี้: gis.stackexchange.com/search?q=conflationทำคำถามและคำตอบใด ๆ
SaultDon

ฉันจะดูที่ "conflation" วันนี้ แต่จนถึง "ค่าเฉลี่ยแทร็ก" ที่เสนอก่อนหน้านี้ดูเหมือนจะทำเคล็ดลับ ฉันแค่มองอีกเล็กน้อยเพื่อดูว่าสามารถทำได้โดยตรงผ่าน QGIS แต่คำตอบของคุณทั้งสองนั้นยอดเยี่ยมขอบคุณ!
Horizenen

คุณอาจดูที่กระทู้นี้และลิงก์: gis.stackexchange.com/questions/70623/…
johns

คำตอบ:


9

ข้อมูลการทดสอบ:

  • QGIS 2.18.16, GRASS GIS 7
  • 4 เส้นทาง GPS
  • ภายในตาราง 1x1km

ผม.)

สร้างคะแนนตามเส้นทาง GPS ของคุณด้วยปลั๊กอิน QGIS Locate Points Along Lines( https://plugins.qgis.org/plugins/LocatePoints/ ) ฉันใช้ช่วงเวลา 5m ใน exmaple ของฉัน

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

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

II.)

สร้างด้วยConcave Hull Processing > Toolbox > QGIS geoalgorithms >Vector geometry tools > Concave hullฉันใช้เกณฑ์เป็น0.1ตัวอย่าง หากธรณีประตูอยู่ในระดับต่ำอาจมีรูภายในรูปหลายเหลี่ยมเอาต์พุต

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

สาม.)

ตอนนี้คุณสามารถคำนวณบรรทัด "mean" ด้วยความช่วยเหลือของอัลกอริทึมโครงกระดูก Processing Toolboxค้นหาโครงกระดูกใน การใช้เครื่องมือจากv.voronoi.skeletonGRASS GIS 7 commands

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


7

แผนที่ความร้อน:

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

ข้อมูลการทดสอบ:

  • QGIS 2.18.16, GRASS GIS 7
  • 4 เส้นทาง GPS
  • ภายในตาราง 1x1km

ผม.)

สร้างคะแนนตามเส้นทาง GPS ของคุณด้วยปลั๊กอิน QGIS ค้นหาจุดตามเส้น ( https://plugins.qgis.org/plugins/LocatePoints/ ) สำหรับวิธีการแผนที่ความร้อนที่ผมเคยใช้ช่วงเวลาของ2m

II.)

สร้างแผนที่ความร้อนด้วยปลั๊กอินแผนที่ความร้อนของ QGIS ฉันใช้รัศมี 40 เมตร ฉันเพิ่มรัศมีจนกระทั่งไม่มีรูในแรสเตอร์เอาต์พุต คุณต้องลองด้วยค่ารัศมีที่แตกต่างกัน

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

สาม.)

แก้ไขไม่จำเป็นต้องเก็บค่าความร้อนแผนที่แรสเตอร์ที่แน่นอน

ตอนนี้ฉันต้องการทำให้ภาพแรสเตอร์เล็กลงไปสู่บริเวณ "สีขาว" ซึ่งเป็นจุดที่เข้มข้นที่สุด ดังนั้นฉันจึงคำนวณเอาท์พุทแรสเตอร์ใหม่ ค่า min max / ของแรสเตอร์ออกเป็นและ0 89.7935ฉันใช้ค่าข้างต้น44เท่านั้น ดังนั้นฉันจึงใช้ "กฎของหัวแม่มือ" ปัดเศษค่าสูงสุดลงแล้วหารด้วยสอง ปัดค่านี้อีกครั้ง ->89/2 = 44,5 44ฉันใช้ OSGeo4W gdal_calc -A heatmap.tif --calc="A>=44" --NoDataValue=0 --outfile=heatmap_44_NoData.tifกะลา:

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

IV.)

แก้ไข

a) จัดทำแผนที่ความร้อนที่คำนวณใหม่ด้วย Raster > Conversion > Polygonize ...

ข) Vector > Geometry Tools > Simplify geometriesการลดความซับซ้อนของรูปหลายเหลี่ยม 2ผมเคยใช้ความอดทนของ รูปหลายเหลี่ยมที่ง่ายกว่าช่วยลดเวลาในการประมวลผลสำหรับโครงกระดูก

c) คำนวณโครงกระดูก: ค้นหาโครงกระดูกในกล่องเครื่องมือการประมวลผล ใช้v.voronoi.skeletonเครื่องมือจากคำสั่ง GRASS GIS 7

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

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

ข้อดีของวิธีการ:

  • ผลลัพธ์ที่ดีสมเหตุสมผลโดยเฉพาะการใช้ QGIS

ข้อเสีย:

  • เวลาในการประมวลผลสำหรับชุดข้อมูลขนาดใหญ่
  • คุณต้องลองพารามิเตอร์เป็นพารามิเตอร์เบื้องต้น (รัศมีของ heatmap, ค่า min / max)
  • ยากที่จะทำให้ขั้นตอนการประมวลผลโดยอัตโนมัติ
  • ไม่ได้ทดสอบสำหรับโค้ง / เส้นโค้งแคบและสำหรับแทร็กที่ก้าวออกจากเส้นจริงๆ

หากใครบางคนสามารถเพิ่มประสิทธิภาพขั้นตอนการประมวลผลยินดีต้อนรับคุณ!


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

ฉันเข้าใจ. ขอขอบคุณสำหรับการตอบสนองของคุณ. ความร้อนแผนที่ปลั๊กอินใน QGIS use weight from fieldมีตัวเลือกขั้นสูงบางอย่างที่คุณสามารถทำได้ ข้อมูลเช่นความเร็ว (การเคลื่อนที่ช้า / เร็ว) หรืออื่น ๆ เพื่อใช้ในการถ่วงน้ำหนักข้อมูลในบางวิธีได้หรือไม่? สามารถใช้การถ่วงน้ำหนักเพื่อปรับปรุงแผนที่ความร้อน
สเตฟาน

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