วิธีดูว่ามีการเปลี่ยนแปลงบรรทัดใดใน Shapefile ที่อัปเดตแล้ว


15

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

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

นี่เป็นวิธีที่ดีหรือไม่? มีวิธีที่ง่ายกว่า?


3
ดูเหมือนว่าคุณกำลังมองหา QGIS เทียบเท่ากับ ArcGIS Feature Compare
PolyGeo

+1 - คำถามที่น่าสนใจจริงๆ ฉันได้ดูการเปรียบเทียบรูปร่างไฟล์ใน QGIS โดยเลือกในตารางคุณลักษณะคัดลอก (ctrl-C / cmd-C) และวางในโปรแกรมแก้ไขข้อความเพื่อเปรียบเทียบข้อความ WKT โดยตรง แต่นี่ไม่ได้แบ่งกลุ่มตาม ส่วนและน่าเบื่ออย่างเห็นได้ชัด สนใจมากที่จะเห็นทางออกที่ดีออกมาจากคำถามนี้ สำหรับข้อมูล OSM คุณสามารถดาวน์โหลดประวัติการเข้าชมสำหรับคุณสมบัติแต่ละอย่างได้เช่นกัน แต่ก็ดีที่มีวิธีแก้ปัญหาทั่วไป
Simbamangu

คำตอบ:


8

สิ่งที่คุณต้องทำคือการวิเคราะห์ทางโลก อย่างที่คุณบอกว่าคุณมีข้อมูลเวกเตอร์สองตัว (shp) ในช่วงเวลาที่ต่างกัน คุณสามารถค้นหาการเปลี่ยนแปลงโดยใช้การประมวลผลทางเรขาคณิต ใน QGIS โหลดเวกเตอร์สองตัวและ GoTo Vector-> GeoProcessingและจากตรงนั้นคุณสามารถใช้ฟังก์ชั่นความแตกต่างซึ่งจะให้รูปร่างที่แตกต่างออกไป

หวังว่าจะช่วย


+1 - ใช้งานได้ดีกับชุดข้อมูล OSM สองชุดต่อเดือนส่งผลให้ชั้นที่เก็บรักษาคุณลักษณะของวัตถุที่เปลี่ยนแปลง
Simbamangu

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