Attribute aus Polygon verbinden (Crime Analysis and Safety)

Zusammenfassung

Verbindet Attribute aus Eingabe-Polygon-Features mit Eingabe-Punkt-Features.

Verwendung

  • Das Werkzeug überträgt Attribute aus dem Parameterwert Eingabe-Polygon-Features in den Parameterwert Ziel-Punkt-Features, wenn ein Punkt-Feature sich vollständig in einem Polygon-Feature befindet oder darin enthalten ist.

  • Standardmäßig werden keine Attribute des Wertes Eingabe-Polygon-Features an die Attribute des Wertes Ziel-Punkt-Features angehängt. Sie können definieren, welche Attribute dem Wert Ziel-Punkt-Features hinzugefügt werden, indem Sie diese im Parameter Join-Felder angeben.

  • Wenn ein Feature im Wert Ziel-Punkt-Features in mehreren Features im Wert Eingabe-Polygon-Features enthalten ist, erhält der Punkt das Attribut von dem Polygon mit dem größten Objekt-ID-Wert.

Parameter

BeschriftungErläuterungDatentyp
Zielpunkt-Features

Die Punkt-Features, die mit den Attributen des Parameterwertes Eingabe-Polygon-Features aktualisiert werden.

Die Punkt-Features, die mit den Attributen des Parameterwertes in_features aktualisiert werden.

Feature Layer
Eingabe-Polygon-Features

Die Eingabe-Polygon-Features.

Feature Layer
Join-Felder
(optional)

Die Felder aus den Eingabe-Polygon-Features, die an die Ziel-Punkt-Features angehängt werden.

Field
Übereinstimmende Felder in den Zielpunkt-Features überschreiben
(optional)

Gibt an, ob vorhandene Felder im Parameterwert Ziel-Punkt-Features mit Namen, die mit Feldern im Parameterwert Join-Felder übereinstimmen, überschrieben werden.

  • Aktiviert: Die übereinstimmenden Felder werden überschrieben.
  • Deaktiviert: Die vorhandenen Felder werden nicht überschrieben, und es werden neue Felder generiert. Dies ist die Standardeinstellung.
Boolean

Abgeleitete Ausgabe

BeschriftungErläuterungDatentyp
Aktualisierte Punkt-Features

Die aktualisierten Punkt-Features.

Feature Layer

arcpy.ca.JoinAttributesFromPolygon(target_features, in_features, {fields}, {overwrite_option})
NameErläuterungDatentyp
target_features

Die Punkt-Features, die mit den Attributen des Parameterwertes in_features aktualisiert werden.

Feature Layer
in_features

Die Eingabe-Polygon-Features.

Feature Layer
fields
[fields,...]
(optional)

Die Felder aus den Eingabe-Polygon-Features, die an die Ziel-Punkt-Features angehängt werden.

Field
overwrite_option
(optional)

Gibt an, ob vorhandene Felder im Parameterwert target_features mit Namen, die mit Feldern im Parameterwert fields übereinstimmen, überschrieben werden.

  • OVERWRITEDie übereinstimmenden Felder werden überschrieben.
  • NO_OVERWRITEDie vorhandenen Felder werden nicht überschrieben, und es werden neue Felder generiert. Dies ist die Standardeinstellung.
Boolean

Abgeleitete Ausgabe

NameErläuterungDatentyp
out_features

Die aktualisierten Punkt-Features.

Feature Layer

Codebeispiel

JoinAttributesFromPolygon: Beispiel 1 (Python-Fenster)

Das folgende Skript für das Python-Fenster veranschaulicht, wie die Funktion JoinAttributesFromPolygon im unmittelbaren Modus verwendet wird.

import arcpy
arcpy.env.workspace = r"C:\data\city_pd.gdb"
arcpy.ca.JoinAttributesFromPolygon("Arrests", "Precincts")
JoinAttributesFromPolygon: Beispiel 2 (eigenständiges Skript)

Das folgende Python-Skript veranschaulicht, wie die Funktion JoinAttributesFromPolygon in einem eigenständigen Skript verwendet wird.

# Name: JoinAttributesFromPolygon.py
# Description:  Add police precinct ID and name to arrests, then print the number of arrests by precinct.

# import system modules 
import arcpy

# Set environment settings
arcpy.env.workspace = r"C:\data\city_pd.gdb"

# Set local variables
target_features = "Arrests"
in_features = "Precincts"
join_fields = ['districtid', 'name'] # Police Precinct ID and Name

# Run JoinAttributesFromPolygon
arcpy.ca.JoinAttributesFromPolygon(target_features, in_features, join_fields)

# Print count of arrest by precinct
count_dict = {}
with arcpy.da.SearchCursor(target_features, 'name') as cursor:
    for row in cursor:
        try:
            count_dict[row[0]] += 1
        except:
            count_dict[row[0]] = 1

for precinct, count in count_dict.items():
    print("Name: " + precinct + " Arrests: " + str(count))

Lizenzinformationen

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

Verwandte Themen