Recherche de similarité (Statistiques spatiales)

Niveau de licence :BasicStandardAdvanced

Récapitulatif

Identifie les entités candidates les plus semblables (ou dissemblables) à une ou plusieurs entités en entrée en fonction d'attributs d'entités.

Pour plus d'informations sur le fonctionnement de l'outil Recherche de similarité

Illustration

Recherche de similarité

Utilisation

Syntaxe

SimilaritySearch_stats (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})
ParamètreExplicationType de données
Input_Features_To_Match

La couche (ou une sélection sur une couche) contenant les entités que vous voulez apparier. Vous recherchez d'autres entités ressemblant à ces entités. Lorsque plusieurs entités sont fournies, l'appariement repose sur la moyenne des attributs.

Astuce : lorsque vos entités en entrée à apparier et vos entités candidates proviennent un seul jeu de données, procédez comme suit.

  • Cliquez avec le bouton droit sur la couche et choisissez Sélection, puis Créer une couche à partir des entités sélectionnées. Utilisez la nouvelle couche créée pour ce paramètre.
  • Ensuite, cliquez à nouveau avec le bouton droit sur la couche et choisissez Sélection, puis Inverser la sélection pour obtenir la couche que vous allez utiliser pour vos entités candidates.

Feature Layer
Candidate_Features

La couche (ou une sélection sur une couche) contenant les entités correspondant aux entités candidates. L'outil recherche les entités les plus semblables (ou les plus dissemblables) aux entités en entrée à apparier parmi ces candidates.

Astuce : lorsque vos entités en entrée à apparier et vos entités candidates proviennent un seul jeu de données, procédez comme suit.

  • Cliquez avec le bouton droit sur la couche et choisissez Sélection, puis Créer une couche à partir des entités sélectionnées. Utilisez la nouvelle couche créée pour ce paramètre.
  • Ensuite, cliquez à nouveau avec le bouton droit sur la couche et choisissez Sélection, puis Inverser la sélection pour obtenir la couche que vous allez utiliser pour ce paramètre.

Feature Layer
Output_Features

La classe d'entités en sortie contient un enregistrement pour chacune des entités en entrée à apparier et pour toutes les solutions trouvées.

Feature Class
Collapse_Output_To_Points

Indiquez si vous voulez que la géométrie des entités en sortie (Output_Features) soit des points ou qu'elle corresponde à la géométrie (lignes ou polygones) des entités en entrée. Cette option est disponible uniquement lorsque Input_Features_To_Match et Candidate_Features sont des lignes ou des polygones. Vous pouvez optimiser les performances de l'outil en choisissant COLLAPSE pour les jeux de données lignes ou polygones volumineux.

  • NO_COLLAPSELa géométrie en sortie correspond à la géométrie de type ligne ou polygone des entités en entrée. Il s'agit de l'option par défaut.
  • COLLAPSELes entités linéaires et surfaciques sont représentées sous forme de centroïdes d'entité (points).
Boolean
Most_Or_Least_Similar

Choisissez si vous préférez vous concentrer sur les entités les plus proches ou les plus différentes des entités en entrée à apparier.

  • MOST_SIMILARRecherchez les entités les plus semblables.
  • LEAST_SIMILARRecherchez les entités les plus différentes.
  • BOTHRecherchez à la fois les entités qui sont les plus semblables et les entités qui sont les plus différentes.
String
Match_Method

Choisissez si l'appariement doit reposer sur des valeurs, des classements ou des relations cosinusoïdales.

  • ATTRIBUTE_VALUESLa similarité et la dissemblance reposeront sur la somme des différences des valeurs attributaires standardisées au carré de tous les attributs d'intérêt.
  • RANKED_ATTRIBUTE_VALUESLa similarité et la dissemblance reposeront sur la somme des différences de classement au carré de tous les attributs d'intérêt.
  • ATTRIBUTE_PROFILESLa similarité et la dissemblance seront calculées comme une fonction de la similarité cosinusoïdale de tous les attributs d'intérêt.
String
Number_Of_Results

Le nombre de solutions à rechercher.

Astuce : pour classer la similarité pour toutes les entités candidates, vous pouvez entrer un très grand nombre (égal ou supérieur au nombre réel d'entités candidates).

Long
Attributes_Of_Interest
[field,...]

Une liste d'attributs numériques représentant les critères d'appariement.

Field
Fields_To_Append_To_Output
[field,...]
(Facultatif)

Une liste facultative d'attributs à inclure avec les entités en sortie. Vous pouvez inclure un identifiant de nom, un champ de catégorie ou un champ de date, par exemple. Ces champs ne sont pas utilisés pour déterminer la similarité. Ils sont inclus uniquement dans les entités en sortie pour référence.

Field

Exemple de code

Exemple 1 d'utilisation de l'outil SimilaritySearch (fenêtre Python)

Le script de fenêtre Python ci-dessous illustre l'utilisation de l'outil 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")
Exemple 2 d'utilisation de l'outil SimilaritySearch (script Python autonome)

Le script Python autonome ci-dessous illustre l'utilisation de l'outil SimilaritySearch.

# Similarity Search of crime data in a metropolitan area

# Import system modules
import arcpy, os
import arcpy.stats as SS

# Set geoprocessor object property to overwrite existing output
arcpy.gp.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()

Environnements

Thèmes connexes

Informations de licence

ArcGIS for Desktop Basic: Oui
ArcGIS for Desktop Standard: Oui
ArcGIS for Desktop Advanced: Oui
5/10/2014