ให้ภูมิประเทศวิธีการวาดเส้นทางการไหลของกระแส?


23

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

ภูมิประเทศถูกกำหนดในรูปของเครือข่ายสามเหลี่ยมที่ไม่สม่ำเสมอ (TIN) ซึ่งแต่ละจุด p (x, y) มีค่า az วิธีการใช้ข้อมูลนี้เพื่อสร้างเส้นทางการไหลของกระแส? ฟิสิกส์ที่อยู่เบื้องหลังสิ่งนี้คืออะไร?

จากสิ่งที่ฉันรู้วิธีโคตรลาดชันสามารถนำมาใช้ในการแก้ปัญหานี้ ฉันกำลังคิดเกี่ยวกับการเขียนอัลกอริธึมการไหลของตัวเองดังนั้นฉันสนใจพื้นหลังทางทฤษฎีมากกว่าการใช้เครื่องมือที่มีอยู่

คำตอบ:


26

มีการใช้งานที่เป็นไปได้ที่แตกต่างกัน แต่ขั้นตอนส่วนใหญ่จะเริ่มจากกริดและไม่ได้มาจาก TIN

วิธีที่ง่ายที่สุดน่าจะเป็นขั้นตอน D8: คุณคำนวณทิศทางที่น้ำจะไหล มีความเป็นไปได้ 8 ประการคือ 8 เซลล์ที่อยู่ถัดจากเซลล์กริดกลาง คุณสามารถคำนวณเส้นทางเหล่านี้ได้มากกว่าวิธีที่เซลล์เชื่อมต่อกันและในที่สุดคุณก็สามารถวาดเส้นได้) การใช้งานง่ายที่พบในเทพนิยายมันเกือบจะอ่านเป็น pseudocode: http://saga-gis.svn.sourceforge.net/viewvc/saga-gis/trunk/saga-gis/src/modules_terrain_analysis/terrain_analysis/ta_channels/D8_Flow_Analysis CPP? แก้ไข = 911 & ดู = มาร์กอัป

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

SAGA GIS ใช้มากในวิธีการเก็บกักน้ำในพื้นที่เหล่านี้คุณสามารถหาคำอธิบายของพวกเขาในคู่มือนี้http://sourceforge.net/settings/mirror_choices?projectname=saga-gis&filename=SAGA%20-%20Documentation/SAGA%20Documents/ SagaManual.pdf

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

  • กำหนดขึ้น 8 (D8): คลาสสิก โฟลว์เริ่มจากจุดศูนย์กลางของเซลล์ไปยังจุดศูนย์กลางของหนึ่งเซลล์ (และเพียงอันเดียว) ของเซลล์โดยรอบ ทิศทางการไหลถูก จำกัด ไว้ที่ทวีคูณของ 45o ซึ่งเป็นเหตุผลหลักสำหรับข้อเสียส่วนใหญ่ของวิธีการ (O'Callaghan & Mark 1984)
  • Rho8: เหมือนข้างบน แต่มีองค์ประกอบสุ่มที่ควรปรับปรุง ทิศทางการไหลถูกกำหนดโดยอาร์กิวเมนต์สุ่มที่ขึ้นอยู่กับความแตกต่างระหว่างมุมมองและทิศทางของเซลล์เพื่อนบ้านทั้งสองที่อยู่ติดกัน ไม่มีประโยชน์มาก . . (Fairfield & Leymarie 1991)
  • Deterministic infinity (D∞): โฟลว์ไหลจากเซลล์หนึ่งไปยังเซลล์สองเซลล์ที่อยู่ติดกันโดยรอบดังนั้นจึงพิจารณาการไหลแบบสองมิติและการเอาชนะข้อเสียของวิธีการ D8 (Tarboton 1998)
  • Braunschweiger Digitales Reliefmodell: อีกทิศทางการไหลหลายทิศทาง การไหลถูกแบ่งระหว่างเซลล์โดยรอบซึ่งมีการวางแนวที่ใกล้เคียงที่สุดกับด้านของเซลล์กึ่งกลางและเซลล์สองเซลล์ที่อยู่ติดกัน (Bauer, Bork & Rohdenburg 1985)
  • FD8 (พบใน SAGA เพียงเป็นทิศทางการไหลหลายทิศทาง): อัลกอริทึมการกำหนดเส้นทางการไหลแบบสองมิติที่ได้รับ D8 (Quinn และคณะ 1991)
  • อัลกอริทึมการกำหนดเส้นทาง Kinematic (KRA) อัลกอริทึมการติดตามการไหลแบบสามมิติ การไหลจะมีลักษณะเหมือนลูกบอลกลิ้งลงไปที่ DEM โดยไม่ จำกัด ตำแหน่งไว้ที่กึ่งกลางของเซลล์ (ทุ่งหญ้า 1992)
  • เครือข่ายแบบจำลองความสูงดิจิตอล (DEMON): เครือข่ายที่ซับซ้อนที่สุด อัลกอริทึมการติดตามการไหลแบบสองมิติ ค่อนข้างเสียเวลา (Costa-Cabral และ Burgess 1994)

มีการเพิ่มแบบจำลองมากขึ้นเมื่อเร็ว ๆ นี้:

  • สามเหลี่ยมหลายทิศทางการไหล - Seibert, J. / McGlynn, B. (2007): 'อัลกอริธึมการไหลสามเหลี่ยมหลายทิศทางใหม่สำหรับการคำนวณพื้นที่ upslope จากแบบจำลองระดับความสูงดิจิตอลแบบ gridded', การวิจัยทรัพยากรน้ำ 43, W04501 สิ่งนี้อาจน่าสนใจสำหรับคุณเพราะมันอาจทำงานได้โดยตรงบน TIN
  • วิธี Mass-Flux (MFM) สำหรับการคำนวณตาม DEM ของการสะสมการไหลตามที่เสนอโดย Gruber และ Peckham (2008) Gruber, S. , Peckham, S. (2008): พารามิเตอร์พื้นผิวและวัตถุในอุทกวิทยา ใน: Hengl, T. และ Reuter, HI [Eds.]: Geomorphometry: แนวคิด, ซอฟต์แวร์, แอปพลิเคชัน การพัฒนาทางวิทยาศาสตร์ของดินเอลส์เวียร์ Bd.33, S.293-308
  • อัลกอริทึมด้านข้าง: http://watershed.montana.edu/Hydrology/Home_files/2010WR009296.pdfและรหัสของเขาอยู่ในเว็บไซต์ของเขาเช่นกัน: http://thomasgrabs.com/side-algorithm/

5

แนวทางดั้งเดิมคือแนวทางที่เสนอในบทความนี้ :

ฟิชเชอร์, P. , J. Wood, และ T. Cheng (2004) Helvellyn อยู่ที่ไหน ความคลุมเครือของสัณฐานภูมิหลายแนว ธุรกรรมของสถาบันนักภูมิศาสตร์อังกฤษ 29, 106-128

มันเสนอวิธีการที่ขึ้นอยู่กับการเป็นตัวแทนเลือนและหลายขนาด ผมไม่แน่ใจ แต่วิธีนี้อาจจะมีคนที่ดำเนินการในLandSerf

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


ลิงค์กระดาษด้านบนไม่สามารถเข้าถึงได้อีกต่อไป
Graviton

@ Graviton: ลิงก์ได้รับการแก้ไขแล้ว!
Julien

4

หากคุณมีสิทธิ์เข้าใช้ Spatial Analyst ใน ArcGIS คุณจะมีชุดเครื่องมือในการคำนวณเส้นทางการไหล เวิร์กโฟลว์เต็มให้ไว้ในการอ้างอิง ESRI แต่ขั้นตอนการทำงานโดยทั่วไปรวมถึง:

  1. แปลง TIN ของคุณเป็นแรสเตอร์ระดับความสูง
  2. คำนวณทิศทางการไหล
  3. เติมอ่างล้างมือขนาดเล็ก
  4. คำนวณการไหลของสะสม
  5. ใช้เกณฑ์เลือกเฉพาะเซลล์ที่มีปริมาณการไหลที่กำหนด
  6. ใช้เครื่องมือสตรีมไปยังคุณสมบัติเพื่อส่งออกสตรีมไปยังไฟล์รูปร่างเวกเตอร์

แน่นอนว่ามีบทความทางวิชาการมากมายที่อธิบายวิธีการต่าง ๆ แต่วิธีนี้ง่ายสำหรับทุกคนที่เข้าถึง Spatial Analyst


ฉันจะต้องเขียนโค้ดตั้งแต่เริ่มต้นดังนั้นฉันจึงไม่สามารถใช้แพคเกจซอฟต์แวร์นี้ได้
Graviton

นี่น่าจะเป็นขั้นตอนที่ใช้โดยแพ็คเกจ GIS ส่วนใหญ่ TerraFlowเป็นตัวเลือกโอเพนซอร์ส แต่ฉันไม่เคยใช้เลย คุณวางแผนจะใช้ TIN เพื่อจัดการ TIN อย่างไร
แพทริค

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

2
ถูก เมื่อคุณพูดว่า "ฉันไม่ค่อยเข้าใจวิธีดำเนินการนี้" ฉันคิดว่าคุณต้องการคำแนะนำที่เป็นประโยชน์เกี่ยวกับวิธีการทำสิ่งนี้ สันนิษฐานว่าเวิร์กโฟลว์ที่ใช้โดยชุดซอฟต์แวร์เหล่านี้สามารถให้คำแนะนำเกี่ยวกับโครงสร้างโดยรวมของอัลกอริทึมของคุณ จากนั้นฉันขอแนะนำให้คุณอ่านวรรณคดีเชิงวิชาการเกี่ยวกับข้อมูลเฉพาะ ตัวอย่างเช่นTarboton, 1997ถูกอ้างอิงหลายครั้งในการค้นหาอัลกอริธึมทิศทางการไหล
Patrick

3

ในแบบจำลองการยกระดับแบบดิจิตอลที่ใช้ระบบกริดการกำหนดความน่าเชื่อถือของเส้นความลาดชันนั้นได้รับการจัดหาโดยวิธี D8-LTD

Orlandini, S. , และ G. Moretti (2009), การกำหนดเส้นทางการไหลของพื้นผิวจากข้อมูลระดับความสูง gridded, Water Resour ความละเอียด, 45 (3), W03417, ดอย: 10.1029 / 2008WR007099

Orlandini, S. , G. Moretti, M. Franchini, B. Aldighieri, และ B. Testa (2003), วิธีการแบบอิงเส้นทางสำหรับการกำหนดทิศทางการระบายน้ำแบบไม่ต่อเนื่องในแบบจำลองระดับความสูงแบบดิจิตอลที่ใช้กริด, Water Resour ความละเอียด, 39 (6), 1144, ดอย: 10.1029 / 2002WR001639

ในแบบจำลองการยกระดับแบบดิจิตอลที่อิงกับรูปร่างเส้นของความลาดชันสามารถกำหนดได้โดยอัตโนมัติโดยการแก้โครงสร้างภูมิประเทศที่ซับซ้อนโดยใช้แบบจำลอง (ซับซ้อน) ที่อธิบายไว้ในกระดาษต่อไปนี้:

Moretti, G. , และ S. Orlandini (2008), การวิเคราะห์การระบายน้ำอัตโนมัติจากข้อมูลการยกระดับรูปร่างโดยใช้เทคนิคการสร้างโครงกระดูก, Water Resour ความละเอียด, 44 (5), W05403, ดอย: 10.1029 / 2007WR006309


1

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

AutoCAD (Civil 3D) สามารถทำได้โดยใช้ TIN ฉันไม่รู้ว่าเกิดอะไรขึ้นเบื้องหลัง แต่ใน ArcGIS การระบุเครือข่ายสตรีมนั้นได้รับการจัดการผ่านการวิเคราะห์เชิงภาพ

สรุปโดยใช้อินพุต DEM แรสเตอร์ (ซึ่งแต่ละเซลล์มีค่า X, Y, Z) ถูกใช้เป็นอินพุตและอัลกอริทึมคำนวณการอ้างอิง "การไหลสะสม (ตามน้ำหนักสะสม) ของเซลล์ทั้งหมดที่ไหลเข้าสู่เซลล์ downslope แต่ละเซลล์ในอินพุตแรสเตอร์ " ผลิตภัณฑ์เป็นแรสเตอร์ที่แต่ละเซลล์มีค่าการไหลเวียนสะสม ในการระบุเครือข่ายสตรีมคุณต้องแยกเซลล์ของโฟลว์สูงซึ่งเป็นส่วนของ "การไหลที่เข้มข้น" มีข้อควรพิจารณาอื่น ๆ เช่นตัวเลือกน้ำหนักตัวเลือก DEM ที่ถูกต้องทางด้านอุทกวิทยาเป็นต้น

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


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