มีตัวเลือกใน QGIS เพื่อเติมช่องว่างในรูปหลายเหลี่ยมโดยอัตโนมัติโดยการตั้งค่าพารามิเตอร์เช่นพื้นที่สูงสุดระยะห่างระหว่างเส้นขอบหรือไม่ ฉันต้องการที่จะลบ / เติมหลุมที่ "ผอม" / เล็กมาก
มีตัวเลือกใน QGIS เพื่อเติมช่องว่างในรูปหลายเหลี่ยมโดยอัตโนมัติโดยการตั้งค่าพารามิเตอร์เช่นพื้นที่สูงสุดระยะห่างระหว่างเส้นขอบหรือไม่ ฉันต้องการที่จะลบ / เติมหลุมที่ "ผอม" / เล็กมาก
คำตอบ:
การใช้ QGIS 2.10.1-Pisa กับรุ่นการประมวลผล 2.10.2 มีเครื่องมือสองสามอย่างที่พร้อมใช้งานจากกล่องเครื่องมือการประมวลผล :
หวังว่านี่จะช่วยได้!
ฉันประสบปัญหาเดียวกับไฟล์รูปร่างนี้ของคุณโดยมีช่องว่างมากมายระหว่างรูปหลายเหลี่ยม
เพื่อแก้ปัญหาคุณสามารถใช้วิธีการแก้ไข tshiffle เล็กน้อย:
การกระทำนี้จะสร้างรูปร่างไฟล์ใหม่ที่ประกอบด้วยรูปหลายเหลี่ยมเพียงรูปเดียวดังนั้นคุณต้องขยายออกเป็นส่วนเดียว สำหรับสิ่งนั้นคุณสามารถใช้เครื่องมือ Vector / Geometry / Multipart กับเครื่องมือ singleparts
หลังจากนั้นลบเอนทิตีภายนอก ตอนนี้คุณมีรูปร่างหลายเหลี่ยมหลายรูปแบบซึ่งครอบคลุมช่องว่างของความครอบคลุมดั้งเดิมของคุณ
อาจมีคำตอบที่สง่างามกว่านี้ แต่มันก็ใช้ได้กับฉันเสมอ
1) สร้างรูปหลายเหลี่ยม "การเติมหลุม" เมื่อต้องการทำสิ่งนี้ให้ดึงรูปหลายเหลี่ยมยักษ์ที่มีขนาดใหญ่กว่าต้นฉบับและใช้เครื่องมือ "ความแตกต่าง" หากคุณวาดรูปหลายเหลี่ยมที่มีขนาดใหญ่กว่ามากคุณจะมีรูปหลายเหลี่ยม "การเติมหลุม" รวมกับรูปหลายเหลี่ยมที่มีขนาดใหญ่กว่าที่มีรูปร่างเหมือนเดิม ลบรูปหลายเหลี่ยมที่มีขนาดใหญ่โดยรักษารูปหลายเหลี่ยม "การเติมหลุม"
2) ผสาน "รูปหลายเหลี่ยม" เข้ากับรูปทรงไฟล์ต้นฉบับ หากคุณต้องการเติมช่องว่างที่ตรงกับเกณฑ์ที่กำหนด (เช่นใต้จำนวน X ของตารางกิโลเมตร) คุณสามารถกรองได้ที่นี่
3) ยุบรูปหลายเหลี่ยมที่รวมใหม่บนฟิลด์ทั่วไป
ใน python / shapely สิ่งนี้สามารถเติมรูปหลายเหลี่ยมของคุณ:
import shapely
from shapely.geometry import Polygon
filled_shape = Polygon(shape_with_holes.exterior)
ฉันเคยเห็นคำอธิบายบางอย่างตามเส้นทางเดียวกันกับ gtapko และ tshiffle แต่ไม่มีใครทำงานให้ฉันเพราะรูปทรงเรขาคณิตที่ไม่ถูกต้องทำให้เครื่องมือต่างกันไม่ทำงาน ดังนั้นฉันจึงคิดวิธีแก้ปัญหาของตัวเองซึ่งไม่อัตโนมัติ 100% แต่สามารถจัดการได้ อาจมีคนคิดอยู่แล้ว แต่ฉันจะใช้โอกาสของฉัน:
1) สร้าง ID บนเลเยอร์ต้นฉบับที่เสียหาย
การสร้างแอตทริบิวต์ ID นั้นง่าย แต่เป็นวิธีแก้ปัญหาของฉันดังนั้นฉันจะไปดู
ก่อนอื่นคุณต้องเปิดตารางคุณสมบัติแล้วไปที่Field Calculatorซึ่งเป็นปุ่มที่คล้ายกับลูกคิดมาก ที่นั่นคุณจะได้รับตัวเลือกในการสร้างฟิลด์ใหม่หรืออัปเดตฟิลด์ที่มีอยู่ ในภาพด้านบนฉันกำลังสร้างใหม่ที่เรียกว่า "ID" สูตรถูกต้องที่ส่วนท้ายของรูปภาพ (ขออภัยที่ติดตั้ง QGIS ของฉันในภาษาอื่นเนื่องจากการออกแบบและสูตรนั้นเหมือนกันตลอดทั้งเวอร์ชันภาษาฉันไม่คิดว่ามันจะเป็นแบบของเราที่นี่)
2) แปลงรูปหลายเหลี่ยมเป็นเส้น
ขั้นตอนนี้อยู่ที่ส่วนVector> Geometryในเมนู รูปร่างที่แปลงแล้วของคุณควรมีลักษณะเช่นนี้:
หลังจากแปลงรูปหลายเหลี่ยมเป็นเส้นแล้วคุณจะต้องทำตรงกันข้ามกันคือ ...
3) แปลงบรรทัดเป็นรูปหลายเหลี่ยม
ตัวเลือกอยู่ติดกัน อีกครั้งเราไม่รังเกียจอุปสรรคด้านภาษาที่นี่
4) ชื่นชมยินดี เหตุผลที่คุณทำตามขั้นตอนที่ 2 และ 3 เป็นเพราะตอนนี้คุณแน่ใจแล้วว่าบรรทัดเหล่านั้นจะถูกพิจารณาว่าเป็นรูปหลายเหลี่ยมซึ่งหมายความว่าตอนนี้พวกเขามีบรรทัดของตนเองบนตารางแอตทริบิวต์ หากคุณตรวจสอบมันจะมีลักษณะเช่นนี้:
คนแรกคือเสมอรูปหลายเหลี่ยมทั้งหมด (ความไว้วางใจผมได้ลบไม่กี่ร้อยสายวันนี้ ... ) และส่วนที่เหลือเป็นสายหลวมอยู่ตรงกลาง คุณสามารถเปิดใช้งานการแก้ไขและเตรียมพร้อมสำหรับการดำเนินการ หากคุณตัดสินใจที่จะลองสิ่งนี้สิ่งที่คุณควรคำนึงถึงคือจัดระเบียบตารางID ของคุณด้วยวิธีนี้คุณแน่ใจว่าคุณไม่พลาดอะไรเลยและใช้กะเพื่อเลือกกลุ่มข้อมูลเหมือนโปรแกรมอื่น ๆ .
ฉันรู้ว่านี่ไม่ใช่crème de la crèmeของการแก้ปัญหา QGIS แต่ถ้าคุณกำลังเผชิญกับสถานการณ์ที่เครื่องมือไม่ทำงานเนื่องจากรูปทรงเรขาคณิตที่ไม่ถูกต้องบรรทัดเหล่านี้สร้าง (ฉันพยายามละลายด้วย ID แต่ มันใช้งานไม่ได้) แล้วนี่อาจจะเป็นทางออก