¿Analizando las diferencias entre dos shapefiles para poner los resultados en un nuevo shapefile?

9

Tengo dos archivos de formas poligonales de la misma región de dos años diferentes (1985 y 1997) y necesito analizar las diferencias entre los dos archivos de formas que dan como resultado un tercer archivo de formas poligonales que muestra solo diferencias.

Los archivos de forma cubren un área del centro de la ciudad con edificios, parques, áreas selladas / no selladas y áreas de agua. Necesito averiguar, por ejemplo, si un edificio fue deconstruido o si un parque fue movido o cerrado o cosas similares. Cualquier diferencia entre las formas.

Necesito que la salida esté en un tercer archivo de formas nuevo. ¿Hay una manera automatizada de lograr esto?

Estoy trabajando con la geodatabase de archivos de propiedad en ArcGIS 10.1, por lo que preferiría soluciones en ArcGIS. Pero si hay una manera fácil de hacer esto en QGIS, también lo agradecería.

Pensé que podría ser posible trabajar con el análisis de topología en ArcGIS, pero no estoy seguro, por ejemplo, cómo comparar formas por atributos: cada forma tiene un campo "tipo" en la tabla de atributos y necesito comparar no solo las formas pero los tipos de los polígonos.

Nota: ¿ Encuentra diferencias entre los archivos de forma usando ArcGIS for Desktop? Suena similar, pero estoy buscando una salida en un formato de archivo de forma poligonal.

Este es un proceso de detección de cambios en los datos vectoriales (sin problema de detección remota). Hay algunos comentarios agradables en esta respuesta, pero no hay soluciones en absoluto.

Afr
fuente
1
Cuando dices diferencia, ¿te refieres a la diferencia en geometría, atributo o ambos? ¿Es este un proceso de detección de cambios?
Ryan Garnett
Sí, este es un proceso de detección de cambios. Primero necesito los cambios en la geometría, secundaria necesito cambios en los atributos. Pero la geometría es más importante ya que la salida debe visualizarse de alguna manera.
Afr

Respuestas:

2

Si bien creo que la Respuesta de Ryan es el curso de acción más razonable, podría usar la Herramienta de geoprocesamiento Intersect usando ambas clases de funciones como entrada.

El resultado que obtenga contendrá atributos de ambas entradas. Puede verificar las características que tienen valores diferentes en los dos campos 'tipo'.

Existen algunas limitaciones para este proceso:

  • En primer lugar, la herramienta Intersect como todas las herramientas overly solo puede operar en una cantidad limitada de vértices . Si tiene demasiados vértices en sus datos, tendría que agruparlos y ejecutar el proceso por etapas.

  • Encontrará muchos polígonos de astilla en la salida.

  • Esto requiere que sus clases de entidad cubran completamente su área de interés y que no haya brechas.

Devdatta Tengshe
fuente
Esto hace el trabajo, gracias! Es una solución bastante básica, pero es algo con lo que puedo trabajar.
Afr
6

Hay algunas formas de hacer esto. He completado esto en el pasado con excelentes resultados utilizando una combinación de atributos y procesamiento ráster. La premisa del proceso es asignar cada característica con un valor de n (1, 2, 4, 8, 16, 32, 64, etc.). La asignación de estos valores garantiza que cuando resta la capa uno (1985) de la capa 2 (1997) obtiene un valor único, que identifica a qué cambió. Por ejemplo, si 1 = edificios, 2 = parques, 4 = sellado / sin sellar y 8 = agua; restando los valores, no hay forma de obtener el mismo valor. Cuando agregue esta columna de valores, querrá convertir los polígonos en un ráster, utilizando ArcGIS o QGIS. Recomiendo que establezca el tamaño de píxel de la trama en un valor pequeño (es decir: si los datos se recopilaron de las imágenes de Quickbird, configúrelo en el tamaño de píxel de las imágenes de Quickbird). Usando la Calculadora Ráster (en ArcGIS o QGIS) reste Layer2 de Layer1. Esto dará como resultado Layer3, la capa cambiada. Puede convertir estos datos de nuevo a una capa de polígono para un análisis posterior de SIG. Si desea más información, o detalles, puedo compartir más con usted.

Ryan Garnett
fuente
Este es un enfoque muy agradable, pero no voy a convertir mis formas en datos ráster y viceversa, ya que perderé demasiada información. ¿Esto es posible de alguna manera solo con capas vectoriales?
Afr
Podría hacer algo similar con los vectores, pero no utiliza el enfoque de valor. Es posible que desee jugar con la herramienta de diferencia simétrica disponible en ArcGIS y QGIS. No conozco un enfoque basado en vectores que imite el enfoque que describí.
Ryan Garnett
su acercamiento me recuerda el uso de operaciones bit a bit como se describe aquí blog.millermedeiros.com/…
geogeek
¿ARCGIS 9.2 tiene una herramienta de diferencia simétrica? No puedo encontrarlo. ¿Qué versión de ARCGIS se puede usar para este análisis de diferencia simétrica?
Bandrush Barda
Creo que necesitas una licencia de ArcInfo. Si no tiene ese tipo de licencia, puede descargar ETGeoWizards. La diferencia simétrica es una herramienta disponible en la pestaña Geoprocesamiento. QGIS también tiene la diferencia simétrica en las herramientas vectoriales, que es gratuita.
Ryan Garnett
0

Para hacer la detección de cambios en ArcGIS, desde dos archivos de polígonos, use la operación de superposición (UNION). Eso le da la matriz de transición que muestra los detalles de los cambios (puede estar en la cobertura del suelo).

Ayele A.
fuente
Creo que esto es solo una variación de la respuesta aceptada pero con instrucciones menos detalladas. Además, si bien Union e Intersect son operaciones de superposición de polígonos, es Intersect que usaría en este caso para minimizar el tamaño de la salida y cualquier conjunto de datos intermedio.
PolyGeo