Come vedere quali linee sono cambiate in un Shapefile aggiornato?


15

Sto usando i dati GIS della mia contea per aggiornare le strade in OpenStreetMap. Ne ho una copia pubblicata l'anno scorso e una appena pubblicata, e mi piacerebbe trovare tutte le LineString che hanno avuto i loro attributi o la loro geometria cambiata. Questo mi aiuterà ad assicurarmi che tutte le strade nuove e modificate siano aggiornate in OpenStreetMap.

Mi piacerebbe farlo usando il software FOSS, come QGIS o Python / OGR. I segmenti di strada dovrebbero avere un identificatore univoco, quindi il mio unico pensiero è quello di scrivere uno script Python che apra entrambi gli Shapefile, trovi tutti i segmenti nel nuovo che non sono presenti nel vecchio (segmenti aggiunti) e il contrario (segmenti rimossi) , quindi scorrere su coppie abbinate confrontando le loro coordinate costitutive per vedere se qualcosa è cambiato.

è un buon approccio? c'è un modo più facile?


3
Sembra che tu stia cercando un QGIS equivalente a ArcGIS Feature Compare
PolyGeo

+1 - domanda davvero interessante. Ho dato un'occhiata al confronto degli shapefile in QGIS selezionandoli nella tabella degli attributi, copiando (ctrl-C / cmd-C) e incollando in un editor di testo per confrontare direttamente il testo WKT, ma questo non lo fa segmentare per segmento ed è ovviamente noioso. Molto interessato a vedere una buona soluzione uscire da questa domanda. Per i dati OSM, puoi scaricare la cronologia anche per le singole funzionalità, ma sarebbe bello avere una soluzione generica .
Simbamangu,

Risposte:


8

La cosa che devi fare è un'analisi temporale. Come hai detto, hai due dati vettoriali (shp) di tempi diversi. puoi trovare la modifica usando l'elaborazione della geometria. In QGIS carica due vettori e GoTo Vector-> GeoProcessing e da lì puoi usare la funzione Differenza che darà come risultato un'altra forma.

Spero possa aiutare


+1: funziona bene per due set di dati OSM a distanza di un mese, creando un livello che conserva gli attributi degli oggetti modificati.
Simbamangu

1
ma questo funzionerebbe solo se la geometria fosse cambiata. che dire del cambio di attributo?
sweet.sugar.cola,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.