กำลังเรียกดูไฟล์รูปหลายเหลี่ยมขณะที่ยังคงโทโพโลยีใน QGIS


35

ฉันมีรูปหลายเหลี่ยม Shapefile ซึ่งฉันจำเป็นต้องพูดคุย ฉันจะพูดคุย poligons และให้แน่ใจว่าไม่มีข้อผิดพลาดทอพอโลยีเช่น "slivers"

ฉันได้ลองแล้ว:

  1. เวกเตอร์ -> เครื่องมือเรขาคณิต -> รูปหลายเหลี่ยมกับเส้น
  2. เวกเตอร์ -> เครื่องมือรูปทรงเรขาคณิต -> รูปทรงเรขาคณิตที่ง่าย ... ที่นี่ฉันสามารถเห็นบนหน้าจอแล้วว่าฉันกำลังผลิตเหลื่อมกันและช่องว่างอย่างไรก็ตามตอนนี้ฉันลอง
  3. เวกเตอร์ -> เครื่องมือเรขาคณิต -> เส้นไปยัง polgones

และนี่โปรแกรมแสดงข้อผิดพลาดและล้มเหลว

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


มีข่าวใด ๆ เกี่ยวกับปัญหานี้หรือไม่?
สติน

น่าเสียดายที่: ไม่ใช่
Kurt

คำตอบ:


16

GRASS เป็นโครงสร้างที่รับรู้ คุณสามารถใช้v.generalizeจากกล่องเครื่องมือการประมวลผลเพื่อลดความซับซ้อนของรูปหลายเหลี่ยมและถ้าข้อมูลอินพุตถูกต้องทอพอโลยีผลลัพธ์จะออกมา

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


ใช้ windows-installer ฉันได้รับข้อผิดพลาด (ขาดการพึ่งพา) เมื่อฉันพยายามเรียกใช้ v.generalize จำเป็นต้องมีการกำหนดค่าพิเศษหรือไม่?
เคิร์ต

@Kurt: โปรแกรมติดตั้งแบบสแตนด์อโลนหรือไม่ ไม่แน่ใจว่าจะรวมรุ่น GRASS ใด ในการตั้งค่าการประมวลผลคุณสามารถระบุว่า GRASS 6.x หรือ 7.x และตำแหน่งที่ติดตั้งไว้ ลองปรับการกำหนดค่าเหล่านี้เป็นการตั้งค่าของคุณ
underdark

ใช่ฉันใช้ตัวติดตั้ง stanalone ทำตามคำแนะนำของคุณฉันปิดการใช้งาน grass 7 ผ่านตัวเลือกการประมวลผลและกำหนดค่าพา ธ ไปยัง qrass 6 อย่างถูกต้อง เส้นทางนี้ไม่ถูกต้องส่วนที่เหลือจาก qgis ที่เก่ากว่า ตอนนี้ฉันสามารถเรียกใช้ v.generalize ได้ แต่ในที่สุดฉันก็พบข้อผิดพลาดใหม่: ไม่สามารถเปิดเลเยอร์เอาท์พุทและในที่สุดก็มีข้อความแจ้งว่าหญ้าดูเหมือนว่าจะติดตั้งและกำหนดค่าอย่างถูกต้อง คุณจะกรุณาให้คำแนะนำหรือคำแนะนำกับฉันได้ไหม?
Kurt

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

7

นี่ถือเป็นคำตอบเบื้องต้นของ @ Underdark ซึ่งคุณสามารถทำความสะอาดทอพอโลยีของเลเยอร์เวกเตอร์ก่อนที่จะสรุป GRASS มีฟังก์ชั่นv.cleanซึ่งมีเครื่องมือจำนวนหนึ่งเพื่อซ่อมแซมเลเยอร์เช่น:

  • จัดเรียงบรรทัด 'snaps' ไปยังจุดสุดยอดที่ใกล้ที่สุด
  • rmdangleซึ่งจะกำจัด dangles ที่น่ารำคาญใด ๆ
  • rmduplซึ่งลบคุณลักษณะทางเรขาคณิตที่ซ้ำกัน

และอื่น ๆ อีกมากมายที่แสดงในภาพด้านล่าง:

v.clean

นอกจากนี้คุณยังสามารถกำหนดเกณฑ์ขึ้นอยู่กับว่าคุณต้องการให้เครื่องมือทำงานอย่างไร ส่วนตัวผมมักจะใช้ตรวจสอบความถูกเรขาคณิตคุณลักษณะใน QGIS ( เวกเตอร์ > เรขาคณิตเครื่องมือ > ตรวจสอบตั้งแต่วันที่เรขาคณิต ) เพื่อตรวจสอบข้อผิดพลาดใด ๆ และถ้ามีอยู่ใด ๆ ใช้เครื่องมือที่เหมาะสมในv.clean เมื่อข้อผิดพลาดจะถูกลบออกคุณควรจะอยู่ในตำแหน่งที่ดีกว่าที่จะพูดคุย

หวังว่านี่จะช่วยได้!


3
และถ้าการลดจุดยอดง่ายนั้นเพียงพอแล้ว v.generalize ก็ไม่จำเป็นเพราะเครื่องมือตัดนั้นสามารถทำได้
Gabor Farkas

ขอบคุณสำหรับคำตอบเบื้องต้นของ @ Underdark ซึ่งมีข้อมูลที่มีค่า แม้ว่าฉันจะไม่ได้พูดอย่างชัดเจน แต่แน่นอนว่าไฟล์รูปหลายเหลี่ยมที่ฉันต้องการทำให้เป็นรูปธรรมนั้นเป็นโทโพโลยีที่สะอาด [เพราะ; ขยะ - ขยะออก :-)]
Kurt

@Kurt ที่ทำให้รู้สึก :)
โจเซฟ

2

คุณลองใช้MapShaper แล้วหรือยัง ฉันพบว่านี่เป็นวิธีที่ดีในการสรุปรูปหลายเหลี่ยม นอกจากนี้ยังมีรุ่นออฟไลน์หากคุณต้องการดาวน์โหลดรหัส

ทางเลือกอื่นสามารถแปลงเป็น GeoJson และจากนั้น TopoJson ที่รองรับ "การทำให้รูปร่างง่ายขึ้นทำให้รูปร่างโทโพโลยี" https://github.com/mbostock/topojson


ลอง Mapshaper เป็นเครื่องมือที่ยอดเยี่ยมจริงๆ
Kurt

1
อีกหนึ่งความคิดเห็น: ตามชื่อเรื่องบอกว่า: ฉันกำลังมองหาวิธีแก้ปัญหาด้วย qgis Mapshaper imho มันไม่รักษาโทโพโลยี (พิสูจน์ด้วยตัวคุณเองโดยทำลักษณะทั่วไปที่แข็งแกร่ง! Topojson: นี่เป็นพวงของซอร์สโค้ดจาวาสคริปต์ซึ่งเป็นประโยชน์สำหรับโปรแกรมเมอร์เท่านั้น
Kurt

อ๊ะพลาด QGIS เพียงด้านเดียว QGIS จัดการกับ geojson แม้ว่า; ฉันสงสัยว่ามันจะสมเหตุสมผลหรือไม่ที่จะทำงานในฟังก์ชันการทำให้เข้าใจง่ายของ topojson ให้เป็นปลั๊กอิน QGIS เพื่อให้ผู้ที่ไม่ใช่โปรแกรมเมอร์สามารถเข้าถึงได้
djq

ฉันยังคงบรรทัดนอกหัวข้อ: OpenJUMP มีเครื่องมือ "Simplify Polygon Coverage" เพื่อจุดประสงค์นี้
user30184

0

ฉันเพิ่งทำการทดสอบอย่างรวดเร็วและเครื่องมือ "ลดความซับซ้อนของรูปทรงเรขาคณิตใต้เมนู Vector ดูเหมือนจะเคารพโทโพโลยีฉันลองด้วยและไม่มี" เปิดใช้งานการแก้ไขโทโพโลยี "ที่ถูกทำเครื่องหมายในตัวเลือก Snapping คุณลองทำไหม

แก้ไข: สิ่งนี้ทำโดยตรงกับไฟล์รูปหลายเหลี่ยม - ทำไมคุณต้องแปลงเป็นบรรทัดแรก?


สวัสดี Darren ขอขอบคุณสำหรับคำแนะนำที่ฉันจะลองด้วยการแก้ไขโทโพโลยี enablr
Kurt

1
สวัสดี Darren ฉันไม่เคารพโทโพโลยี ไม่มีความแตกต่างกับ "เปิดใช้งานการแก้ไขโทโพโลยี" ฉันคิดว่านี่เป็นเพราะ generalzing สร้างเลเยอร์ใหม่ในขณะที่ "เปิดใช้งานการแก้ไขโทโพโลยี" ดูเหมือนว่าจะใช้งานได้เฉพาะกับ - เลือก - เลเยอร์ที่มีอยู่ คุณช่วยกรุณาทำ gerneralization ที่แข็งแกร่งมากและตรวจสอบอีกครั้งถ้าคุณมีโทโพโลยีที่ถูกต้องตอนนี้ ขอบคุณ
Kurt

1
เคิร์ต; น่าสนใจ ดูเหมือนว่าคุณจะถูกเมื่อคุณทำลักษณะทั่วไปที่แข็งแกร่ง! ขออภัย!
Darren Cope

1
ช่องทำเครื่องหมายนี้หายไปใน QGIS 2.2 (อาจเร็วกว่านี้) ในกรณีที่ทุกคนจะค้นหา
lynxlynxlynx

0

มีการพูดคุยกันที่นี่คำตอบสุดท้ายของฉันคือ SAGA ทำงานให้คุณ


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