Features verbinden (GeoAnalytics Desktop)

Zusammenfassung

Verbindet Attribute aus einem Layer mit denen eines anderen basierend auf räumlichen, zeitlichen oder Attributbeziehungen bzw. einer Kombination aus diesen.

Abbildung

Werkzeug "Features verbinden"
Features verbinden: beide Beispiele weisen eine räumlich/zeitliche Verbindung auf.

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.

    OptionBeschreibung

    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 über räumliche 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
    • Während
    • Enthält
    • Gleich
    • Beendet
    • Beendet von
    • Startet
    • Gestartet von
    • Schneidet
    • Nahe
    • Nahe vor
    • Nahe nach

    Weitere Informationen über zeitliche 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. 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).
    Beispiele für die Verbindung von eins zu viele und eins zu eins
    Dies sind Beispiele für eine Eins-zu-Viele- und eine Eins-zu-eins-Verbindung. In diesem Beispiel beinhaltet die Eins-zu-eins-Verbindung nur die Anzahl. Weitere Statistiken können wie unten angegeben berechnet werden.

  • 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 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).

    FeldnameBeschreibung

    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:

    FeldnameBeschreibung

    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.

Syntax

arcpy.gapro.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})
ParameterErklärungDatentyp
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 Zusammenfassung 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 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.

  • JOIN_ONE_TO_ONE Die Attribute aus den verschiedenen Verbindungs-Features werden aggregiert. Wenn in zwei separaten Polygon-Verbindungs-Features beispielsweise ein einzelnes Punkt-Ziel-Feature gefunden wird, werden die Attribute aus den beiden Polygonen zusammengefasst, bevor sie in die Ausgabe-Point-Feature-Class übertragen werden. Verfügt ein Polygon über einen Attributwert von 3 und das andere über einen Wert von 7, lautet der zusammengefasste Wert in der Ausgabe-Feature-Class 10, wenn das Ergebnis der Summenstatistik angegeben wird. Dies ist der Standard, bei dem nur die Zählstatistik zurückgegeben wird.
  • JOIN_ONE_TO_MANYDie Ausgabe-Feature-Class enthält mehrere Kopien (Datensätze) des Ziel-Features. Wenn zum Beispiel ein einzelnes Punkt-Ziel-Feature in zwei separaten Polygon-Verbindungs-Features gefunden wird, enthält die Ausgabe-Feature-Class zwei Kopien des Ziel-Features: einen Eintrag mit den Attributen des einen Polygons und einen Eintrag mit den Attributen des anderen Polygons. Für diese Methode ist keine Summenstatistik verfügbar.
String
spatial_relationship
(optional)

Gibt die Kriterien für die räumliche Verbindung von Features an.

  • INTERSECTSDie Features in den Verbindungs-Features werden zugeordnet, wenn sie ein Ziel-Feature schneiden. Dies ist die Standardeinstellung.
  • EQUALS Die Features in den Verbindungs-Features werden zugeordnet, wenn sie über die gleiche Geometrie wie das Ziel-Feature verfügen.
  • NEARDie Features in den Verbindungs-Features werden zugeordnet, wenn sie sich innerhalb einer bestimmten Entfernung zum Ziel-Feature befinden. Die Entfernung wird als planare Entfernung gemessen. Geben Sie im Parameter spatial_near_distance eine Entfernung an.
  • NEAR_GEODESICDie Features in den Verbindungs-Features werden zugeordnet, wenn sie sich innerhalb einer bestimmten Entfernung zum Ziel-Feature befinden. Die Entfernung wird geodätisch gemessen. Geben Sie im Parameter spatial_near_distance eine Entfernung an.
  • CONTAINSDie Features in den Verbindungs-Features werden zugeordnet, wenn ein Ziel-Feature sie enthält. Als Ziel-Features müssen Polygone oder Polylinien verwendet werden. Die Verbindungs-Features können nur dann Polygone sein, wenn die Ziel-Features auch Polygone sind. Ein Polygon kann jeden beliebigen Feature-Typ enthalten. Eine Polylinie kann nur Polylinien und Punkte enthalten. Ein Punkt kann kein Feature enthalten, nicht einmal einen Punkt. Wenn sich das Verbindungs-Feature vollständig auf der Grenze des Ziel-Features befindet (kein Teil liegt inner- oder außerhalb), wird das Feature nicht zugeordnet.
  • WITHINDie Features in den Verbindungs-Features werden zugeordnet, wenn sich ein Ziel-Feature innerhalb von ihnen befindet. Es ist das Gegenteil der Beziehung "Enthält". Bei dieser Option können die Ziel-Features nur dann Polygone sein, wenn es sich bei den Verbindungs-Features ebenfalls um Polygone handelt. Ein Punkt kann nur dann ein Join-Features sein, wenn ein Punkt auch ein Ziel-Feature ist. Wenn das gesamte Feature in den Verbindungs-Features sich auf der Grenze des Ziel-Features befindet, wird das Feature nicht zugeordnet.
  • TOUCHESDie Features in den Verbindungs-Features werden zugeordnet, wenn ihre Grenze ein Ziel-Feature berührt. Wenn es sich bei den Ziel- und Verbindungs-Features um Linien oder Polygone handelt, kann die Grenze der Verbindungs-Features die Grenze des Ziel-Features nur berühren. Kein Teil des Verbindungs-Features kann die Grenze des Ziel-Features durchdringen.
  • CROSSESDie Features in den Verbindungs-Features werden zugeordnet, wenn ein Ziel-Feature durch ihren Umriss gekreuzt wird. Die Verbindungs- und Ziel-Features müssen über eine Linien- oder Polygonform verfügen. Wenn für die Verbindungs- oder Ziel-Features Polygone verwendet werden, wird die Grenze (Linie) des Polygons verwendet. Linien, die einen Punkt schneiden, werden zugeordnet. Dies gilt jedoch nicht für Linien, die ein Liniensegment gemeinsam haben.
  • OVERLAPSDie Features in den Verbindungs-Features werden zugeordnet, wenn sie sich mit einem Ziel-Feature überschneiden.
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.

  • MEETSWenn ein Zielzeitintervallende gleich dem Verbindungszeitintervallstart ist, entspricht die Zielzeit der Verbindungszeit.
  • MET_BYWenn ein Zielzeitintervallstart gleich dem Verbindungszeitintervallende ist, wird die Zielzeit von der Verbindungszeit erfüllt.
  • OVERLAPSWenn ein Zielzeitintervall vor dem Start und Ende eines Verbindungszeitintervalls beginnt und endet, überlappt die Zielzeit die Verbindungszeit.
  • OVERLAPPED_BYWenn ein Zielzeitintervall nach der Start- und Endzeit eines Verbindungszeitintervalls beginnt und endet, wird die Zielzeit von der Verbindungszeit überlappt.
  • DURINGWenn eine Zielzeit zwischen dem Start und dem Ende eines Verbindungszeitintervalls auftritt, liegt die Zielzeit während der Verbindungszeit.
  • CONTAINSWenn eine Verbindungs-Feature-Zeit zwischen dem Start und dem Ende eines Zielzeitintervalls auftritt, enthält die Zielzeit die Verbindungszeit.
  • EQUALSZwei Zeiten sind gleich, wenn die Zeitpunkte oder Intervalle identisch sind.
  • FINISHESWenn eine Zielzeit zeitgleich mit einer Verbindungszeit endet und die Zielzeit nach der Verbindungszeit begonnen hat, beendet die Zielzeit die Verbindungszeit.
  • FINISHED_BYWenn eine Verbindungszeit zeitgleich mit einer Zielzeit endet und die Verbindungszeit nach der Zielzeit begonnen hat, wird die Zielzeit von der Verbindungszeit beendet.
  • STARTSWenn eine Zielzeit zeitgleich mit einem Verbindungszeitintervall beginnt und vor dem Intervallende der Verbindungszeit endet, dann startet die Zielzeit die Verbindungszeit.
  • STARTED_BYWenn eine Zielintervallzeit zeitgleich mit einer Verbindungszeit beginnt und nach der Verbindungszeit endet, dann wird die Zielzeit von der Verbindungszeit gestartet.
  • INTERSECTSWenn ein Teil der Zielzeit zeitgleich mit der Verbindungszeit auftritt, dann schneidet die Zielzeit die Verbindungszeit.
  • NEARWenn eine Zielzeit innerhalb eines angegebenen Bereichs der Verbindungszeit auftritt, dann ist die Zielzeit nahe der Verbindungszeit.
  • NEAR_BEFOREWenn eine Zielzeit vor der Verbindungszeit liegt, aber innerhalb eines angegebenen Bereichs ausgehend von der Verbindungszeit auftritt, dann ist die Zielzeit nahe vor der Verbindungszeit.
  • NEAR_AFTERWenn eine Zielzeit nach der Verbindungszeit liegt, aber innerhalb eines angegebenen Bereichs ausgehend von der Verbindungszeit auftritt, dann ist die Zielzeit nahe nach der Verbindungszeit.
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.

  • Zielfeld: ein Attributfeld aus dem Ziel-Layer mit zuzuordnenden Werten.
  • Join-Feld: ein Attributfeld aus dem Join-Layer mit zuzuordnenden Werten.

Value Table
summary_fields
[summary_fields,...]
(optional)

Die Statistiken, die für bestimmte Felder berechnet werden.

  • COUNT: Die Anzahl der Nicht-NULL-Werte. Es kann für numerische Felder oder Zeichenfolgen verwendet werden. Die Anzahl von [null, 0, 2] ist 2.
  • SUM: Die Summe der numerischen Werte in einem Feld. Die Summe von [null, null, 3] ist 3.
  • MEAN: Der Mittelwert der numerischen Werte. Der Mittelwert von [0,2, null] ist 1.
  • MIN: Der Minimalwert eines numerischen Feldes. Das Minimum von [0, 2, null] ist 0.
  • MAX: Der Maximalwert eines numerischen Feldes. Der Maximalwert von [0, 2, null] ist 2.
  • STDDEV: Die Standardabweichung eines numerischen Feldes. Die Standardabweichung von [1] ist null. Die Standardabweichung von [null, 1,1,1] ist null.
  • VAR: Die Varianz eines numerischen Feldes in einem Track. Die Varianz von [1] ist null. Die Varianz von [null, 1,1,1] ist null.
  • RANGE: Der Bereich eines numerischen Feldes. Dieser wird durch die Subtraktion der Minimalwerte vom Maximalwert berechnet. Der Bereich von [0, null, 1] ist 1. Der Bereich von [null, 4] ist 0.
  • ANY: Dies ist eine Beispielzeichenfolge aus einem Feld vom Typ "Zeichenfolge".

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).

  • KEEP_ALLAlle Ziel-Features werden in der Ausgabe beibehalten (Left Outer Join).
  • KEEP_COMMONNur die Ziel-Features, die über die angegebene Beziehung verfügen, werden in der Ausgabe-Feature-Class beibehalten (Inner Join). Dies ist die Standardeinstellung.
Boolean

Codebeispiel

JoinFeatures – Beispiel (eigenständiges Skript)

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).
# Import system modules 
import arcpy 
arcpy.env.workspace = "C:/data/CityData.gdb"
# Set local variables 
inFeatures = "Chicago"
spatialOperation = "NEAR" 
nearDistance = "1 Kilometers" 
temporalOperation = "NEAR" 
nearTime = "3 Hours" 
out = "CloseCrimes"
# Execute Join Features
arcpy.gapro.JoinFeatures(inFeatures, inFeatures, out, "JOIN_ONE_TO_ONE", 
                         spatialOperation, nearDistance, temporalOperation, 
                         nearTime)

Lizenzinformationen

  • Basic: Nein
  • Standard: Nein
  • Advanced: Ja

Verwandte Themen