ArcGIS for Desktop

  • Documentación
  • Precios
  • Soporte

  • My Profile
  • Ayuda
  • Sign Out
ArcGIS for Desktop

ArcGIS Online

La plataforma de representación cartográfica para tu organización

ArcGIS for Desktop

Un completo SIG profesional

ArcGIS for Server

SIG en tu empresa

ArcGIS for Developers

Herramientas para crear aplicaciones basadas en la ubicación

ArcGIS Solutions

Plantillas de aplicaciones y mapas gratuitas para tu sector

ArcGIS Marketplace

Obtén aplicaciones y datos para tu organización.

  • Documentación
  • Precios
  • Soporte
Esri
  • Iniciar sesión
user
  • Mi perfil
  • Cerrar sesión

Ayuda

  • Inicio
  • Introducción
  • Mapa
  • Analizar
  • Administrar datos
  • Herramientas
  • Más...

Detectar cambios de entidades

  • Resumen
  • Ilustración
  • Uso
  • Sintaxis
  • Ejemplo de código
  • Entornos
  • Información sobre licencias

Resumen

Encuentra dónde coinciden espacialmente las entidades de línea de actualización con las entidades de línea de base y detecta los cambios espaciales, los cambios en atributos o ambas cosas, así como la inexistencia de cambios, y genera una clase de entidad de salida que contiene entidades de actualización coincidentes con información sobre los cambios, las entidades de actualización sin coincidencia y las entidades de base sin coincidencia.

Más información sobre el funcionamiento de las coincidencias de entidades

Ilustración

Detectar cambios de entidades

Uso

    Nota:

    Todas las entradas deben estar en el mismo sistema de coordenadas.

  • Un caso de uso típico de esta herramienta es usar un conjunto de entidades de línea, por ejemplo carreteras, y recibir actualizaciones periódicamente de socios en forma de conjuntos nuevos de entidades de carreteras. En este caso querrá saber cuáles de las entidades actualizadas son modificaciones de las entidades de base existentes o se trata de entidades nuevas que se deben agregar, y qué entidades de base son antiguas y se deben eliminar. Esta herramienta busca las entidades coincidentes entre los datasets de línea de base y de actualización, detecta cambios espaciales, cambios en atributos o ambas cosas, así como la ausencia de cambios, y crea una clase de entidad de salida que contiene información sobre los cambios en las entidades.

  • La clase de entidad de salida contiene todas las entidades de actualización que participan (coincidentes o no) y todas las entidades de base sin coincidencia. La información sobre los cambios detectados se escribe en los campos siguientes:

    • UPDATE_FID: Id. de entidad de la entidad de actualización. El valor es -1 para una entidad de base no coincidente.
    • BASE_FID: el Id. de entidad de la entidad de base. El valor es -1 para una entidad de actualización no coincidente.
    • CHANGE_TYPE: el tipo de cambio detectado, como se muestra a continuación.
      • S para espacial, indica una entidad de actualización coincidente con un cambio espacial.
      • A para atributo, indica una entidad de actualización coincidente con un cambio en atributos.
      • SA para espacial y atributo, indica una entidad de actualización coincidente con cambios espaciales y en atributos.
      • NC indica que no hay cambios; una entidad de actualización coincidente sin cambios.
      • N para nuevo; indica una entidad de actualización sin coincidencia nueva en los datos de base.
      • D para eliminación; indica una entidad de base sin coincidencia que tal vez deba eliminarse de los datos de base.

  • El proceso de coincidencia de entidades se hace primero a base de Distancia de búsqueda y Coincidencia de campos opcional. Es posible generar una tabla de coincidencias de salida para almacenar la información de coincidencias.

    El parámetro Distancia de búsqueda se utiliza para buscar candidatos que coinciden. Utilice una distancia que sea lo suficientemente grande para captar la mayoría de cambios entre las entidades correspondientes, pero no demasiado para generar el procesamiento innecesario de un exceso de candidatos y obtener potencialmente coincidencias erróneas.

    Una vez que se encuentran candidatos a coincidencias, se continúa con la evaluación mediante un conjunto de mediciones geométricas para determinar si son lo suficientemente parecidas para considerarse que coinciden espacialmente.

    Si especifica una o más parejas de campos para el parámetro Campos coincidentes, los candidatos coincidentes espacialmente se comprueban frente a estos valores de campo para ayudar a determinar la coincidencia correcta. Por ejemplo, supongamos que tanto las entidades base como las de actualización tienen un campo STREET_NAME que contiene nombres de calles. Si una entidad de actualización coincide espacialmente con dos entidades de base, pero solo un candidato de base tiene el mismo valor STREET_NAME que la entidad de actualización, se considera la mejora concordancia. La comparación de cadenas de texto no distingue mayúsculas de minúsculas, lo que significa que Calle Mayor se considera igual que calle mayor.

  • La Tabla de concordancia de salida es opcional. Esta tabla de concordancia proporciona exhaustiva información de coincidencia de entidades, incluidos los FID de origen y destino, los grupos coincidentes, las relaciones coincidentes y el nivel de confianza de la correspondencia derivada de las condiciones coincidentes de espacio y atributo. Esta información puede servir para comprender las situaciones coincidentes y facilitar la inspección posterior, la postedición y los análisis adicionales. Consulte Acerca de la geocodificación de entidades y la tabla de coincidencias para obtener información detallada.

    En la tabla de coincidencias de salida, los valores de los campos SRC_FID y TGT_FID representan ID de entidades de actualización e ID de entidades respectivamente.

  • El proceso de identificación de cambios se realiza después de la coincidencia de entidades. Las condiciones espaciales y de atributos de todas las entidades de actualización coincidentes se comparan con entidades de base correspondientes para determinar sus valores de CHANGE_TYPE.

    Se detecta un cambio espacial (tipo de cambio S) cuando se produce uno de los puntos siguientes o ambos:

    • Las entidades de actualización coincidentes difieren de sus entidades de base correspondientes en topología. Por ejemplo, una entidad de actualización coincide con dos entidades de base.
    • Una parte de una entidad de actualización o una entidad base queda fuera de Cambiar tolerancia.

      Cambiar tolerancia sirve como ancho de una zona de influencia alrededor de las entidades de actualización y las entidades base. Todas las entidades de actualización y las entidades base coincidentes se comprueban con relación a esta tolerancia. Si alguna parte de una entidad de actualización queda fuera de la zona alrededor de la entidad base coincidente o si alguna parte de una entidad base queda fuera de la zona alrededor de la entidad de actualización coincidente, se considera un cambio espacial. Cuando se especifica un valor mayor que 0, la salida contiene dos campos adicionales:

      • LEN_PCT: este campo almacena valores porcentuales, donde cada uno se calcula comparando la longitud de la parte de una entidad de actualización o una entidad base que queda fuera de la zona de tolerancia de cambios en toda su longitud. El valor 0 significa que la entidad de actualización o la entidad base está totalmente dentro de la zona de tolerancia de cambios. El valor 100 significa que toda la entidad de actualización o la entidad base está fuera.
      • LEN_ABS: este campo almacena valores de longitud en unidades de la entidad. Cada uno de ellos representa la longitud absoluta de la parte de una entidad de actualización o una entidad base que queda fuera de la zona de tolerancia de cambios.
      Los valores de LEN_PCT y LEN_ABS pueden ayudar a determinar si un cambio es significativo o no. Cuanto mayor es el valor, mayor es el cambio. Solo las entidades con cambios espaciales reciben estos valores; las demás obtienen -1.

    Un cambio en atributos (cambio de tipo A) se detecta en función de Comparar campos, si está especificado.

    Si se especifican uno o más pares de campos en el parámetro Comparar campos, las entidades coincidentes se comprueban teniendo en cuenta estos campos para determinar si hay un cambio en los atributos. La comparación de cadenas de texto no distingue mayúsculas de minúsculas, lo que significa que Calle Mayor se considera igual que calle mayor.

    Si se detectan cambios espaciales y en atributos en una entidad de actualización coincidente, se le asigna el tipo de cambio SA. Si no se detectan cambios espaciales ni en atributos en una entidad de actualización coincidente, se considera que no hay cambios y se le asigna el tipo de cambio NC.

  • La unión de las extensiones de entrada se utiliza como extensión de procesamiento. Los recuentos de las entidades de origen y destino que participan se notifican en los mensajes de procesamiento.

  • La precisión de la coincidencia de entidades depende mucho de la calidad de los datos, la complejidad y la similitud de las dos entradas.

    Como entrada durante el procesamiento previo, debe minimizar los errores de datos y seleccionar las entidades relevantes. En general, siempre es útil que dentro de un dataset de entrada, las entidades sean topológicamente correctas, tengan una geometría válida y sean de parte simple y no duplicadas; de lo contrario, pueden producirse errores inesperados.

  • Los cambios detectados se pueden revisar en la clase de entidad de salida. Puede encontrar que las diferencias espaciales entre las dos fuentes de datos son significativas y decidir que una de ellas se debe ajustar para que coincida mejor con la otra. También es posible que quiera transferir atributos entre entidades de actualización y entidades de base. Las herramientas de rubbersheeting y transferencia de atributos en el Conjunto de herramientas Combinación pueden ayudarle a realizar los cambios.

Sintaxis

DetectFeatureChanges_management (update_features, base_features, out_feature_class, search_distance, {match_fields}, {out_match_table}, {change_tolerance}, {compare_fields})
ParámetroExplicaciónTipo de datos
update_features

Entidades de línea para comparar con las entidades de base.

Feature Layer
base_features

Entidades de línea para comparar con las entidades de actualización para detectar cambios.

Feature Layer
out_feature_class

Clase de entidad de línea de salida con información de cambios. La salida contiene todas las entidades de actualización que participan (coincidentes o no) y todas las entidades de base sin coincidencia.

Feature Class
search_distance

Distancia utilizada para buscar candidatos que coinciden. Se debe especificar una distancia, que debe ser mayor que cero. Puede elegir la unidad que prefiera; el valor predeterminado es la unidad de la entidad.

Linear unit
match_fields
[[source_field, target_field],...]
(Opcional)

Lista de campos de entidades de actualización y de base. Si se especifican, cada pareja de campos se comprueba para candidatos coincidentes con el fin de ayudar a determinar la concordancia adecuada.

Value Table
out_match_table
(Opcional)

Tabla de salida que contiene información completa de coincidencia de entidades.

Table
change_tolerance
(Opcional)

Distancia que se utiliza para determinar si hay un cambio espacial. Todas las entidades de actualización y las entidades base coincidentes se comprueban con relación a esta tolerancia. Si alguna parte de una entidad de actualización o de una entidad base queda fuera de la zona alrededor de la entidad coincidente, se considera un cambio espacial. Una distancia puede ser igual o mayor que cero. El valor predeterminado es 0. Si se especifica un valor mayor que cero, la salida incluirá los campos LEN_PCT y LEN_ABS. Puede elegir la unidad que prefiera; el valor predeterminado es la unidad de la entidad.

Linear unit
compare_fields
[[source_field, target_field],...]
(Opcional)

Campos que sirven para determinar si hay un cambio en atributos entre entidades coincidentes de actualización y de base.

Value Table

Ejemplo de código

Ejemplo de DetectFeatureChanges 1 (ventana de Python)

La siguiente secuencia de comandos de la ventana de Python muestra cómo utilizar la función DetectFeatureChanges en el modo inmediato.

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.DetectFeatureChanges_edit("update_Roads.shp",
                                "base_Roads.shp", "output_changes.shp"
                                "25 Feet", #, #, "7.6 Meterd",
                                ["rdClass", "roadClass"])
Ejemplo 2 de DetectFeatureChanges (secuencia de comandos de Python independiente)

La siguiente secuencia de comandos independiente es un ejemplo de cómo aplicar la función DetectFeatureChanges en un entorno de secuencias de comandos.

# Name:        DetectFeatureChanges_example_script2.py
# Description: Perform change detection between newly received road data and
#              existing road data and find the number of new roads and the
#              total length of them.
# Author:      Esri
# -----------------------------------------------------------------------

# Import system modules
import arcpy
from arcpy import env

# Set environment settings
env.overwriteOutput = True
env.workspace = r"D:\conflationTools\ScriptExamples\data.gdb"

# Set local variables
updateFeatures = "updateRoads"
baseFeatures = "baseRoads"
dfcOutput = "dfc_out"

search_distance = "300 Feet"
match_fields = "RD_NAME FULLNAME"

statsTable = "new_roads_stats"

# Perform spatial change detection
arcpy.DetectFeatureChanges_management(updateFeatures, baseFeatures, dfcOutput, search_distance, match_fields)

# ====================================================================================
# Note 1:  The result of DetectFeatureChanges may contain errors; see tool reference.
#          Inspection and editing may be necessary to ensure correct CHANGE_TYPE N, which
#          represents un-matched update feautres, before further calculations.
#
#          One of the quick ways of checking whether the CHANGE_TYPE N features have
#          matching base features is to find their mid-points and use them to search for
#          features in base data, as processed below.
# ====================================================================================

# ======== Check update roads with CHANGE_TYPE N for potential match
# Make Feature Layer with selection of CHANGE_TYPE = 'N' (un-matched update features)
arcpy.MakeFeatureLayer_management(dfcOutput, "sel_N_layer", "CHANGE_TYPE = 'N'")

# Get mid-points of the selected features; the mid-points carry all the attributes.
arcpy.FeatureVerticesToPoints_management("sel_N_layer", "in_memory\midPts", "MID")

# Find nearest base features from the mid-points
arcpy.Near_analysis("in_memory\midPts", baseFeatures, "300 Feet")

# ====================================================================================
# Note 2:  At this point you can manually inspect the midPts by the NEAR_DIST values; 
#          the lower the values, the higher chance (not always) a match was missed in the 
#          dfc process. Delete features from midPts that have found matching base features 
#          before further process.
# ====================================================================================

# Transfer CHANGE_TYPE values from features of midPts to update features
arcpy.JoinField_management(updateFeatures, "OBJECTID", "in_memory\midPts", "UPDATE_FID", "CHANGE_TYPE")

# Get the count of new roads and the total length; the remaining roads have
# Null values for CHANGE_TYPE.
arcpy.Frequency_analysis(updateFeatures, statsTable, "CHANGE_TYPE", "Shape_Length")

Entornos

  • Espacio de trabajo actual
  • Espacio de trabajo temporal
  • Extensión

Información sobre licencias

  • ArcGIS for Desktop Basic: No
  • ArcGIS for Desktop Standard: No
  • ArcGIS for Desktop Advanced: Sí

Temas relacionados

  • Vista general del conjunto de herramientas Comparación de datos
  • Acerca de la geocodificación de entidades y la tabla de coincidencias
¿Algún comentario sobre este tema?

ArcGIS for Desktop

  • Inicio
  • Documentación
  • Precios
  • Soporte

Plataforma ArcGIS

  • ArcGIS Online
  • ArcGIS for Desktop
  • ArcGIS for Server
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Acerca de Esri

  • Quiénes somos
  • Empleo
  • Blog interno
  • Conferencia de usuarios
  • Cumbre de desarrolladores
Esri
© Copyright 2016 Environmental Systems Research Institute, Inc. | Privacidad | Legal