ค้นหา OSM สำหรับชายหาดทั้งหมดที่หันหน้าไปทางทิศตะวันตกใช่ไหม - ต้องการ QGIS


17

ฉันต้องการระบุชายหาดทั้งหมดบนโลกนี้ (หรือเซตย่อยของมัน) ที่หันหน้าไปทางทิศตะวันตก (+/- 20-30 องศา)

ความคิดของฉันคือการใช้ OSM เป็นแหล่งข้อมูล การแยกรูปหลายเหลี่ยมทั้งหมดที่มีแท็ก "natural = beach" ให้ชุดข้อมูล / shapefile ของทุกพื้นที่ที่มีสถานะเป็นชายหาด จนถึงตอนนี้ดีมาก

ฉันรู้ว่าฉันสามารถใช้ข้อมูลชายฝั่ง (เช่นจาก OSM หรือ Natural Earth) เพื่อระบุใบหน้าของชายหาด

การบัฟเฟอร์รูปร่างชายหาดเพื่อแก้ไขความไม่ตรงกันเล็กน้อยและตัดสิ่งเหล่านี้กับแนวชายฝั่งควรให้ข้อมูลกับฉันว่าด้านใดของรูปร่างที่หันหน้าไปทางน้ำ การใช้ค่าสูงสุด / นาทีของจุดตัดกันทั้งหมดควรให้แนวคิดเกี่ยวกับการแบก (90 องศา +/- 20-30 องศาก็โอเค ... )

และนั่นคือสิ่งที่ฉันหลงทาง ...

เครื่องมือที่ฉันต้องการจะเป็น QGIS แต่ PostGIS ก็ใช้ได้เช่นกัน

มีใครบ้างไหมที่มีความคิดที่ฉลาดในการไขปริศนานี้?


4
แทนที่จะใช้บัฟเฟอร์ .. มันจะไม่ง่ายกว่าที่จะหาวิธีการแทนที่รายการทั้งหมดใน shapefile ของคุณเล็กน้อยไปทางทิศตะวันออกจากนั้นรันจุดตัดระหว่างรูปทรงชายฝั่งและรูปร่างชายหาด พวกเขาจะทับซ้อนกันเฉพาะที่ชายหาดหันหน้าไปทางทิศตะวันตก
Tim Couwelier

ทิม - ไอเดียดี ไม่แน่ใจว่าจะใช้งานได้จริงกับรูปทรง "แปลก" ฉันได้รับแนวคิดอื่น: ใช้แนวชายฝั่งเป็นเส้นและเซนทรอยด์ของรูปหลายเหลี่ยมชายหาดโดยใช้ v.net ในหญ้าถ่ายเซนทรอยด์ไปยังบรรทัดที่ใกล้ที่สุด ตอนนี้คุณมีเส้นที่แสดงทิศทาง คำนวณแบริ่งจากจุดเริ่มต้นของเซนทรอยด์ไปยังจุดสิ้นสุดของบรรทัดโดยใช้ตรีโกณมิติ แม้ว่าจะดี แต่ก็ไม่เต็ม "ภายใน" QGIS มีแนวคิดที่ฉลาดกว่านี้ไหม?
jdoe

หากคุณสามารถหาวิธีเปลี่ยนแนวชายฝั่งเป็นชุดข้อมูลจุดและ centroids ชายหาดได้คุณสามารถลองวิเคราะห์เพื่อนบ้านที่ใกล้ที่สุดตามที่อธิบายไว้ที่นี่: ลิงค์แทนที่จะเข้าร่วมคุณลักษณะดังที่แสดงในตัวอย่างให้แน่ใจว่ามี x, ค่า y สำหรับชุดข้อมูลสองชุดที่ตรงกัน การใช้เครื่องคำนวณฟิลด์คุณสามารถค้นหาความแตกต่างสัมพัทธ์ระหว่างค่า x และ y สำหรับเซนทรอยด์และจุดที่ใกล้เคียงที่สุด ขึ้นอยู่กับสัญลักษณ์ของความแตกต่าง x คุณรู้ว่ามันเป็นทิศตะวันตกหรือทิศตะวันออกและขึ้นอยู่กับอัตราส่วนของ diff (y) / diff (x) เป็นแบบตะวันตก
Tim Couwelier

ให้ฉันหมด charachters ที่นี่ไป: ถ้า centroids ค่า x> จุดชายฝั่งค่า x ชายหาดหันหน้าไปทางทิศตะวันตก พิกัด x และ y ของทั้งสองจะช่วยให้คุณคำนวณมุมไปทางแกน y: (y2-y1) / (x2-x1) ให้ความชอบของเส้นตรงซึ่งคุณสามารถแปลงกลับเป็นองศาได้
Tim Couwelier

5
คุณสามารถ rasterize ข้อมูลของคุณตั้งค่า open water ให้เป็นศูนย์และชายหาดที่ 1 แล้วเรียกใช้ Terrain Analysis-> เครื่องมือ Aspect คุณจะได้รับแรสเตอร์ของทิศทางของความชันลงและสามารถเลือกเซลล์ที่มี "ทิศตะวันตก" เพียงพอ
WxMacMan

คำตอบ:


1

บริการยกระดับบน ArcGIS Online รวมถึงพร้อมใช้งานข้อมูลทั่วโลกและฟังก์ชั่นแรสเตอร์ในตัวเพื่อสร้างมุมมอง นอกจากนี้ยังค่อนข้างง่ายในการกรองพร้อมกันสำหรับค่าช่วงกว้าง (290-250 องศา) รวมถึงระดับความสูง (เช่น 0 ถึง 10 เมตรขึ้นอยู่กับวิธีที่คุณกำหนดชายหาด - หรือบางทีคุณมีชายหาดที่กำหนดไว้แล้ว?) ฉันไม่รู้ว่าคุณเปิดรับโดยใช้เทคโนโลยี ArcGIS หรือไม่ถ้าใช่ฉันสามารถส่งคำขอ REST ตัวอย่างให้คุณได้

png ที่แนบมานั้นไม่ได้ถูกกรองเพื่อยกระดับ แต่แสดงแนวคิด ...ป้อนคำอธิบายรูปภาพที่นี่

โคดี้บี

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