Beschriftung | Erläuterung | Datentyp |
Ziel-Layer | Enthält die Ziel-Features. Die Attribute aus den 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 finden Sie Informationen zu den Auswirkungen des Typs des Verbindungsvorgangs auf die Aggregation der verbundenen Attribute. | Table View |
Ausgabe-Dataset | Die neue Feature-Class, in der die Attribute der Ziel-Layer-Features mit verbundenen Features enthalten sind. | Feature Class;Table |
Verbindungsvorgang | Gibt an, wie Verbindungen zwischen den Werten für Ziel-Layer und den Werten für Join-Layer in der Ausgabe behandelt werden, wenn mehrere Verbindungs-Features ü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, innerhalb derer Verbindungs-Features für die räumliche Verbindung berücksichtigt werden. Ein Suchradius ist nur gültig, wenn der Wert des Parameters Räumliche Beziehung auf Nahe (planar) oder Nahe (geodätisch) festgelegt ist. | 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, innerhalb derer Verbindungs-Features für die räumliche Verbindung berücksichtigt werden. Eine Zeit ist nur gültig, wenn der Wert des Parameters Zeitliche Beziehung auf Nahe, Nahe vor oder Nahe nach festgelegt 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 einem 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. Ein Beispiel: Sie können eine Verbindungsbedingung auf Features anwenden, bei denen das Attribut "HealthSpending" (Gesundheitskosten) im Join-Layer mehr als 20 Prozent des Attributs "Income" (Einkommen) im Ziel-Layer ausmacht. Verwenden Sie einen Arcade-Ausdruck wie zum Beispiel $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 |
Entfernung einbeziehen (optional) | Gibt an, ob die räumliche Beziehung oder die zeitliche Differenz in das Ergebnis einbezogen wird. Dieser Parameter ist aktiv, wenn der Wert des Parameters Verbindungsvorgang auf Eins-zu-Viele-Verbindung festgelegt ist und eine der folgenden Bedingungen erfüllt ist:
| Boolean |
Entfernungseinheit (optional) | Gibt die Maßeinheit an, die für Entfernungswerte in der Ausgabe-Feature-Class verwendet wird.
| String |
Zusammenfassung
Verbindet Attribute aus einem Layer mit denen eines anderen basierend auf räumlichen, zeitlichen oder Attributbeziehungen oder einer Kombination aus diesen.
Abbildung
Verwendung
Bei einer räumlichen Verbindung werden Features (Zeilen) aus den Eingabe-Features (die Werte der Parameter Ziel-Layer und Join-Layer) basierend auf ihren räumlichen Positionen zugeordnet. Bei einer zeitlichen Verbindung werden Features (Zeilen) aus den Eingabe-Features basierend auf ihren zeitlichen Beziehungen zugeordnet. Bei einer Attributverbindung werden Features basierend auf Feldwerten zugeordnet.
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:
- Schneidet
- Gleich
- Nahe (planar): Verwendet planare Entfernungen.
- Nahe (geodätisch): Verwendet geodätische Entfernungen.
- Enthält
- Innerhalb
- Berührt
- Kreuzt
- Überlappt
Weitere Informationen zu räumlichen Beziehungen in GeoAnalytics Desktop-Werkzeugen
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
- Schneidet
- Nahe
- Nahe vor
- Nahe nach
Weitere Informationen zu zeitlichen Beziehungen in GeoAnalytics Desktop-Werkzeugen
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. Wenn ein Ausgabekoordinatensystem angegeben ist, werden beide Features in das Ausgabekoordinatensystem projiziert und anschließend verbunden.
Wenn der Wert des Parameters Räumliche Beziehung auf Nahe (planar) festgelegt ist, muss der Wert des Parameters Ziel-Layer projiziert oder das Ausgabekoordinatensystem auf ein projiziertes Koordinatensystem festgelegt werden.
Wenn mehrere Features mit dem gleichen Ziel-Feature übereinstimmen, können Sie wie folgt entscheiden, ob alle übereinstimmenden Features verbunden werden sollen (Wert Eins-zu-Viele-Verbindung für Verbindungsvorgang) oder ob alle übereinstimmenden Features zusammen verbunden werden (Wert Eins-zu-Eins-Verbindung für Verbindungsvorgang):
- 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: Alle übereinstimmenden Verbindungs-Features werden mit jedem Feature im Ziel-Layer zusammengefasst. 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 Zieldatensätze mit den angegebenen Beziehungen in der Ausgabe-Feature-Class beibehalten (dies wird als "Inner Join" bezeichnet). 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).
Sie können mit dem Parameter Verbindungsbedingung einen Ausdruck zum Verbinden von Features erstellen. Wenn Sie einen Ausdruck angeben, werden nur die Features verwendet, die die Bedingung erfüllen. 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 dem Feld Explosion sind. Weitere Informationen finden Sie unter Arcade-Ausdrücke in der Toolbox "GeoAnalytics Desktop".
Beim Ausführen einer Eins-zu-Viele-Verbindung sind die folgenden Felder in den Ausgabe-Features enthalten:
- Alle Felder aus den Ziel-Layern
- Alle Felder aus dem verbundenen Layer
Falls im Ziel- und im Verbindungs-Dataset ein Feld mit dem gleichen Namen vorhanden ist, beginnt der Name des verbundenen Feldes mit dem Wort "join" (z. B. join_fieldname).
Feldname Beschreibung start_date
Dieses Feld stellt die Startzeit dar. Es wird erstellt, wenn die Zeit für die Eingabe als Zeitpunkt oder als Intervall festgelegt ist.
end_date
Dieses Feld stellt die Endzeit dar. Es wird erstellt, wenn die Zeit für die Eingabe als Intervall festgelegt ist.
Beim Ausführen einer Eins-zu-Eins-Verbindung sind neben allen Feldern aus dem Ziel-Layer die folgenden Felder in den Ausgabe-Features enthalten:
Feldname Beschreibung count
Die Anzahl der verbundenen Features.
statistic_fieldname
Für jede der angegebenen Statistiken wird ein Attributfeld mit einem Namen im folgenden Format erstellt: Statistik_Feldname. So haben beispielsweise die maximale Abweichung und die Standardabweichung des Feldes id die Namen MAX_id und SD_id.
start_date
Dieses Feld stellt die Startzeit dar. Es wird erstellt, wenn die Zeit für die Eingabe als Zeitpunkt oder als Intervall festgelegt ist.
end_date
Dieses Feld stellt die Endzeit dar. Es wird erstellt, wenn die Zeit für die Eingabe als Intervall festgelegt ist.
Wenn der Parameter Entfernung einbeziehen aktiviert ist und der Parameter Verbindungsvorgang auf Eins-zu-Viele-Verbindung festgelegt ist, können die folgenden Felder in den Ausgabe-Features enthalten sein:
Feldname Beschreibung distance
Die Entfernung zwischen Ziel- und Verbindungs-Features. Dieses Feld ist enthalten, wenn der Parameter Räumliche Beziehung auf Nahe (planar) oder Nahe (geodätisch) festgelegt ist.
Eine Entfernung von 0 bedeutet, dass sich die Ziel- und Verbindungsgeometrien überschneiden. Ein NULL-Wert bedeutet, dass die Geometrien weiter voneinander entfernt sind, als mit dem Wert des Parameters Räumliche Near-Entfernung angegeben. Wenn der Wert des Parameters Räumliche Beziehung auf Nahe (planar) festgelegt ist, sind die Entfernungswerte planar. Wenn der Wert des Parameters auf Nahe (geodätisch) festgelegt ist, sind die Entfernungswerte geodätisch. Die Werte werden in den mit dem Parameter Entfernungseinheit angegebenen Einheiten angegeben. Die Standardentfernungseinheit ist "Meter".
timegap
Die zeitliche Differenz zwischen den Ziel- und Verbindungs-Features in Millisekunden. Dieses Feld ist enthalten, wenn der Parameter Zeitliche Beziehung auf Nahe, Nahe vor oder Nahe nach festgelegt ist.
Eine Differenz von 0 bedeutet, dass sich die Ziel- und Verbindungs-Features zeitlich überschneiden. Positive Werte bedeuten, dass das Ziel-Feature vor dem Verbindungs-Feature auftritt, und negative Werte bedeuten, dass das Verbindungs-Feature vor dem Ziel-Feature auftritt. NULL-Werte bedeuten, dass die Features die Verbindungsbedingung nicht erfüllen. Es kann beispielsweise sein, dass die Features weiter voneinander entfernt sind als mit dem Wert des Parameters Zeitliche Near-Entfernung angegeben.
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 Verbindungsbedingungen so selektiv wie möglich fest. Die Performance ist beispielsweise besser, wenn Sie bei denselben Daten für die Near-Verbindung einen statt fünf Kilometer angeben.
- Fügen Sie mehrere Verbindungsbedingungen hinzu. Durch zusätzliche Verbindungsbedingungen wird die Verbindung selektiver. Die Performance ist beispielsweise 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.
Ähnliche Analysen können auch mit dem Werkzeug Räumliche Verbindung in der Toolbox "Analysis" durchgeführt werden.
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}, {include_distance}, {distance_unit})
Name | Erläuterung | Datentyp |
target_layer | Enthält die Ziel-Features. Die Attribute aus den 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 finden Sie Informationen zu den Auswirkungen des Typs des Verbindungsvorgangs auf die Aggregation der verbundenen Attribute. | Table View |
output | Die neue Feature-Class, in der die Attribute der Ziel-Layer-Features mit verbundenen Features enthalten sind. | Feature Class;Table |
join_operation | Gibt an, wie Verbindungen zwischen den Werten für target_layer und den Werten für join_layer im Ausgabe-Feature behandelt werden, wenn mehrere Verbindungs-Features ü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, innerhalb derer Verbindungs-Features für die räumliche Verbindung berücksichtigt werden. Ein Suchradius ist nur gültig, wenn der Wert des Parameters spatial_relationship auf NEAR oder NEAR_GEODESIC festgelegt 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, innerhalb derer Verbindungs-Features für die räumliche Verbindung berücksichtigt werden. Eine Zeit ist nur gültig, wenn der Wert des Parameters temporal_relationship auf NEAR, NEAR_BEFORE oder NEAR_AFTER festgelegt 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 einem 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. Ein Beispiel: Sie können eine Verbindungsbedingung auf Features anwenden, bei denen das Attribut "HealthSpending" (Gesundheitskosten) im Join-Layer mehr als 20 Prozent des Attributs "Income" (Einkommen) im Ziel-Layer ausmacht. Verwenden Sie einen Arcade-Ausdruck wie zum Beispiel $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 |
include_distance (optional) | Gibt an, ob die räumliche Beziehung oder die zeitliche Differenz in das Ergebnis einbezogen wird. Dieser Parameter ist aktiv, wenn der Wert des Parameters join_operation auf JOIN_ONE_TO_MANY festgelegt ist und eine der folgenden Bedingungen erfüllt ist:
| Boolean |
distance_unit (optional) | Gibt die Maßeinheit an, die für Entfernungswerte in der Ausgabe-Feature-Class verwendet wird.
| String |
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)