Beschriftung | Erläuterung | Datentyp |
Ziel-Layer | Enthält die Ziel-Features. Die Attribute der Ziel-Features und die Attribute aus den verbundenen Features werden in die Ausgabe übertragen. | Table View |
Join-Layer | Enthält die Verbindungs-Features. Die Attribute aus den Verbindungs-Features werden mit den Attributen der Ziel-Features verbunden. In der Erläuterung zum Parameter Verbindungsvorgang (join_operation in Python) finden Sie Informationen darüber, inwiefern sich der Verbindungsvorgang auf die Aggregation der verbundenen Attribute auswirkt. | Table View |
Ausgabe-Dataset | Eine neue Feature-Class, die Ziel-Layer-Features mit Verbindungs-Features enthält. | Feature Class;Table |
Verbindungsvorgang | Gibt die Behandlung von Verbindungen zwischen den Werten des Ziel-Layers und den Werten des Join-Layers in der Ausgabe an, wenn mehrere Verbindungs-Features gefunden werden, die über die gleiche räumliche Beziehung zu einem einzelnen Ziel-Feature verfügen.
| String |
Räumliche Beziehung (optional) | Gibt die Kriterien für die räumliche Verbindung von Features an.
| String |
Räumliche Near-Entfernung (optional) |
Die Entfernung von einem Ziel-Feature unter Berücksichtigung der Verbindungs-Features für eine räumliche Verbindung. Ein Suchradius ist nur gültig, wenn der Parameter Räumliche Beziehung den Wert Nahe (planar) oder Nahe (geodätisch) aufweist. | Linear Unit |
Zeitliche Beziehung (optional) | Gibt die zeitlichen Kriterien für die Zuordnung von Features an.
| String |
Zeitliche Near-Entfernung (optional) |
Die zeitliche Entfernung von einem Ziel-Feature unter Berücksichtigung der Verbindungs-Features für eine räumliche Verbindung. Eine Zeit ist nur gültig, wenn für den Parameterwert Zeitliche Beziehung die Option Nahe, Nahe vor oder Nahe nach angegeben ist und für beide Features Zeiteigenschaften aktiviert sind. | Time Unit |
Attributbeziehung (optional) | Verbindet Features basierend auf Werten innerhalb eines Attributfeldes. Geben Sie das Attributfeld aus dem Ziel-Layer an, das dem Attributfeld aus dem Join-Layer entspricht.
| Value Table |
Zusammenfassungsfelder (optional) | Die Statistiken, die für bestimmte Felder berechnet werden. | Value Table |
Verbindungsbedingung (optional) | Wendet eine Bedingung auf angegebene Felder an. Nur Features mit Feldern, die diese Bedingungen erfüllen, werden verbunden. Beispiel: Sie könnten eine Verbindungsbedingung auf Features anwenden, bei denen das Attribut "HealthSpending" (Gesundheitskosten) im Join-Layer mehr als 20 Prozent vom Attribut "Income" (Einkommen) im Ziel-Layer ausmacht. Verwenden Sie einen Arcade-Ausdruck wie $join["HealthSpending"] > $target["Income"] * .2. | String |
Alle Ziel-Features beibehalten (optional) | Gibt an, ob in der Ausgabe-Feature-Class alle Ziel-Features beibehalten werden (Left Outer Join) oder nur jene, die über die angegebenen Beziehungen zu den Verbindungs-Features verfügen (Inner Join).
| Boolean |
Zusammenfassung
Verbindet Attribute aus einem Layer mit denen eines anderen basierend auf räumlichen, zeitlichen oder Attributbeziehungen bzw. einer Kombination aus diesen.
Abbildung
Verwendung
Bei der räumlichen Verbindung werden Features (Zeilen) aus den Eingabe-Features (die Parameter Ziel-Layer und Join-Layer) basierend auf ihren räumlichen Positionen zugeordnet. Bei der zeitlichen Verbindung werden Features (Zeilen) aus den Eingabe-Features basierend auf ihren zeitlichen Beziehungen zugeordnet. Eine Attributverbindung gleicht Features basierend auf Feldwerten ab.
Features können basierend auf einer räumlichen Beziehung, einer zeitlichen Beziehung, einer Attributbeziehung oder einer Kombination aus diesen verbunden werden.
Option Beschreibung Räumliche Beziehung
Die räumliche Beziehung, anhand derer festgelegt wird, ob Features miteinander verbunden werden. Die verfügbaren Beziehungen hängen vom Geometrietyp (Punkt, Linie oder Fläche) der Layer ab, die verbunden werden. Die folgenden räumlichen Beziehungen sind verfügbar:
- Überschneidet
- Gleich
- Nahe (planar): Verwendet planare Entfernungen.
- Nahe (geodätisch): Verwendet geodätische Entfernungen.
- Enthält
- Innerhalb
- Berührt
- Kreuzt
- Überlappt
Weitere Informationen über räumliche Beziehungen in GeoAnalytics Desktop Tools
Zeitliche Beziehung
Die zeitliche Beziehung, anhand derer festgelegt wird, ob Features miteinander verbunden werden. Die verfügbaren Beziehungen hängen vom Geometrietyp (Zeitpunkt oder Intervall) der Layer ab, die verbunden werden. Die folgenden zeitlichen Beziehungen sind verfügbar:
- Entspricht
- Erfüllt von
- Überlappt
- Überlappt von
- Zwischen
- Enthält
- Gleich
- Beendet
- Beendet von
- Startet
- Gestartet von
- Überschneidet
- Nahe
- Nahe vor
- Nahe nach
Weitere Informationen über zeitliche Beziehungen in GeoAnalytics Desktop Tools
Attributbeziehung
Die Attributbeziehung, mit der festgelegt wird, ob Features miteinander verbunden werden. Die Features werden zugeordnet, wenn die Feldwerte im Join-Layer den Feldwerten im Ziel-Layer entsprechen.
Wenn sich Ziel- und Verbindungs-Features in unterschiedlichen Koordinatensystemen befinden, wird das Koordinatensystem des Ziel-Features verwendet. Wird ein Ausgabe-Koordinatensystem angegeben, werden beide Features in das Ausgabe-Koordinatensystem projiziert und anschließend verbunden.
Wenn für den Parameter Räumliche Beziehung der Wert Nahe (planar) lautet, muss für Features verbinden der Wert des Ziel-Layers projiziert werden oder das Ausgabe-Koordinatensystem als ein projiziertes Koordinatensystem eingestellt sein.
Wenn mehrere Features mit dem gleichen Ziel-Feature übereinstimmen, können Sie wie folgt entscheiden, ob alle Features verbunden werden sollen (Eins-zu-Viele-Verbindung) oder ob alle übereinstimmenden Features zusammen verbunden werden (Eins-zu-Eins-Verbindung):
- Eins-zu-Viele-Verbindung: Verbindet alle übereinstimmenden Features im Join-Layer mit dem Ziel-Layer. Der Ergebnis-Layer enthält mehrere Datensätze des Ziel-Features.
- Eins-zu-Eins-Verbindung: Fasst alle übereinstimmenden Verbindungs-Features mit jedem zu verbindenden Feature im Ziel-Layer zusammen. In die Zusammenfassung und Ausgabe werden nur Features mit einer Übereinstimmung einbezogen. Die Anzahl der verbundenen Features wird neben anderen Statistiken wie Summe, Minimum, Maximum, Bereich, Mittelwert, Varianz und Standardabweichung hinzugefügt. Standardmäßig werden nur die Ziel-Features, die über die angegebenen Beziehungen verfügen, in der Ausgabe-Feature-Class beibehalten (Inner Join). Wenn Alle Ziel-Features beibehalten aktiviert ist, werden alle Eingabe-Ziel-Features in die Ausgabe-Feature-Class geschrieben (dies wird als Left Outer Join bezeichnet).
Mit dem Parameter Verbindungsbedingung können Sie auch einen Ausdruck erstellen, mit dem Features verbunden werden. Wenn Sie einen Ausdruck angeben, werden nur die Features, die die Bedingung erfüllen, verwendet. Zum Beispiel können Sie mit dem Ausdruck $target["Magnitude"] > $join["Explosion"] Ziel-Features im Feld Magnitude nur dann verbinden, wenn sie größer als das Verbindungs-Feature mit einem Feld namens Explosion sind. Weitere Informationen finden Sie unter Arcade-Ausdrücke in der Toolbox "GeoAnalytics Desktop".
Bei Ausführung einer Eins-zu-Viele-Verbindung werden die folgenden Felder in die Ausgabe-Features eingefügt:
- Alle Felder aus den Ziel-Layern
- Alle Felder aus den verbundenen Layern
Wenn ein Feldname sowohl im Ziel- auch im Verbindungs-Dataset vorhanden ist, wird dem Namen des verbundenen Feldes der Zusatz "join" vorangestellt (z. B. join_fieldname).
Feldname Beschreibung start_date
Dieses Feld enthält die Startzeit; es wird erstellt, wenn für die Eingabe Zeiteigenschaften aktiviert wurden und der Zeittyp "Zeitpunkt" oder "Intervall" lautet.
end_date
Dieses Feld enthält die Endzeit; es wird erstellt, wenn für die Eingabe Zeiteigenschaften aktiviert wurden und der Zeittyp "Intervall" lautet.
Zusätzlich zu den Feldern aus dem Ziel-Layer werden bei der Ausführung einer Eins-zu-Viele-Verbindung die folgenden Felder in die Ausgabe-Features eingefügt:
Feldname Beschreibung count
Die Anzahl der verbundenen Features.
statistic_fieldname
Für angegebene Statistiken wird jeweils ein Attributfeld erstellt, für das ein Name im folgenden Format festgelegt wird: Statistik_Feldname. Die maximale Abweichung und die Standardabweichung des id-Feldes lauten MAX_id bzw. SD_id.
start_date
Dieses Feld enthält die Startzeit; es wird erstellt, wenn für die Eingabe Zeiteigenschaften aktiviert wurden und der Zeittyp "Zeitpunkt" oder "Intervall" lautet.
end_date
Dieses Feld enthält die Endzeit; es wird erstellt, wenn für die Eingabe Zeiteigenschaften aktiviert wurden und der Zeittyp "Intervall" lautet.
Wenn Sie einen oder mehrere der folgenden Schritte durchführen, können Sie die Performance des Werkzeugs Features verbinden verbessern:
- Legen Sie die Ausdehnungsumgebung so fest, dass nur die gewünschten Daten analysiert werden.
- Legen Sie die Bedingungen für die Verbindung möglichst genau fest. Beispiel: Die Performance ist besser, wenn Sie bei denselben Daten für die Near-Verbindung einen statt fünf Kilometer angeben.
- Fügen Sie mehrere Verbindungsbedingungen hinzu. Zusätzliche Verbindungsbedingungen machen die Verbindung genauer. Beispiel: Die Performance ist besser, wenn Sie bei denselben Daten für die Near-Verbindung einen Kilometer und eine Stunde und nicht nur einen Kilometer angeben.
- Wenden Sie einen Verbindungsausdruck an.
- Verwenden Sie lokale Daten an der Stelle, an der die Analyse ausgeführt wird.
Eine ähnliche Analyse ist auch mit dem Werkzeug Räumliche Verbindung in der Toolbox "Analysis" möglich.
Dieses Geoverarbeitungswerkzeug wird unterstützt durch Spark. Bei Analysen auf Ihrem Desktop-Computer werden mehrere Kerne parallel verwendet. Weitere Informationen über die Ausführung der Analyse finden Sie unter Überlegungen zu GeoAnalytics Desktop-Werkzeugen.
Bei der Ausführung von GeoAnalytics Desktop-Werkzeugen wird die Analyse auf Ihrem Desktop-Computer durchgeführt. Für eine optimale Performance sollten die Daten auf Ihrem Desktop verfügbar sein. Wenn Sie einen gehosteten Feature-Layer verwenden, wird empfohlen, ArcGIS GeoAnalytics Server zu verwenden. Wenn Ihre Daten nicht lokal verfügbar sind, dauert die Ausführung eines Werkzeugs bedeutend länger. Informationen zur Verwendung von ArcGIS GeoAnalytics Server für Analysen finden Sie unter GeoAnalytics Tools.
Parameter
arcpy.geoanalytics.JoinFeatures(target_layer, join_layer, output, join_operation, {spatial_relationship}, {spatial_near_distance}, {temporal_relationship}, {temporal_near_distance}, {attribute_relationship}, {summary_fields}, {join_condition}, {keep_all_target_features})
Name | Erläuterung | Datentyp |
target_layer | Enthält die Ziel-Features. Die Attribute der Ziel-Features und die Attribute aus den verbundenen Features werden in die Ausgabe übertragen. | Table View |
join_layer | Enthält die Verbindungs-Features. Die Attribute aus den Verbindungs-Features werden mit den Attributen der Ziel-Features verbunden. In der Erläuterung zum Parameter Verbindungsvorgang (join_operation in Python) finden Sie Informationen darüber, inwiefern sich der Verbindungsvorgang auf die Aggregation der verbundenen Attribute auswirkt. | Table View |
output | Eine neue Feature-Class, die Ziel-Layer-Features mit Verbindungs-Features enthält. | Feature Class;Table |
join_operation | Gibt die Behandlung von Verbindungen zwischen den Werten von target_layer und den Werten von join_layer im Ausgabe-Feature an, wenn mehrere Verbindungs-Features gefunden werden, die über die gleiche räumliche Beziehung zu einem einzelnen Ziel-Feature verfügen.
| String |
spatial_relationship (optional) | Gibt die Kriterien für die räumliche Verbindung von Features an.
| String |
spatial_near_distance (optional) |
Die Entfernung von einem Ziel-Feature unter Berücksichtigung der Verbindungs-Features für eine räumliche Verbindung. Ein Suchradius ist nur gültig, wenn für den Parameter spatial_relationship der Wert NEAR oder NEAR_GEODESIC angegeben ist. | Linear Unit |
temporal_relationship (optional) | Gibt die zeitlichen Kriterien für die Zuordnung von Features an.
| String |
temporal_near_distance (optional) |
Die zeitliche Entfernung von einem Ziel-Feature unter Berücksichtigung der Verbindungs-Features für eine räumliche Verbindung. Eine Zeit ist nur gültig, wenn für den Parameter temporal_relationship der Wert NEAR, NEAR_BEFORE oder NEAR_AFTER angegeben ist und für beide Features Zeiteigenschaften aktiviert sind. | Time Unit |
attribute_relationship [attribute_relationship,...] (optional) | Verbindet Features basierend auf Werten innerhalb eines Attributfeldes. Geben Sie das Attributfeld aus dem Ziel-Layer an, das dem Attributfeld aus dem Join-Layer entspricht.
| Value Table |
summary_fields [summary_fields,...] (optional) | Die Statistiken, die für bestimmte Felder berechnet werden.
| Value Table |
join_condition (optional) | Wendet eine Bedingung auf angegebene Felder an. Nur Features mit Feldern, die diese Bedingungen erfüllen, werden verbunden. Beispiel: Sie könnten eine Verbindungsbedingung auf Features anwenden, bei denen das Attribut "HealthSpending" (Gesundheitskosten) im Join-Layer mehr als 20 Prozent vom Attribut "Income" (Einkommen) im Ziel-Layer ausmacht. Verwenden Sie einen Arcade-Ausdruck wie $join["HealthSpending"] > $target["Income"] * .2. | String |
keep_all_target_features (optional) | Gibt an, ob in der Ausgabe-Feature-Class alle Ziel-Features beibehalten werden (Left Outer Join) oder nur jene, die über die angegebenen Beziehungen zu den Verbindungs-Features verfügen (Inner Join).
| Boolean |
Codebeispiel
Das folgende eigenständige Skript veranschaulicht, wie die Funktion JoinFeatures verwendet wird.
# Name: JoinFeatures.py
# Description: Join crime events that are close together in time and space, and
# return the count of nearby crimes. This example is a self join
# (joining the same layer to itself).
# Import system modules
import arcpy
arcpy.env.workspace = "C:/data/CityData.gdb"
# Enable time on the input features using an .lyrx file.
# To create the .lyrx file, add your layer to a map, open the layer properties
# and enable time. Then right-click the layer and select Share As Layer File.
inputLyrx = r'C:\data\ChicagoCrimes.lyrx'
# MakeFeatureLayer converts the .lyrx to features
chicagoCrimesLayer = arcpy.management.MakeFeatureLayer(inputLyrx, "Crimes_layer")
# ApplySymbologyFromLayer sets the time using the .lyrx file definition
arcpy.management.ApplySymbologyFromLayer(chicagoCrimesLayer, inputLyrx)
# Set local variables
spatialOperation = "NEAR"
nearDistance = "1 Kilometers"
temporalOperation = "NEAR"
nearTime = "3 Hours"
out = "CloseCrimes"
# Run Join Features
arcpy.gapro.JoinFeatures(chicagoCrimesLayer, inFeatures, out, "JOIN_ONE_TO_ONE",
spatialOperation, nearDistance, temporalOperation,
nearTime)