Zusammenfassung
Verbindet Attribute aus Eingabe-Polygon-Features mit Eingabe-Punkt-Features.
Verwendung
Das Werkzeug überträgt Attribute aus Eingabe-Polygon-Features in Ziel-Punkt-Features, wenn ein Punkt-Feature sich vollständig in einem Polygon-Feature befindet oder darin enthalten ist.
Standardmäßig werden keine Attribute der Eingabe-Polygon-Features an die Attribute der Ziel-Punkt-Features angehängt. Sie können definieren, welche Attribute den Ziel-Punkt-Features hinzugefügt werden, in dem Sie diese im Parameter Join-Felder angeben.
Wenn ein Feature in Ziel-Punkt-Features in mehreren Features in Eingabe-Polygon-Features enthalten ist, erhält der Punkt das Attribut von dem Polygon mit dem größten Objekt-ID-Wert.
Syntax
arcpy.ca.JoinAttributesFromPolygon(target_features, in_features, fields)
Parameter | Erklärung | Datentyp |
target_features | Die Punkt-Features, die mit Attributen aus den in_features aktualisiert werden. | Feature Layer |
in_features | Die Eingabe-Polygon-Features. | Feature Layer |
fields [fields,...] | Die Felder aus den Eingabe-Polygon-Features, die an die Ziel-Punkt-Features angehängt werden. | Field |
Abgeleitete Ausgabe
Name | Erklärung | Datentyp |
out_features | Die aktualisierten Punkt-Features. | Feature-Layer |
Codebeispiel
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")
Das folgende Python-Skript veranschaulicht die Verwendung der Funktion JoinAttributesFromPolygon in einem eigenständigen Skript.
# Name: JoinAttributesFromPolygon.py
# Description: Adding police precinct id and name to arrests, then printing 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
# Execute 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))
Umgebungen
Lizenzinformationen
- Basic: Ja
- Standard: Ja
- Advanced: Ja