การอ้างอิงทางภูมิศาสตร์ DXF โดยใช้ QGIS? [ซ้ำ]


14

ฉันมีตัว dxf ซึ่งสร้างขึ้นด้วยยูนิตในระดับที่ไม่ถูกต้อง ฉันจะยกระดับใน QGIS ได้อย่างไร? โปรดทราบว่ามันเปิดใน QGIS ในหน่วยแผนที่และตำแหน่งที่ไม่ถูกต้อง


คำตอบของ nhopton ข้างต้นเกี่ยวกับการใช้ปลั๊กอิน qgsAffine ทำงานให้ฉันเฉพาะเมื่อสัปดาห์ที่แล้ว ฉันมี dxf ที่ปรับสเกล CRS 1,000 เท่าที่ฉันต้องการ ฉันแปลง dxf เป็น shp ด้วยปลั๊กอินมาตรฐานจากนั้นเปลี่ยน X และ Y โดยคูณด้วย. 001 ใน qgsAffine และปัญหาได้รับการแก้ไข PS ล่าช้าไปแล้วขอบคุณ nhopton สำหรับคำแนะนำซึ่งฉันไม่ได้ไปเพิ่มก่อนที่ฟอรัม QGIS จะปิดตัวลง!
blackthorn

ฉันมี DXF สองสามตัวที่ฉันต้องการเลียนแบบ ฉันใช้ OpenJump หนึ่งครั้งเพราะฉันไม่สามารถทำคณิตศาสตร์ให้กับปลั๊กอิน QGIS ได้ อย่างไรก็ตามในที่สุดฉันก็พบว่ามันง่ายกว่าที่จะบันทึกเลเยอร์ SHP ของฉันด้วยการฉายที่รู้จักกันในชื่อ DXF เปิดใน QCAD (ฟรี) นำเข้า DXF ที่ต้องการการเชื่อมโยง เมื่อทุกอย่างอยู่ในสถานที่ฉันจึงบันทึกเป็น DXF และนำเข้าสู่ QGIS อีกครั้งซึ่งการฉายนั้นถูกเก็บไว้และ DXF ของฉันก็ยังคงอยู่ในตำแหน่งและขนาดที่เหมาะสม ฉันสามารถบันทึก DXF เป็น SHP ได้
Melissa

คำตอบ:


12

คุณอ้างอิงตำแหน่งแรสเตอร์และเลียนแบบเวกเตอร์ :)

QGIS มีปลั๊กอิน affine (qgsAffine) ซึ่งคุณสามารถปรับขนาดเลเยอร์เวกเตอร์ คุณยังสามารถใช้การชดเชย x และ y กับจุดยอดทั้งหมดในเลเยอร์เวกเตอร์หากจำเป็น ฉันคิดว่าคุณอาจจะต้องแปลง DXF ของคุณเป็น shapefile เพื่อใช้งาน (คลิกขวาที่เลเยอร์ในแผงเลเยอร์และไปที่ 'บันทึกเป็น ... ') การนำการหมุนไปใช้กับเลเยอร์เวกเตอร์นั้นทำได้ยากขึ้นเล็กน้อย


1
นี่คือเคล็ดลับบางประการในการหมุนด้วย qgsAffine: gis.stackexchange.com/q/21696/1872
Mike T

ฮืมใช่ฉันได้ให้ความช่วยเหลือในหัวข้อนั้นซึ่งดูเหมือนจะไม่ได้รับความนิยมมากนัก แต่ในความสมดุลฉันยังคงชอบวิธีการ OpenJump มันจะคำนวณพารามิเตอร์การแปลงทั้งเจ็ดแล้วนำไปใช้กับเวกเตอร์ที่น่าสนใจ ฉันคิดว่าฉันเห็นข้อเสนอ QGIS GSoC สำหรับการทำสิ่งเดียวกันใน QGIS ซึ่งจะเป็นประโยชน์
nhopton

ใช่ฉันเห็นสิ่งที่คน OpenJump ใช้อยู่และมันก็สั่นไหวมาก !
Mike T

9

หนึ่ง - การโต้ตอบมากขึ้น - ตัวเลือกที่เป็นปลั๊กอินเวกเตอร์ประมาท มัน

ทำเพื่อเวกเตอร์สิ่งที่ georefencers ทำเพื่อแรสเตอร์ คุณสมบัตินี้เป็นที่รู้จักกันว่า "แผ่นยาง"

มีแม้กระทั่งวิดีโอที่แสดงวิธีการทำงาน: https://vimeo.com/96142479


3

ฉันเชื่อว่าสิ่งนี้สามารถทำได้ใน QGIS
อย่างไรก็ตามฉันใช้ซอฟต์แวร์ CAD กับซอฟต์แวร์ gis ของฉันและจะทำสิ่งต่อไปนี้
ทั้งสองวิธีคุณต้องการข้อมูลพื้นฐานเกี่ยวกับ dxf
1. คุณควรรู้หน่วยของ dxf
2. คุณควรมีชุดของคะแนนที่ทราบใน dxf (อย่างน้อยที่สุด 2 คะแนน)

1a หากระบบพิกัดเดิม (หรือไม่ใช่ระบบ) สามารถระบุตัวได้คุณควรเปลี่ยนให้เป็นระบบที่รู้จักกันดี
(ถ้ารูปวาดถูกวาดโดยไม่มีระบบ แต่ระบบพื้นฐาน 0,0 ถือว่าพื้นที่บางประเภทเท่ากัน) ทั้ง alambert หรือ albers (ขึ้นอยู่กับพื้นที่ครอบคลุม [ขนาด])
2a ตรวจสอบให้แน่ใจว่ารายการทั้งหมดในรูปวาดแสดงขึ้น (ไม่ปิดเลเยอร์)
3a เลือกคุณสมบัติทั้งหมด
4a ย้ายฟีเจอร์ทั้งหมดจากจุดที่รู้จักไปยังจุดที่รู้จัก
5a หลังจากกำหนดขนาดดั้งเดิมให้ปรับขนาดวัตถุที่เลือกทั้งหมดอย่างชัดเจน
6a หมุนวัตถุที่เลือกทั้งหมดสังเกตุ
บันทึกและ / หรือส่งออกวัตถุที่เลือกด้วย CRS ที่รู้จัก


2

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

มันทำโดยทำการแปลงขั้นพื้นฐานใน ogr2ogr และจัดหาจุดควบคุมในแท็ก -gcp http://www.gdal.org/ogr2ogr.html

สำหรับคำแนะนำโปรดดู: ข้อมูลเวกเตอร์การอ้างอิงทางภูมิศาสตร์โดยใช้ QGIS


2

ฉันใช้ OpenJump หนึ่งครั้งเพราะฉันไม่สามารถทำคณิตศาสตร์ให้กับปลั๊กอิน QGIS ได้ อย่างไรก็ตามในที่สุดฉันก็พบว่ามันง่ายกว่าที่จะบันทึกเลเยอร์ SHP ของฉันด้วยการฉายที่รู้จักกันในชื่อ DXF เปิดใน QCAD (ฟรี) นำเข้า DXF ที่ต้องการการเชื่อมโยง เมื่อทุกอย่างอยู่ในสถานที่ฉันก็บันทึกมันเป็น DXF และนำเข้าสู่ QGIS อีกครั้งซึ่งการฉายนั้นถูกเก็บไว้และ DXF ของฉันก็ยังคงอยู่ในตำแหน่งและขนาดที่เหมาะสม ฉันสามารถบันทึก DXF เป็น SHP ได้


2

Plugin AnotherDXF2Shapeมีโมดูลการอ้างอิงทางภูมิศาสตร์ : ป้อนคำอธิบายรูปภาพที่นี่

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

ด้วยการชดเชย X และ Y ทำให้สามารถทำการกระจัดของ DXF ได้ง่าย นี่เป็นประโยชน์ yB เมื่อพิกัดดั้งเดิมได้ถูกทำให้สั้นลงใน CAD / ระบบ

ไฟล์ World สำหรับชุดข้อมูล CAD

ไฟล์ world (.wld) เป็นไฟล์ข้อความที่มีจุดควบคุมที่อธิบายการแปลงพิกัด ไฟล์โลกสามารถใช้เพื่อขยายคุณสมบัติของแบบร่าง CAD เพื่อรวมข้อมูลการอ้างอิงทางภูมิศาสตร์ ข้อมูลจะถูกเก็บไว้เป็นค่าพิกัดที่กำหนดหนึ่งหรือสองเวกเตอร์แทนที่เรียกว่าลิงค์ ข้อมูลประกอบด้วยพิกัดสองหรือสี่คู่ที่จัดเป็นสองแถว แต่ละแถวจะกำหนดลิงก์การกระจัดโดยใช้ไวยากรณ์ต่อไปนี้: คู่แรกของพิกัดในแต่ละแถวสอดคล้องกับพิกัดต้นทางหรือที่เรียกว่าจากพิกัด ค่าเหล่านี้แสดงถึงตำแหน่ง x, y ของจุดควบคุมที่รู้จักในการเขียนแบบ CAD คู่ที่สองของพิกัดในแต่ละแถวสอดคล้องกับพิกัดปลายทางหรือที่เรียกว่าพิกัด ค่าเหล่านี้แสดงถึงตำแหน่งใหม่ในพื้นที่ทางภูมิศาสตร์ โดยทั่วไปแล้วจะเป็นจุดอ้างอิงในชั้นคุณลักษณะอื่น ที่มา: arcgis.com

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

การแปลงในจุดที่เหมือนกัน 1-4

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


1

ฉันคิดว่าวิธีที่เร็วที่สุดคือการปรับเปลี่ยนไฟล์ DXF ของคุณ (ปรับขนาดและตำแหน่งในพิกัดที่ถูกต้อง) โดยใช้ซอฟต์แวร์ CAD แล้วโหลดใน QGIS

แน่นอนคุณสามารถย้ายฟีเจอร์ของคุณใน QGIS แต่ไม่สามารถปรับขนาดได้ หวังว่านี่จะช่วยได้

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