Estou usando os dados GIS do meu município para atualizar as estradas no OpenStreetMap. Tenho uma cópia que eles publicaram no ano passado e uma que acabou de ser publicada e gostaria de encontrar todas as LineStrings que tiveram seus atributos ou sua geometria alterada. Isso me ajudará a garantir que todas as ruas novas e modificadas sejam atualizadas no OpenStreetMap.
Eu gostaria de fazer isso usando o software FOSS, como QGIS ou Python / OGR. Os segmentos de rua devem ter um identificador único, então meu único pensamento é escrever um script Python que abra os Shapefiles, encontre quaisquer segmentos no novo que não estejam presentes nos antigos (segmentos adicionados) e o inverso (segmentos removidos) e, em seguida, faça um loop sobre pares correspondentes comparando suas coordenadas constituintes para ver se alguma coisa mudou.
Será esta uma boa abordagem? Existe uma maneira mais simples?
fonte
Respostas:
O que você precisa fazer é uma análise temporal. Como você disse, você tem dois dados vetoriais (shp) de tempos diferentes. você pode encontrar a alteração usando o processamento de geometria. No QGIS, carregue dois vetores e o GoTo Vector-> GeoProcessing e, a partir daí, você poderá usar a função Diferença, que fornecerá outra forma como resultado.
espero que ajude
fonte