สัดส่วนและปัจจัย Z ไม่มีผลต่อการวิเคราะห์ของ Hillshade ใน QGIS


10

ฉันใช้ SRTM DEM เพื่อสร้างเนินเขาใน QGIS 2.2.0 อย่างไรก็ตามเนินเขาที่เกิดขึ้นดูเหมือนจะเกินจริงในแนวตั้ง นอกจากนี้การเปลี่ยนการตั้งค่าสเกลและแฟคเตอร์ z จะไม่มีผลใด ๆ กับผลลัพธ์ของเนินเขา ฉันได้ลองทั้งสองตัวเลือกใน QGIS, การวิเคราะห์ -> DEM (โมเดลภูมิประเทศ) และการวิเคราะห์ภูมิประเทศ -> Hillshade ทั้งสองวิธีให้ผลลัพธ์เหมือนกัน

นี่เป็นเหตุการณ์ที่เกิดขึ้นเดี่ยว ๆ หรือเป็นข้อผิดพลาดหรือฉันขาดอะไรไปหรือเปล่า


4
เมื่อคุณใช้ DEM พร้อมพิกัด Latlon ในหน่วยองศาทศนิยมและหน่วยแนวตั้งเป็นเมตรคุณต้องตั้งค่ามาตราส่วน (อัตราส่วนของหน่วยแนวตั้งเป็นหน่วยแนวนอน) เป็น 111120 ฉันลองใช้ DEM สองสามตัวจาก Aster ฉันไม่มีปัญหา การตั้งค่านี้ไม่เพียง แต่เหมาะสำหรับการคำนวณบนเนินเขาเท่านั้น แต่ยังสำหรับการคำนวณความชัน หวังว่าจะช่วยให้
Gerardo Jimenez

@ GerardoJimenez ฉันได้ลองแล้วมันใช้งานได้ ขอบคุณ
PyMapr

@ GerardoJimenez, Thanderbolt คุณควรส่งและตอบคำถามนี้และ Thunderbolt ควรตอบคำถามเพื่อลบคำถามนี้ออกจากคำตอบที่ยังไม่ได้ตอบ
SS_Rebelious

คำตอบ:


12

@ คำตอบของ Gerardo นั้นถูกต้องที่เส้นศูนย์สูตรเท่านั้น doc gdaldemบันทึกค่าเหล่านั้นขนาดมีการ"ประมาณการ LatLong ใกล้เส้นศูนย์สูตร"

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

s=111320*cos(latitude*pi/180)
z=1/(111320*cos(latitude*pi/180))

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

คุณสามารถคำนวณตัวคูณสเกล / z ได้อย่างรวดเร็วใน Excel / Libre Office Calc ด้วยสูตรต่อไปนี้:

For -s scale parameter
=111320*COS(latitude*PI()/180)
or
=111320*COS(RADIANS(latitude))

For -z z factor parameter
=1/(111320*COS(latitude*PI()/180)
or
=1/(111320*COS(RADIANS(latitude))

คุณสามารถใช้การค้นหาของ Google แบบง่าย ๆ ได้:

111320 * cos(latitude deg)
or
1/(111320 * cos(latitude deg))

เช่นมาตราส่วนและตัวประกอบ zสำหรับ Latitude = 38.5S

สำหรับ DEM ที่มีหน่วยแนวตั้งเป็นฟุตให้แปลงความยาวของหนึ่งองศาที่เส้นศูนย์สูตรเป็นเมตรเป็นฟุตเช่น 3.28 * 111320 = 365130 ดังนั้นสมการของคุณจะกลายเป็น:

s=365130*cos(latitude*pi/180)
z=1/(365130*cos(latitude*pi/180))

หรือคุณสามารถปฏิเสธ DEM ของคุณไปยังระบบที่ประสานงานที่คาดการณ์ไว้ (เช่น gdaldem docs ที่แนะนำ)


คำตอบนี้ช่วยฉันได้จริงๆในวันนี้ แต่ฉันสับสนเล็กน้อยเกี่ยวกับคำศัพท์ที่ใช้ใน QGIS เมื่อฉันไปที่ Raster - การวิเคราะห์ภูมิประเทศ - ความลาดชันฉันได้ฟิลด์ชื่อ "Z factor" แต่ที่นี่ฉันต้องป้อนค่าที่เรียกว่า "สเกล" ที่นี่และไม่ใช่ค่าอินเวอร์สซึ่งเรียกว่า "Z factor" ที่นี่ คุณไม่สามารถป้อนจำนวนที่น้อยมากที่ฉันได้รับเมื่อคำนวณค่าผกผันด้วยการคำนวณด้านบนและค่าเริ่มต้นแล้วบอกคุณว่ามันต้องมีจำนวนมาก แต่ก็ยังคงสับสนเล็กน้อยเพราะฉันคิดว่าคำว่า "สเกล" กับ "z factor" ไม่สามารถใช้คำเหมือนกันได้
Taya

@Taya ฉันไม่เห็นฟิลด์ "Z Factor" ในเครื่องมือ Raster-> Analysis-> DEM (โมเดลภูมิประเทศ) จากเมนูใน QGIS 2.14 ฉันเห็นฟิลด์สเกลเท่านั้น บางทีมันอาจเป็นข้อผิดพลาดใน QGIS รุ่นก่อนหน้า ... ? แก้ไข: อ่าคุณกำลังใช้ปลั๊กอินการวิเคราะห์ภูมิประเทศซึ่งต้องเป็นข้อบกพร่องในปลั๊กอิน
2856

ฉันขอแนะนำการเปลี่ยนแปลงสองสามคำตอบนี้: 1. สำหรับแอปพลิเคชั่นส่วนใหญ่คุณจะใช้ตัวคูณสเกลหรือตัวประกอบ z ไม่ใช่ทั้งคู่ (ดูเหมือนว่าจะเป็นตัวเลือกที่สมเหตุสมผลกว่าและทำงานได้ดีขึ้นใน QGIS) 2. ปัจจัยที่มีขนาดทิศตะวันตกเฉียงใต้อยู่เสมอแต่ปัจจัยระดับทิศตะวันออกทิศตะวันตกคือ111320 111320*cos(latitude*pi/180)ที่ละติจูดสูงความแตกต่างนี้จะสร้างปัญหาที่สำคัญและคุณอาจต้องใส่เข้าไปในระบบพิกัดมิเตอร์ (เช่น UTM) ก่อนการคำนวณ ที่ละติจูดต่ำคุณอาจลองแยกความแตกต่าง: s = 111320 * 0.5 * (1 + cos(latitude*pi/180)).
Matthias Fripp

4

เมื่อทำงานกับ DEMs ใน lat Lat พิกัดกับหน่วยของพวกเขาในองศาทศนิยมและหน่วยแนวตั้งในหน่วยเมตรคุณจะต้องตั้งค่า "สเกล (อัตราส่วนของหน่วยแนวตั้งกับหน่วยแนวนอน) ถึง 111120 ใน

http://www.gdal.org/gdaldem.html

พวกเขายังแนะนำว่าการตั้งค่านี้สำหรับ DEM ที่มีพิกัด lantlon และหน่วยแนวตั้งเป็นฟุตขนาดจะต้องตั้งค่าเป็น 370400

การตั้งค่านี้มีผลต่อการคำนวณความชันด้วยเช่นกัน

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