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.
Optionen 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. Diese Option ist erst ab ArcGIS Enterprise 10.7.1 verfügbar.
- Enthält
- Innerhalb
- Berührt
- Kreuzt
- Überlappt
Weitere Informationen über räumliche Beziehungen in GeoAnalytics Server-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
- Während
- Enthält
- Gleich
- Beendet
- Beendet von
- Startet
- Gestartet von
- Schneidet
- Nahe
- Nahe vor
- Nahe nach
Weitere Informationen über zeitliche Beziehungen in GeoAnalytics Server-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. 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 vielen verbinden) oder ob alle übereinstimmenden Features zusammen verbunden werden (Eins zu eins verbinden):
- Eins zu vielen verbinden: 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 verbinden: 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. Weitere Informationen finden Sie unter Join Features expressions.
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_datetime
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_datetime
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_datetime
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_datetime
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 Tracks rekonstruieren verbessern:
- Legen Sie die Ausdehnungsumgebung so fest, dass nur die gewünschten Daten analysiert werden.
- Verwenden Sie anstelle der Methode "Geodätisch" die Methode "Planar".
- Wenden Sie keinen Puffer an.
- Teilen Sie die Tracks mit dem Parameter Zeitaufteilung, Aufteilung nach Zeitgrenze, Entfernungsaufteilung oder Teilungsausdruck. Mit dem Parameter Aufteilung nach Zeitgrenze sind die größten Performance-Steigerungen möglich.
- 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 ArcGIS GeoAnalytics Server. Die Analyse wird auf dem GeoAnalytics Server ausgeführt, und die Ergebnisse werden in den eigenen Inhalten in ArcGIS Enterprise gespeichert.
Bei der Ausführung von GeoAnalytics Server-Werkzeugen wird die Analyse auf dem GeoAnalytics Server abgeschlossen. Für eine optimale Performance sollten die Daten dem GeoAnalytics Server über Feature-Layer zur Verfügung stehen, die auf Ihrem ArcGIS Enterprise-Portal gehostet werden. Alternativ können Big-Data-Dateifreigaben verwendet werden. Daten, auf die der GeoAnalytics Server nicht lokal zugreifen kann, werden vor Analysebeginn auf den GeoAnalytics Server verschoben. Dadurch dauert die Ausführung eines Werkzeugs länger. Es kann zudem vorkommen, dass das Verschieben der Daten von ArcGIS Pro zum GeoAnalytics Server fehlschlägt. Die Wahrscheinlichkeit eines Fehlers hängt dabei von der Netzwerkgeschwindigkeit sowie der Größe und Komplexität der Daten ab. Daher wird empfohlen, dass Sie Ihre Daten stets freigeben oder eine Big-Data-Dateifreigabe erstellen.
Weitere Informationen zum Freigeben von Daten in Ihrem Portal
Weitere Informationen zum Erstellen einer Big-Data-Dateifreigabe über Server Manager
Syntax
arcpy.geoanalytics.JoinFeatures(target_layer, join_layer, output_name, join_operation, {spatial_relationship}, {spatial_near_distance}, {temporal_relationship}, {temporal_near_distance}, {attribute_relationship}, {summary_fields}, {join_condition}, {data_store}, {keep_all_target_features})
Parameter | Erklärung | 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. | Record Set |
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 Zusammenfassung der verbundenen Attribute auswirkt. | Record Set |
output_name | String | |
join_operation | Gibt die Behandlung von Verbindungen zwischen den Werten des target_layer und den Werten des 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 angegeben ist.NEAR_GEODESIC | Linear Unit |
temporal_relationship (optional) | Gibt die zeitlichen Kriterien für die Zuordnung von Features an.
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. In Version 10.5 und 10.5.1 lautet die zu verwendende Verbindungsbedingung für die Anwendung dieses Ausdrucks join["HealthSpending"] > target["Income"] * .2. Verwenden Sie ab Version 10.6 einen Arcade-Ausdruck wie $join["HealthSpending"] > $target["Income"] * .2. | String |
data_store (optional) | Gibt den ArcGIS Data Store für das Speichern der Ausgabe an. Die Standardeinstellung ist SPATIOTEMPORAL_DATA_STORE. Alle in einem Big Data Store vom Typ "spatiotemporal" gespeicherten Ergebnisse werden im WGS84 gespeichert. Ergebnisse, die in einem Data Store vom Typ "relational" gespeichert werden, behalten ihr Koordinatensystem bei.
| 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 |
Abgeleitete Ausgabe
Name | Erklärung | Datentyp |
output | Die verbundene Ausgabe. | Datensatz |
Codebeispiel
Im folgenden eigenständigen Skript wird veranschaulicht, wie das Werkzeug 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).
# Requirements: ArcGIS GeoAnalytics Server
# Import system modules
import arcpy
# Set local variables
inFeatures = "https://MyGeoAnalyticsMachine.domain.com/geoanalytics/rest/services/DataStoreCatalogs/bigDataFileShares_Crimes/BigDataCatalogServer/Chicago"
spatialOperation = "NEAR"
nearDistance = "1 Kilometers"
temporalOperation = "NEAR"
nearTime = "3 Hours"
outFS = "CloseCrimes"
dataStore = "SPATIOTEMPORAL_DATA_STORE"
# Execute Join Features
arcpy.geoanalytics.JoinFeatures(inFeatures, inFeatures, outFS, "JOIN_ONE_TO_ONE",
spatialOperation, nearDistance, temporalOperation,
nearTime, None, None, None, dataStore)
Umgebungen
- Ausgabe-Koordinatensystem
Das Koordinatensystem, das für die Analyse verwendet wird. Die Analyse wird im Eingabe-Koordinatensystem ausgeführt, sofern nicht anders durch diesen Parameter angegeben. Für GeoAnalytics Tools werden die Endergebnisse im Data Store vom Typ "spatiotemporal" in WGS84 gespeichert.
Lizenzinformationen
- Basic: Erfordert ArcGIS GeoAnalytics Server
- Standard: Erfordert ArcGIS GeoAnalytics Server
- Advanced: Erfordert ArcGIS GeoAnalytics Server