อัลกอริทึมจุดตัวอย่างโปรไฟล์ระดับความสูง


10

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

คำตอบ:


6

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


7

รายละเอียดระดับสูงคำนวณจุดตัดของสองพื้นผิว หนึ่งในนั้นคือแผ่นแนวตั้งที่กำหนดโดยเส้นทาง (นั่นคือมันประกอบด้วยพิกัดทั้งหมด (x, y, z) โดยที่ (x, y) อยู่บนเส้นทางและ z คือหมายเลขใด ๆ ) อีกอันหนึ่งคือพื้นผิวที่แสดงโดย raster DEM เช่นนี้จะเป็นการหาค่า z ที่อยู่เหนือจุดบนเส้นโค้ง สิ่งนี้ทำให้เหมือนปัญหาการแทรกค่าจากแรสเตอร์ โดยเฉพาะอย่างยิ่งแม้ว่ามันจะแบ่งปันลักษณะหลายอย่างของปัญหาหนึ่งมิติที่ง่ายกว่าของการปรับเส้นโค้งให้เหมาะสมกับ (ระยะทางระดับความสูง) ข้อมูล แต่มันก็ไม่ได้เป็นเช่นนั้นสถานการณ์เดียวกัน การดูแบบนี้มีแนวโน้มที่จะสร้างโปรไฟล์การยกระดับที่เหมาะสมที่สุดเนื่องจากคุณจะไม่ได้รับประโยชน์จากข้อมูลในขอบเขต 2D แบบเต็มของข้อมูลแรสเตอร์ทั้งสองด้านของเส้นโค้ง

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

  • การแก้ไขที่ใกล้ที่สุดเพื่อนบ้าน

  • bilinear แก้ไข

  • การบิดแบบลูกบาศก์ (ซึ่งสามารถปรับได้ด้วยพารามิเตอร์เดียว)

  • kriging

  • รูปแบบต่างๆของเส้นโค้ง 2D

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

เราสามารถนึกถึงพิกเซลในการกำหนดตัวอย่างตำแหน่งของระนาบปกติสำหรับการแก้ไข การสร้างโปรไฟล์การยกระดับนั้นเกี่ยวข้องกับการพิจารณาที่คล้ายกัน: จะหาตำแหน่ง "พิกเซล" ตามเส้นทางได้ที่ไหน คำตอบนั้นได้รับการพัฒนาในลักษณะเดียวกับที่เราจะตอบคำถามที่เกี่ยวข้องสำหรับการทำแผนที่: คุณต้องการขนาดเท่าไร? ในระดับขนาดใหญ่ (ซูมเข้า) คุณต้องมีการสุ่มตัวอย่างอย่างใกล้ชิดมากขึ้น ในระดับขนาดเล็กคุณสามารถสุ่มตัวอย่างด้วยระยะห่างที่มากขึ้น หากคุณฉลาดคุณสามารถใช้วิธีการปรับตัวหรือแบบเรียกซ้ำเพื่อโฟกัสการสุ่มตัวอย่างว่าค่า z ใดเปลี่ยนแปลงอย่างรวดเร็วที่สุดมีความโค้งมากที่สุดหรือได้รับค่ามาก หากคุณไม่ฉลาดหรือไม่ต้องการตัวแทนที่ดีที่สุดคุณสามารถสร้างชุดของค่าที่เว้นระยะเท่ากันตามเส้นทางในระยะทาง d (0) <d (1) <... <d (n) ตามเส้นทางและจากค่าแรสเตอร์ใกล้เคียงให้ทำการแก้ไขระดับความสูงที่สอดคล้องกัน z (0), z (1), ... , z (n) จากนั้นคุณจะพล็อตคู่ (d (0), z (0)), ... , (d (n), z (n) และยุติธรรมในรูปของเส้นโค้งรอบ ๆ พวกเขา - โดยทั่วไปแล้วจะเป็นเส้นโค้ง - สมมติว่ารูปแบบ z (i + 1) - z (i) มีขนาดเล็กพอที่เส้นโค้งจะพอดีไม่สำคัญ (วิธีการปรับตัวตรวจสอบความแปรปรวนเหล่านี้และรับค่าการแก้ไขเพิ่มเติมที่ระยะทางกลางซึ่งปรากฏว่ามีการเปลี่ยนแปลงขนาดใหญ่)

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

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


ขอบคุณมาก ต้องแก้ไขระยะห่างหรือไม่?
Matthew Snape

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

แต่ในบางจุดบรรทัดโปรไฟล์จะผ่านหลายเซลล์ภายในระยะทางสั้น ๆ ที่คนอื่น ๆ บรรทัดโปรไฟล์จะผ่านน้อยกว่า (หากเดินทางกับแกน) แน่นอนช่วงเวลาคงที่จะไม่บัญชีนี้
Matthew Snape

@ แมทประเด็นคือการส่งผ่านเฉพาะเซลล์นั้นไม่เกี่ยวข้องกัน ขั้นตอนการแก้ไขเชิงพื้นที่ใด ๆ สามารถจัดหาการประมาณระดับความสูงที่จุดจำนวนมากบนเส้นทาง สิ่งนี้จะช่วยลดปัญหาของคุณได้ในมิติเดียว: ผู้แก้ไขให้ระดับความสูงเป็นฟังก์ชันของระยะทาง (คุณสามารถสร้างกราฟในพิกัดคาร์ทีเซียน) และปัญหาคือหนึ่งในการสุ่มตัวอย่างกราฟนั้น กล่าวอีกนัยหนึ่งเมื่อคุณเลือกผู้แก้ไขคุณก็สามารถถาม "ฉันมีฟังก์ชั่น y = f (x) ฉันจะทำกราฟให้ดีที่สุดได้อย่างไร" คำแนะนำของฉันคือ (a) เลือก interpolator ที่ดีและ (b) กราฟได้ดี!
whuber
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.