Zusammenfassung
Identifiziert, welche Kandidaten-Features, basierend auf Feature-Attributen, die größte oder geringste Ähnlichkeit mit einem oder mehreren abzugleichenden Eingabe-Features aufweisen.
Weitere Informationen zur Funktionsweise der "Ähnlichkeitssuche"
Abbildung
Verwendung
Sie stellen einen Layer mit den Werten für Abzugleichende Eingabe-Features und einen zweiten Layer mit den Werten für Kandidaten-Features bereit, aus denen Übereinstimmungen abgerufen werden. Häufig befinden sich diese Werte auf dem gleichen Feature-Layer. Eine Möglichkeit ist, zwei separate Datasets zu erstellen. Es gibt jedoch noch eine andere Möglichkeit, die eventuell einfacher ist und darin besteht, Layer mit zwei verschiedenen Auswahlsätzen zu erstellen. Wenn Sie beispielsweise über eine Datei mit allen Verbrechensfällen des vergangenen Monats verfügen und die Verbrechen ermitteln möchten, die dem jüngsten Autodiebstahl am ähnlichsten sind, können Sie wie folgt vorgehen:
- Wählen Sie mithilfe standardmäßiger ArcMap-Auswahlwerkzeuge oder Geoverarbeitungswerkzeuge den Datensatz für den letzten Autodiebstahl aus dem Layer mit allen Verbrechensfällen aus.
- Klicken Sie mit der rechten Maustaste auf den Layer mit der Auswahl, und klicken Sie auf Auswahl > Layer aus selektierten Features erstellen. Verwenden Sie diesen neuen Layer für den Parameter Abzugleichende Eingabe-Features.
- Kehren Sie die Auswahl für den Layer mit allen Verbrechensfällen um. Verwenden Sie diesen Layer für den Parameter Kandidaten-Features.
Wenn mehrere Werte für Abzugleichende Eingabe-Features vorhanden sind, basiert der Abgleich auf den Durchschnittswerten von Interessenattributen. Wenn beispielsweise zwei Werte für Abzugleichende Eingabe-Features vorhanden sind und einer der Werte für Interessenattribute eine Bevölkerungsvariable ist, sucht das Werkzeug nach Werten für Kandidaten-Features mit Bevölkerungen, die den durchschnittlichen Bevölkerungswerten weitestgehend entsprechen. Wenn die Bevölkerungswerte 100 und 102 betragen, sucht das Werkzeug beispielsweise nach Kandidaten mit Bevölkerungswerten, die dem Wert 101 nahe kommen.
Werte für Ausgabe-Features enthalten immer Punkte, es sei denn, die Werte für Abzugleichende Eingabe-Features und Kandidaten-Features sind Polygone und Polylinien. Das Erstellen von Werten für Polygon- oder Polylinien-Ausgabe-Features kann bei großen Datasets die Performance beeinträchtigen. Aktivieren Sie den Parameter Ausgabe auf Punkte reduzieren, um Punkt-Geometrien für eine verbesserte Performance durchzusetzen.
Mit dem Parameter Größte oder geringste Ähnlichkeit können Sie mithilfe der Option MOST_SIMILAR oder LEAST_SIMILAR nach Features suchen, die mit den Werten für Abzugleichende Eingabe-Features übereinstimmen. Es kann hilfreich sein, beide anzuzeigen. Wenn Sie 3 für den Parameter Anzahl der Ergebnisse eingeben, und BOTH für den Parameter Größte oder geringste Ähnlichkeit auswählen, gibt das Werkzeug beispielsweise die drei Kandidaten-Features mit der größten und mit der geringsten Ähnlichkeit aus.
Jede im Parameter Ausgabe-Features angegebene Lösungsentsprechung ist eine Lösung, die dem vorgesehenen Parameter Abzugleichende Eingabe-Features entweder am ähnlichsten ist oder sich am meisten von ihm unterscheidet; eine einzelne Lösung kann nicht beides sein (und Lösungsentsprechungen werden nicht in den Parameter Ausgabe-Features dupliziert). Wenn Sie Beides für den Parameter Größte oder geringste Ähnlichkeit auswählen, entspricht die maximale Anzahl möglicher resultierender Übereinstimmungen (Wert Anzahl der Ergebnisse) demzufolge der Hälfte der Anzahl der Werte für Kandidaten-Features. Wenn Sie einen zu großen Wert für Anzahl der Ergebnisse eingeben, passt das Werkzeug ihn an den maximal möglichen Wert an.
Um räumliche Muster für die Ähnlichkeit zu ermitteln, können Sie die Ähnlichkeit für alle Kandidaten-Features ihrem Rang entsprechend ordnen. Geben Sie hierzu den Wert 0 für den Parameter Anzahl der Ergebnisse ein. Das Werkzeug ermittelt daraufhin die Anzahl der gültigen Features im Kandidaten-Dataset und schreibt alle Werte nach Rangfolge, von der größten zur geringsten Ähnlichkeit, in den Parameter Ausgabe-Features.
Die Optionen für den Parameter Abgleichmethode lauten ATTRIBUTE_VALUES, RANKED_ATTRIBUTE_VALUES und ATTRIBUTE_VALUES.
- ATTRIBUTE_VALUES: Die ähnlichsten Kandidaten weisen die kleinste Summe der quadrierten Differenzen aller Werte für Interessenattribute auf. Alle Werte werden standardisiert, bevor die Unterschiede berechnet werden.
- RANKED_ATTRIBUTE_VALUES: Die ähnlichsten Kandidaten weisen die kleinste Summe der quadrierten Ränge aller Werte für Interessenattribute auf. Der Parameter Ausgabe-Features zeigt diese Summen im Feld SIMINDEX (Summe der quadrierten Rangdifferenzen) an.
- ATTRIBUTE_PROFILES: Die Kosinusähnlichkeit wird gemessen. Die Kosinusähnlichkeit sucht nach den gleichen Beziehungen zwischen standardisierten Attributwerten, anstatt Werte abzugleichen. Beispielsweise gibt es vier Werte für Interessenattribute: A1, A2, A3 und A4. A2 ist doppelt so groß wie A1, A3 ist fast identisch mit A2, und A4 ist dreimal so groß wie A3. Für ATTRIBUTE_PROFILES sucht das Werkzeug nach Kandidaten mit den gleichen Attributbeziehungen: zweimal so groß, dann fast identisch, dann dreimal so groß. Da diese Methode nach Attributbeziehungen sucht, müssen Sie mindestens zwei Werte für Interessenattribute für diese Methode angeben. Sie können die Methode der Kosinusähnlichkeit (ATTRIBUTE_PROFILES) verwenden, um Orte wie Los Angeles zu suchen, insgesamt jedoch in einem kleineren Maßstab. Der Index der Kosinusähnlichkeit reicht von 1,0 (vollständige Ähnlichkeit) bis -1,0 (vollständige Unähnlichkeit). Der Index der Kosinusähnlichkeit wird in das Feld SIMINDEX (Kosinusähnlichkeit) des Parameters Ausgabe-Features eingetragen.
Die Werte für Interessenattribute müssen numerisch und in den Datasets Abzugleichende Eingabe-Features und Kandidaten-Features vorhanden sein (gleicher Feldname und gleicher Feldtyp). Für den Parameter Interessenattribute listet das Werkzeug alle numerischen Felder auf, die im Dataset Abzugleichende Eingabe-Features enthalten sind. Wenn das Werkzeug keine entsprechenden Felder für die Kandidaten-Features findet, wird eine Warnmeldung angezeigt, die Sie darauf hinweist, dass die fehlenden Attribute aus der Analyse entfernt wurden. Wenn alle Werte für Interessenattribute entfernt werden, kann kein Abgleich erfolgen, und es wird eine Fehlermeldung angezeigt, die besagt, dass das Werkzeug die Analyse nicht durchführen kann.
Alle für den Abgleich herangezogenen Attribute werden in den Parameter Ausgabe-Features geschrieben. Der Parameter An Ausgabe anzuhängende Felder ermöglicht Ihnen die Einbeziehung anderer Felder in die Ausgabetabelle. Da numerische Felder für Interessenattribute keine effektiven Kennungen sind, können Sie einen Namen oder ein anderes Kennungsfeld für jede Lösungsentsprechung anhängen. Wenn Sie zwischen mehreren Lösungsentsprechungen auswählen müssen, können Sie auch andere numerische Attribute anhängen. Wenn die gesuchte Lösung beispielsweise einem der Landnutzungstypen entsprechen muss, können Sie die Suche nach Lösungen, die diese Anforderung erfüllen, verbessern, indem Sie ein kategorisiertes Landnutzungsattribut anhängen. Sie können ebenfalls zusätzliche numerische Attribute nur zu Referenzzwecken in die Ausgabetabelle einfügen. Wenn Sie beispielsweise nach einem geeigneten Lebensraum für ein bestimmtes Tier suchen. Sie können für den Parameter Abzugleichende Eingabe-Features für das Überleben der Art bekannte Orte eingeben. Sie können die Werte für Interessenattribute auswählen, die sich auf das Überleben der Art beziehen. Zudem können Sie ein numerisches Flächenattribut an die Werte für Ausgabe-Features anhängen, nicht um den Flächenwert des Ziels tatsächlich abzugleichen, sondern weil Sie letztlich nach Lösungen mit den größtmöglichen Flächen suchen.
Alle Werte für Abzugleichende Eingabe-Features und Lösungsentsprechungen werden neben den Parametern Interessenattribute und An Ausgabe anzuhängende Felder in den Parameter Ausgabe-Features geschrieben. Zudem werden folgende Felder in die Ausgabe-Features eingefügt:
Feldname Feldaliasname Beschreibung Hinweise MATCH_ID
MATCH_ID
Alle Ziel-Features im Layer Abzugleichende Eingabe-Features werden zuerst mit ihrer OID- oder FID-Kennung aufgelistet, die in das Feld MATCH_ID geschrieben wird. Lösungsentsprechungen haben NULL-Werte für dieses Feld.
Wenn der Wert Ausgabe-Features ein Shapefile ist, werden NULL-Werte durch eine sehr große negative Zahl (wie -21474836) dargestellt.
CAND_ID
CAND_ID
Alle Lösungsentsprechungen werden als Nächstes aufgeführt und dieser Wert ist ihre OID- oder FID-Kennung. Die Ziel-Features im Layer Abzugleichende Eingabe-Features weisen NULL-Werte für dieses Feld auf.
Wenn der Wert Ausgabe-Features ein Shapefile ist, werden NULL-Werte durch eine sehr große negative Zahl (wie -21474836) dargestellt.
SIMRANK
Rangfolge der Ähnlichkeiten
Wenn Sie MOST_SIMILAR oder BOTH für den Parameter Abgleichmethode auswählen, werden alle Lösungsentsprechungen von der größten bis zur geringsten Ähnlichkeit geordnet. Die Lösungsentsprechung mit der größten Ähnlichkeit hat einen Rangwert von 1.
Das erste Feld wird nur dann in die Ausgabe-Features eingefügt, wenn Sie MOST_SIMILAR oder BOTH als Parameter für die Abgleichmethode auswählen.
DSIMRANK
Rangfolge der Unterschiede
Wenn Sie LEAST_SIMILAR oder BOTH für den Parameter der Abgleichmethode auswählen, werden alle Lösungsentsprechungen von der größten bis zur geringsten Ähnlichkeit geordnet. Die Auflösung mit der geringsten Ähnlichkeit erhält einen Rangwert von 1.
Das erste Feld wird nur dann in die Ausgabe-Features eingefügt, wenn Sie LEAST_SIMILAR oder BOTH als Parameter für die Abgleichmethode auswählen.
SIMINDEX
Summe der quadrierten Wertunterschiede, Summe der quadrierten Rangunterschiede oder Kosinusähnlichkeit
Dieses Feld bestimmt die Ähnlichkeit jeder Lösungsentsprechung mit dem Ziel-Feature.
- Wenn Sie ATTRIBUTE_VALUES für den Parameter Abgleichmethode angeben, lautet der Feld-Alias Sum of Squared Value Differences.
- Wenn Sie RANKED_ATTRIBUTE_VALUES für den Parameter Abgleichmethode angeben, lautet der Feld-Alias Sum of Squared Rank Differences.
- Wenn Sie ATTRIBUTE_PROFILES für den Parameter Abgleichmethode angeben, lautet der Feld-Alias Cosine Similarity.
Wenn nur ein Wert für Abzugleichende Eingabe-Features vorhanden ist, ist dieses Feature das Ziel-Feature. Wenn mehr als ein Wert für Abzugleichende Eingabe-Features angegeben wird, ist das Ziel-Feature ein temporäres Feature, das mit durchschnittlichen Werten für alle Interessenattribute erstellt wird.
LABELRANK
Rangfolge für Rendering
Dieses Feld dient lediglich zu Anzeigezwecken. Das Werkzeug verwendet dieses Feld, um das Standard-Rendering der Analyseergebnisse bereitzustellen.
Der Layer Ausgabe-Features wird dem Inhaltsverzeichnis automatisch hinzugefügt, wobei das Standard-Rendering auf das Feld LABELRANK angewendet wird. Das Rendering wird durch eine Layer-Datei in <ArcGIS>/Desktop10.x/ArcToolbox/Templates/Layers definiert. Sie können das Standard-Rendering nach Bedarf erneut anwenden, indem Sie die Vorlagen-Layer-Symbolisierung importieren.
Syntax
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})
Parameter | Erklärung | Datentyp |
Input_Features_To_Match | Der Layer oder eine Auswahl für einen Layer mit den abzugleichenden Features; Sie suchen nach anderen Features, die diesen Features ähneln. Wenn mehrere Features bereitgestellt werden, erfolgt der Abgleich auf Basis der durchschnittlichen Attributwerte. | Feature Layer |
Candidate_Features | Der Layer oder eine Auswahl eines Layers mit den Features, die mit den Kandidaten übereinstimmen. Das Werkzeug sucht unter diesen Kandidaten nach Features, die den Werten für Input_Features_To_Match am ähnlichsten (oder unähnlichsten) sind. | Feature Layer |
Output_Features | Die Ausgabe-Feature-Class enthält einen Datensatz aller Werte für Input_Features_To_Match sowie für alle ermittelten Features mit Lösungsentsprechung. | Feature Class |
Collapse_Output_To_Points | Gibt an, ob die Geometrie für den Parameter Output_Features auf Punkte reduziert wird oder mit der ursprünglichen Geometrie (Linien oder Polygone) der Eingabe-Features übereinstimmt, wenn es sich bei den Werten für die Parameter Input_Features_To_Match und Candidate_Features um Linien oder Polygone handelt. Dieser Parameter ist nur mit einer Desktop Advanced-Lizenz verfügbar. Die Auswahl von COLLAPSE verbessert die Performance des Werkzeugs bei großen Linien- und Polygon-Datasets.
| Boolean |
Most_Or_Least_Similar | Gibt an, ob Features mit der größten oder mit der geringsten Ähnlichkeit mit den Werten für Input_Features_To_Match identifiziert werden.
| String |
Match_Method | Gibt an, ob der Abgleich auf Werten, Rängen oder Kosinusbeziehungen basiert.
| String |
Number_Of_Results | Die Anzahl der zu suchenden Lösungsentsprechungen. Durch die Eingabe von Null oder einer Zahl, die größer ist als die Gesamtzahl der Werte für Candidate_Features, werden Bewertungen für alle Kandidaten-Features zurückgegeben. Die Standardeinstellung ist 10. | Long |
Attributes_Of_Interest [Attributes_Of_Interest,...] | Die numerischen Attribute, die die Abgleichskriterien darstellen. | Field |
Fields_To_Append_To_Output [Fields_To_Append_To_Output,...] (optional) | Die Felder, die in den Parameter Output_Features aufgenommen werden sollen. Diese Felder werden nicht zur Bestimmung der Ähnlichkeit verwendet; sie werden lediglich zu Referenzzwecken in den Parameter Output_Features aufgenommen. | Field |
Codebeispiel
SimilaritySearch – Beispiel 1 (Python-Fenster)
Das folgende Skript im Python-Fenster veranschaulicht, wie Sie die Funktion SimilaritySearch verwenden.
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")
SimilaritySearch – Beispiel 2 (eigenständiges Skript)
Im folgenden eigenständigen Python-Skript wird veranschaulicht, wie Sie die Funktion SimilaritySearch verwenden.
# 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())
Umgebungen
Lizenzinformationen
- Basic: Ja
- Standard: Ja
- Advanced: Ja