ทำ heatmap จากข้อมูลบรรทัดใน QGIS หรือไม่


12

ฉันต้องการทำการวิเคราะห์ความหนาแน่นของเส้นสำหรับข้อมูลบรรทัดของฉันตามคุณลักษณะ

ตัวเลือก heatmap (การวิเคราะห์ความหนาแน่นของเคอร์เนล) เป็นไปได้สำหรับข้อมูลจุดเท่านั้น

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

นี่คือการวิเคราะห์ความหนาแน่นของเส้นที่ดำเนินการด้วย ArcGIS ฉันกำลังมองหาที่จะทำเช่นเดียวกันกับ QGIS

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

เป็นไปได้หรือไม่ที่จะทำการวิเคราะห์ความหนาแน่นของเส้นที่คล้ายกันใน QGIS? และนี่คือข้อมูลเกี่ยวกับ QGIS

คำตอบ:


4

ฉันไม่สามารถหาวิธีทำสิ่งนี้ใน QGIS ผ่านฟังก์ชัน DB Manager / SQLite แต่ใน PostGIS เราทำสิ่งต่อไปนี้:

select
(ST_DumpPoints(l.geom)).geom
from linedata as l

สิ่งนี้ส่งออกไปยังตารางใหม่ช่วยให้คะแนนของเส้น (สำหรับกรณีของเราจาก PGRouting นักเรียนไปโรงเรียนของพวกเขา) เพื่อให้เราสามารถเห็นภาพฮอตสปอตของเส้นทางที่นักเรียนสามารถ 'ใช้:

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


4

ในความเป็นจริงมันเป็นไปได้ที่จะทำความหนาแน่นของเส้นใน QGIS โดยใช้เมนูมาตรฐานส่งพารามิเตอร์ไปยังปฏิบัติการ GDAL

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

พบ gdal_rasterize ในเมนู Raster -> Conversion -> Rasterize ในช่องข้อความสุดท้ายคุณกดปุ่มดินสอและแก้ไขข้อความเพื่อรวม "-burn 1 -add" คล้ายกับด้านล่าง โดยปกติคุณเปลี่ยนพารามิเตอร์ -tr (ความละเอียด) และชื่ออินพุตและเอาต์พุตตามสถานการณ์ของคุณ

gdal_rasterize -burn 1 -add -tr 200.0 200.0 -l บรรทัด C: /lines.shp C: /out_lines.tif

Jukka Rahkonen ให้คำแนะนำแก่ฉันในรายการส่งเมล gdal_dev ฉันค้นหาสิ่งนี้มาหลายปีแล้ว

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

ความหนาแน่นของบรรทัดที่มี gdal_rasterize


3

การใช้วิธีการคล้ายกับคำตอบจาก @ DPSSpatial ฉันจะใช้ปลั๊กอินQChainageเพื่อสร้างจุดที่มีระยะห่างเท่า ๆ กันในแต่ละบรรทัด

ปลั๊กอินนี้สร้างคะแนนตามบรรทัด แต่จะไม่คัดลอกข้ามคุณลักษณะใด ๆ ที่มาจากบรรทัด

ที่นี่ฉันกำลังสมมติ WGS84 (4326, Degrees Lat / Lon) คุณอาจต้องการทำสิ่งนี้โดยใช้การฉายภาพที่เหมาะสมในหน่วยเมตร

  • ใช้QChainageเพื่อสร้างคะแนนตามเส้นเช่นทุก ๆ 0.05 องศา
  • บัฟเฟอร์ชั้นนี้เช่น 0.001 องศา
  • ทำการรวมเชิงพื้นที่ ( Vector> เครื่องมือการจัดการข้อมูล> เข้าร่วมคุณสมบัติตามสถานที่ ) (ใช้ "Intersects") จากจุดบัฟเฟอร์ไปจนถึงเลเยอร์บรรทัดดั้งเดิมของคุณ สิ่งนี้จะช่วยให้คะแนนรับค่าอิทธิพลจากเส้นข้างล่าง
  • แปลงเลเยอร์นี้กลับเป็นจุดโดยใช้Vector> Geometry Tools> Polygon Centroids

ในที่สุดฉันจะใช้ตัวแสดงแผนที่ความร้อนมาตรฐาน ตรวจสอบให้แน่ใจว่าคุณใช้คะแนนน้ำหนักโดยการตั้งค่าและใช้ฟิลด์อิทธิพล

ตอนนี้คุณควรมีอะไรเช่นนี้ ตัวเลขตามแต่ละบรรทัดแสดงค่า "อิทธิพล"

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

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