บัฟเฟอร์ในหน่วยเมตร / กม. ​​โดยใช้ชั้น 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.