บัฟเฟอร์ในหน่วยเมตร / กม. ​​โดยใช้ชั้น WGS84 โดยใช้ QGIS


12

ฉันใช้ QGIS 1.7.4-Wroclaw และทำงานกับเลเยอร์ SHP ใน WGS84 ฉันต้องการบัฟเฟอร์จำนวนกิโลเมตรจากเลเยอร์นี้ด้วยเครื่องมือ ftools buffer

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

จำเป็นหรือไม่ที่ฉันจะต้องเปลี่ยนรูปร่างของไฟล์ให้เป็น CRS อื่นที่ใช้หน่วยวัดเป็นเกณฑ์?

ถ้าเป็นเช่นนั้นฉันจะเลือกได้อย่างไร


อะไรคือขอบเขตของไฟล์รูปร่างของคุณ? เราต้องการข้อมูลนี้เพื่อแนะนำ CRS
— nhopton

ใช่คุณจะต้องปฏิเสธการสร้าง Shapefile ก่อน (โดยใช้เครื่องมือ "Reproject layer" ของ fTools) การฉายภาพแบบใดที่ดีที่สุดขึ้นอยู่กับพื้นที่ของคุณ (ลองจิจูด / ละติจูด) และขนาดใหญ่
— Jake

ขอบคุณ @Jake และ @nhopton! ฉันกำลังบัฟเฟอร์จากหลายจุดในไต้หวันตอนเหนือ แต่บัฟเฟอร์จะอยู่ในช่วง 1,000-2,000 กม. (ครอบคลุมประมาณครึ่งหนึ่งของจีนและไต้หวัน)
— Evan

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

มันเป็นไฟล์ Natural Earth ที่ถูกครอบตัดจริงๆแล้วมันอยู่ใน WGS84
— Evan

คำตอบ:


12

สำหรับแอปพลิเคชั่นนี้ฉันจะใช้การฉายภาพระยะยาวแบบ Azimuthal ที่กึ่งกลางกึ่งกลางของจุดกำเนิดของคุณ การฉายภาพนี้มีคุณสมบัติที่ดีของทุกระยะรัศมีรอบจุดศูนย์กลางของการฉายภาพที่มีความแม่นยำ

การฉายภาพเฉพาะนั้นไม่ได้เป็นส่วนหนึ่งของการคาดการณ์มาตรฐาน QGIS คุณสามารถกำหนดค่าของคุณเองโดยใช้การตั้งค่า / กำหนดเอง CRS ด้วยสตริงคำสั่ง+proj=aeqd +lat_0=24.5 +lon_0=121.5แต่น่าเสียดายที่เครื่องมือการฉ้อโกงแบบกำหนดเองไม่สามารถใช้การคาดการณ์ที่กำหนดเองได้ แต่คุณสามารถแปลงชุดข้อมูลของคุณบนบรรทัดคำสั่งโดยใช้คำสั่ง

ogr2ogr points_reprojected.shp points.shp -t_srs "+proj=aeqd +lat_0=24.5 +lon_0=121.5"

จากนั้นคุณสามารถทำการบัฟเฟอร์ใน QGIS โดยใช้points_reprojected.shpshapefile

บัฟเฟอร์ 2,000km รอบจุดหนึ่งในภาคเหนือของไต้หวันดูเหมือนว่าเป็นวงกลมในการฉายภาพแบบออโธกราฟฟิคโดยมีจุดศูนย์กลางอยู่ที่:

... และแบนใน WGS84:


ขอขอบคุณ - ปฏิเสธการเข้าร่วม Azimuthal Equidistant จากนั้นการบัฟเฟอร์ทำงานได้อย่างสวยงาม! ในความเป็นจริงฉันใช้การคาดการณ์นั้นสำหรับการฉายภาพทันทีฉันไม่ได้ตระหนักว่ามันจะมีหน่วยที่ฉันต้องการ แต่ฉันไม่ต้องใช้บรรทัดคำสั่งในการปฏิเสธ: เลเยอร์> บันทึกเป็น ... ได้หลอกลวง (หลังจากกำหนด CRS ที่กำหนดเอง)
— Evan

@Evan: ดีใจที่ได้ยิน! หากคุณพิจารณาคำถามที่ตอบแล้วคุณสามารถทำเครื่องหมายเป็นเช่นนี้ได้โดยคลิกที่เครื่องหมายถูกถัดจากคำตอบ
— Jake

1

ครวญเพลงที่น่าสนใจ เป็นครั้งแรกที่ลองฉันคิดว่าฉันจะดูที่การสร้างบัฟเฟอร์ (ใหญ่) เป็น KML คุณสามารถทำได้ที่นี่:

http://www.thesamestory.com/kmlcircle/

คุณจะต้องป้อน lat / lon สำหรับจุดและระยะทางบัฟเฟอร์ สิ่งที่คุณได้รับคืนคือไฟล์ KML ที่มีวงกลม ดูสิ่งนี้ใน Google Earth และหากไม่เป็นไรโหลดลงใน QGIS

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


1
น่าเสียดายที่ QGIS Lisboa ไม่ชอบไฟล์ kml ที่สร้างขึ้น
— AndreJJ

QGIS ไม่ชอบชื่อไฟล์ ลองเปลี่ยนเป็น (พูด) "circle1.kml" แต่ฉันควรจะตรวจสอบ N.
— nhopton

ตกลงโหลดไฟล์ลงใน Google Earth แล้วบันทึกเป็น KML จากนั้นเปลี่ยนชื่อไฟล์จากชื่อเริ่มต้น ogr2ogr แปลงไฟล์เป็น SHP ด้วยเช่นกัน N.
— nhopton

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