Resumen
Identifica cuáles entidades candidatas son las más o las menos similares a una o más entidades sobre la base de los atributos de entidad.
Más información acerca del mecanismo de Búsqueda de similitud
Ilustración
Uso
Deberá especificar una capa que contenga valores de Entidades de entrada para coincidencia y una segunda capa que contenga valores de Entidades candidatas de las cuales se obtendrán las coincidencias. Muchas veces, estos valores estarán en la misma capa de entidades. Una opción consiste en crear dos datasets independientes. La otra opción consiste en crear capas con dos conjuntos de selección distintos, lo cual puede resultar más fácil. Por ejemplo, si tiene un archivo con todos los incidentes delictivos producidos durante el último mes, y desea buscar todos los delitos más similares al secuestro de vehículo más reciente, puede hacer lo siguiente:
- Utilizando las herramientas de selección de ArcMap estándar o las herramientas de geoprocesamiento, seleccione el registro del secuestro de vehículo más reciente en la capa que contiene todos los incidentes delictivos.
- Haga clic con el botón derecho del ratón en la capa con la selección y, a continuación, haga clic en Selección > Crear capa a partir de entidades seleccionadas. Utilice esta nueva capa de entidades en el parámetro Entidades de entrada para coincidencia.
- Pase a la capa que contenga todos los incidentes delictivos. Utilice esta capa para el parámetro Entidades candidatas.
Si hay más de un valor de Entidades de entrada para coincidencia, la coincidencia se basa en los valores de Atributos de interés promediados. Por ejemplo, si hay dos valores de Entidades de entrada para coincidencia y uno de los valores de Atributos de interés es una variable de población, la herramienta buscará valores de Entidades candidatas con poblaciones que sean más semejantes al promedio de los valores de población. Por ejemplo, si los valores de población son 100 y 102, la herramienta buscará candidatos con poblaciones próximas a 101.
Los valores de Entidades de salida siempre contendrán puntos, a menos que los valores de Entidades de entrada para coincidencia y Entidades candidatas sean ambos polígonos o ambos polilíneas. La creación de valores de Entidades de salida de polígono o polilínea es susceptible de desacelerar el rendimiento en el caso de datasets grandes. Active el parámetro Contraer salida en puntos para forzar geometrías de punto que mejoren el rendimiento.
Con el parámetro Más o menos similar, puede buscar entidades con las opciones MOST_SIMILAR o LEAST_SIMILAR para los valores de Entidades de entrada para coincidencia. Puede resultar útil ver ambos. Por ejemplo, si introduce 3 para el parámetro Número de resultados y BOTH para el parámetro Más o menos similar, la herramienta devolverá las tres entidades candidatas más similares y las tres menos similares.
Una coincidencia de soluciones en el parámetro Entidades de salida será una solución que sea la más similar o la menos similar al parámetroEntidades de entrada para coincidencia de destino; una única solución no puede ser las dos cosas (y las coincidencias de soluciones no se duplicarán en el parámetro Entidades de salida). Por lo tanto, al seleccionar Ambos para el parámetro Más o menos similar, el número máximo de coincidencias resultantes posibles (el valor de Número de resultados) será la mitad de los valores de Entidades candidatas. Si se especifica un valor para Número de resultados demasiado grande, la herramienta lo ajustará al máximo posible.
Para explorar el patrón espacial de la similitud puede clasificar la similitud de todos los valores de Entidades candidatas. Para ello, introduzca 0 en el parámetro Número de resultados. La herramienta identificará el número de candidatos válidos dentro del dataset de candidatos, y los incluirá a todos en el parámetro Entidades de salida en orden de similitud descendente (de más a menos).
Las opciones del parámetro Método de coincidencia son: ATTRIBUTE_VALUES, RANKED_ATTRIBUTE_VALUES y ATTRIBUTE_VALUES.
- ATTRIBUTE_VALUES: los candidatos más similares tendrán la suma más pequeña de las diferencias cuadradas de todos los valores de Atributos de interés; todos los valores se estandarizan antes de calcular las diferencias.
- RANKED_ATTRIBUTE_VALUES: los candidatos más similares tendrán la suma más pequeña de las clasificaciones cuadradas de todos los valores de Atributos de interés. El parámetro Entidades de salida indica estas sumas en el campo SIMINDEX (Suma de las diferencias cuadradas de clasificación).
- ATTRIBUTE_PROFILES: se mide la similitud de coseno. La similitud de coseno busca las mismas relaciones entre los valores de atributo estandarizados, en lugar de intentar hacer coincidir magnitudes. Por ejemplo, existen cuatro valores de Atributos de interés llamados A1, A2, A3 y A4. A2 es dos veces mayor que A1, A3 es casi igual a A2 y A4 es tres veces mayor que A3. En ATTRIBUTE_PROFILES, la herramienta buscará candidatos con las mismas relaciones de atributo: el doble de grande, luego casi igual y luego tres veces mayor. Como este método busca relaciones de atributos, para este método deberá especificar un mínimo de dos valores de Atributos de interés. Puede utilizar el método de similitud de coseno (ATTRIBUTE_PROFILES) para buscar lugares como Los Ángeles, pero a una menor escala general. El índice de similitud de coseno fluctúa entre 1,0 (similitud perfecta) y -1,0 (disimilitud perfecta). El índice de similitud de coseno se escribe en el campo SIMINDEX (similitud de coseno) del parámetro Entidades de salida.
Los valores de Atributos de interés deben ser numéricos y estar presentes (idéntico nombre y tipo de campo) en los datasets Entidades de entrada para coincidencia y Entidades candidatas. En cuanto al parámetro Atributos de interés, la herramienta presentará una lista de todos los campos numéricos que haya encontrando en el conjunto de datos Entidades de entrada para coincidencia. Si la herramienta no encuentra los campos correspondientes para las Entidades candidatas, aparece una advertencia que indica que los atributos que faltan se han eliminado del análisis. Si se eliminan todos los valores de Atributos de interés, no se realizará la búsqueda de coincidencias y aparecerá un mensaje de error informando de que la herramienta no puede realizar el análisis.
Todos los atributos utilizados para coincidencias se escriben en el parámetro Entidades de salida. El parámetro Campos para añadir a la salida permite incluir otros campos en la tabla de salida. Como los campos Atributos de interés numéricos no son los identificadores más eficaces, puede agregar un campo de nombre u otro identificador para cada solución de coincidencia. Si tiene que decidir entre varias soluciones de coincidencia, puede agregar también otros atributos no numéricos. Por ejemplo, si la solución que busca debe ser uno entre varios tipos de uso del suelo, incorporar un atributo categórico de uso de suelo puede ayudarle a obtener soluciones que satisfagan este requisito. También puede incluir atributos numéricos adicionales en la tabla de salida solamente a efectos de referencia. Por ejemplo, está buscando un hábitat adecuado para un determinado animal. Puede utilizar ubicaciones conocidas en las que las especies medran para el parámetro Entidades de entrada para coincidencia. Podrá seleccionar valores de Atributos de interés relacionados con el éxito de la especie. Asimismo, puede incorporar un atributo de área numérico a los valores de Entidades de salida, no porque realmente desee una coincidencia con el valor de superficie del destino, sino porque en última instancia está buscando soluciones con las mayores superficies posibles.
Todos los valores de Entidades de entrada para coincidencia y las coincidencias de solución se indican en el parámetro Entidades de salida, conjuntamente con los parámetros Atributos de interés y los Campos para añadir a la salida. Además, en Entidades de salida se incluyen los siguientes campos:
Nombre de campo Alias del campo Description Notes MATCH_ID
MATCH_ID
Primero aparecen todas las entidades de destino de la capa Entidades de entrada para coincidencia, con sus identificadores OID o FID indicados en el campo MATCH_ID. En este campo, las coincidencias de solución tienen valores NULL.
Si el valor de Entidades de salida es un shapefile, los valores NULL se representan mediante un número negativo muy grande (como -21474836).
CAND_ID
CAND_ID
Todas las coincidencias de soluciones se indican a continuación, y este valor es su identificador OID o FID. Las entidades de destino en la capa Entidades de entrada para coincidencia tienen valores NULL para este campo.
Si el valor de Entidades de salida es un shapefile, los valores NULL se representan mediante un número negativo muy grande (como -21474836).
SIMRANK
Clasificación de similitud
Si selecciona MOST_SIMILAR o BOTH para el parámetro Método de coincidencia, todas las coincidencias de solución se clasificarán de más similar a menos similar. La coincidencia de solución más similar tendrá un valor de clasificación de 1.
Este campo solo se incluye en las Entidades de salida si selecciona MOST_SIMILAR o BOTH para el parámetro Método de coincidencia.
DSIMRANK
Clasificación de disimilitud
Si selecciona LEAST_SIMILAR o BOTH para el parámetro Método de coincidencia, todas las coincidencias de solución se clasificarán de menos similar a más similar. La solución que sea menos similar tendrá un valor de clasificación de 1.
Este campo solo se incluye en las Entidades de salida si selecciona LEAST_SIMILAR o BOTH para el parámetro Método de coincidencia.
SIMINDEX
Suma de las diferencias de valor cuadrado, Suma de las diferencias cuadradas de clasificación o Similitud de coseno
Este campo cuantifica cuán similar es cada coincidencia de solución a la entidad de destino.
- Si especifica ATTRIBUTE_VALUES como el parámetro Método de coincidencia, el alias del campo es Sum of Squared Value Differences.
- Si especifica RANKED_ATTRIBUTE_VALUES como el parámetro Método de coincidencia, el alias del campo es Sum of Squared Rank Differences.
- Si especifica ATTRIBUTE_PROFILES como el parámetro Método de coincidencia, el alias del campo es Cosine Similarity.
Si solo hay un valor en Entidades de entrada para coincidencia, la entidad de destino será esta entidad. Si se especifican más de un valor de Entidades de entrada para coincidencia, la entidad de destino será una entidad temporal creada con el promedio de los valores de todos los valores de Atributos de interés.
LABELRANK
Clasificación de representación
Este campo se emplea exclusivamente a efectos de visualización. La herramienta utiliza este campo para una representación predeterminada de los resultados del análisis.
La capa Entidades de salida se agrega automáticamente a la tabla de contenido y la representación predeterminada se aplica al campo LABELRANK. La representación aplicada está definida por un archivo de capas en <ArcGIS>/Desktop10.x/ArcToolbox/Templates/Layers. Puede volver a aplicar la representación predeterminada, de ser necesario, al importar la simbología de capa de plantilla.
Sintaxis
arcpy.stats.SimilaritySearch(Input_Features_To_Match, Candidate_Features, Output_Features, Collapse_Output_To_Points, Most_Or_Least_Similar, Match_Method, Number_Of_Results, Attributes_Of_Interest, {Fields_To_Append_To_Output})
Parámetro | Explicación | Tipo de datos |
Input_Features_To_Match | La capa, o una selección de una capa, que contiene las entidades cuya coincidencia se busca; buscará otras entidades que se asemejen a estas. Si se especifica más de una entidad, la coincidencia estará basada en los promedios de los atributos. | Feature Layer |
Candidate_Features | La capa, o una selección de una capa, que contiene las candidatas a entidades coincidentes. La herramienta buscará entre estas candidatas las entidades más similares (o menos similares) a los valores de Input_Features_To_Match. | Feature Layer |
Output_Features | La clase de entidad de salida contiene un registro de cada uno de los valores de Input_Features_To_Match y de todas las entidades coincidentes con la solución encontrada. | Feature Class |
Collapse_Output_To_Points | Especifica si la geometría del parámetro Output_Features se contraerá en puntos o si se hará coincidir con la geometría original (líneas o polígonos) de las entidades de entrada si los valores de los parámetros Input_Features_To_Match y Candidate_Features son líneas o polígonos. Este parámetro solo está disponible con una licencia Desktop Advanced. Si elige COLLAPSE, mejorará el rendimiento de la herramienta en datasets grandes de líneas y polígonos.
| Boolean |
Most_Or_Least_Similar | Especifica si se identificarán las entidades más similares o menos similares a los valores de Input_Features_To_Match.
| String |
Match_Method | Especifica si la coincidencia se basará en relaciones de valores, clasificaciones o cosenos.
| String |
Number_Of_Results | El número de coincidencias de solución a buscar. Si introduce cero o un número mayor que el número total de los valores de Candidate_Features, se devolverá la clasificación de todas las entidades candidatas. El valor predeterminado es 10. | Long |
Attributes_Of_Interest [Attributes_Of_Interest,...] | Los atributos numéricos que representan los criterios de coincidencia. | Field |
Fields_To_Append_To_Output [Fields_To_Append_To_Output,...] (Opcional) | Los campos que se van a incluir con el parámetro Output_Features. Estos campos no se utilizan para determinar la similitud, sino que solamente se incluyen en el parámetro Output_Features como referencia. | Field |
Muestra de código
Ejemplo 1 de SimilaritySearch 1 (ventana de Python)
El siguiente script de la ventana de Python muestra cómo utilizar la función SimilaritySearch.
import arcpy
import arcpy.stats as SS
arcpy.env.workspace = r"C:\Analysis"
SS.SimilaritySearch("Crime_selection", "AllCrime", "c:\\Analysis\\CrimeMatches",
"NO_COLLAPSE", "MOST_SIMILAR", "ATTRIBUTE_VALUES", 4,
"HEIGHT;WEIGHT;SEVERITY;DST2CHPSHP", "Name;WEAPON")
Ejemplo 2 de SimilaritySearch (script independiente)
El siguiente script independiente de Python muestra cómo utilizar la función SimilaritySearch.
# Similarity Search of crime data in a metropolitan area
# Import system modules
import arcpy
import os
import arcpy.stats as SS
# Set property to overwrite existing output
arcpy.env.overwriteOutput = True
try:
# Set the current workspace (to avoid having to specify the full path to
# the feature classes each time)
arcpy.env.workspace = r"C:\Analysis"
# Make a layer from the crime feature class
arcpy.MakeFeatureLayer_management("AllCrime", "Crime_selection")
# Select the target crime to match
# Process: Select By Attribute
arcpy.SelectLayerByAttribute_management("Crime_selection", "NEW_SELECTION",
'"OBJECTID" = 1230043')
# Use Similarity Search to find to create groups based on different
# variables or analysis fields
# Process: Group Similar Features
SS.SimilaritySearch("Crime_selection", "AllCrime", "CJMatches",
"NO_COLLAPSE", "MOST_SIMILAR", "ATTRIBUTE_VALUES", 4,
"HEIGHT;WEIGHT;SEVERITY;DST2CHPSHP", "Name;WEAPON")
except:
# If an error occurred when running the tool, print out the error message.
print(arcpy.GetMessages())
Entornos
Información de licenciamiento
- Basic: Sí
- Standard: Sí
- Advanced: Sí