วิธีการซ่อมแซมโทโพโลยีของ Shapefile หรือไม่


9

ฉันทำการวิเคราะห์รูปภาพโดยใช้วัตถุโดยใช้ ENVI EX และคุณลักษณะที่จัดประเภทแต่ละอย่างนั้นถูกส่งออกเป็นรูปร่างไฟล์ ผมโอนเชปไฟล์เหล่านั้นลงใน ArcMap 10 และพยายามที่จะตัดพวกเขาด้วย shapefiles อื่น ๆ ของพื้นที่เดียวกันกับที่ได้รับมาจากGeoBase

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

ทางออกใด ๆ ? ฉันจะแก้ไขโทโพโลยีและเรียกใช้จุดตัดได้อย่างไร

คำตอบ:


12

ฉันพบปัญหาที่คล้ายกันเช่นเดียวกับรูปหลายเหลี่ยม บางทีคุณอาจมีปัญหาที่คล้ายกัน

ข้อความแสดงข้อผิดพลาดโดย ESRI : "โทโพโลยีไม่ถูกต้อง (Incomplete Void Poly)"

ข้อผิดพลาดจริง : "เรขาคณิตไม่ถูกต้อง"

การแก้ไข : เรียกใช้ "ซ่อมแซมเรขาคณิต" (เปลี่ยนข้อมูลในสถานที่อย่างระมัดระวังไม่มีการยกเลิก)

สิ่งที่เกิดขึ้นคือข้อผิดพลาดที่รายงานไม่ได้ใช้คำศัพท์ ESRI ของโทโพโลยี / เรขาคณิตและสร้างความสับสนให้กับทุกคน ในกรณีของฉันในขณะที่ข้อผิดพลาดกำลังพูดถึงทอพอโลยีก็ไม่มีการกำหนดโทโพโลยี (โทโพโลยีเช่นเดียวกับในทอพอโลยี ESRI) แต่เมื่อฉันตรวจสอบรูปทรงเรขาคณิต (โดยใช้เครื่องมือ "ตรวจสอบรูปทรงเรขาคณิต") ฉันพบว่ารูปทรงเรขาคณิตของฉัน (เหมือนในรูปทรงเรขาคณิต ESRI) มีข้อผิดพลาด


4

ในกรณีที่ ArcMap ไม่ทำงานคุณอาจต้องการลองใช้เครื่องมือ GRASS ' v.clean คุณสามารถติดตั้ง GRASS ด้วย QGIS หลังจากติดตั้ง:

การล้างโทโพโลยีของไฟล์ SHAPE โดยใช้ GRASS Toolbox

  1. โหลดไฟล์ SHAPE ลงใน QGIS
  2. ใช้ GRASS mapset ที่มีอยู่ (หรือสร้างใหม่) ด้วยการตั้งค่าการฉายภาพที่ตรงกัน
  3. ตอนนี้คุณต้องถ่ายโอนไฟล์ SHAPE จาก QGIS ไปยัง GRASS โดยใช้ Toolbox -> การจัดการไฟล์ -> นำเข้าสู่ GRASS -> นำเวกเตอร์เข้าสู่ GRASS -> นำเวกเตอร์เข้าสู่ GRASS จากมุมมอง QGIS (v.in.ogr.qgis) อาจมีการรายงานปัญหาโทโพโลยีขึ้นอยู่กับคุณภาพของไฟล์ SHAPE ของคุณ
  4. ปัญหาด้านทอพอโลยีเหล่านี้เราสามารถแก้ไขได้ใน GRASS ผ่านทางกล่องเครื่องมือโดยใช้เครื่องมือโทโพโลยี: Vector -> พัฒนาแผนที่ -> ชุดเครื่องมือสำหรับทำความสะอาดโทโพโลยีของเวกเตอร์แผนที่ -> v.clean.break กำหนดขีด จำกัด ในหน่วยแผนที่ (เช่น 0.5 [m] หรือในทำนองเดียวกัน) วิเคราะห์รายงานที่พิมพ์อาจต้องปรับเกณฑ์หรือเครื่องมือทำความสะอาดโทโพโลยีอื่นที่จะใช้ คลิกจากนั้นดูเอาต์พุตเพื่อแสดงผลลัพธ์เป็นแผนที่
  5. ส่งออกแผนที่ที่ล้างแล้วไปเป็นรูปแบบ SHAPE: การจัดการไฟล์ -> ส่งออกจาก GRASS -> ส่งออกเวกเตอร์จาก GRASS -> v.out.ogr
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.