Räumliche Verbindung (Analyse)

Zusammenfassung

Vereinigt Attribute einer Feature-Class basierend auf einer räumlichen Beziehung mit den Attributen einer anderen. Die Ziel-Features und die vereinigten Attribute aus den Verbindungs-Features werden in die Ausgabe-Feature-Class geschrieben.

Verwendung

Syntax

SpatialJoin_analysis (target_features, join_features, out_feature_class, {join_operation}, {join_type}, {field_mapping}, {match_option}, {search_radius}, {distance_field_name})
ParameterErläuterungDatentyp
target_features

Die Attribute der Ziel-Features und die Attribute aus den verbundenen Features werden in die Ausgabe-Feature-Class übertragen. Eine Untermenge der zu übertragenden Attribute kann aber im Parameter "Feldzuordnung" definiert werden. Bei den Ziel-Features kann es sich um beliebige räumliche Datenquellen handeln, die von ArcGIS unterstützt werden.

Feature Layer
join_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 darüber, inwiefern sich der Verbindungsvorgang auf die Zusammenfassung der verbundenen Attribute auswirkt. Bei den Verbindungs-Features kann es sich um beliebige räumliche Datenquellen handeln, die von ArcGIS unterstützt werden.

Feature Layer
out_feature_class

Eine neue Feature-Class, in der die Attribute der Ziel- und Verbindungs-Features enthalten sind. Standardmäßig werden alle Attribute der Ziel-Features und die Attribute der verbundenen Features in die Ausgabe geschrieben. Welche Attribute übertragen werden, kann jedoch vom Parameter "Feldzuordnung" gesteuert werden.

Feature Class
join_operation
(optional)

Bestimmt die Behandlung von Verbindungen zwischen den Ziel-Features und den Verbindungs-Features in der Ausgabe-Feature-Class, wenn mehrere Verbindungs-Features gefunden werden, die über die gleiche räumliche Beziehung zu einem einzelnen Ziel-Feature verfügen.

  • JOIN_ONE_TO_ONEWenn mehrere Verbindungs-Features gefunden werden, die über die gleiche räumliche Beziehung zu einem einzelnen Ziel-Feature verfügen, werden die Attribute aus den vielen Verbindungs-Features mithilfe einer Feldzuordnungs-Vereinigungsregel zusammengefasst. Wenn innerhalb von 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-Punkt-Feature-Class übertragen werden. Wenn ein Polygon den Attributwert 3 und das andere den Wert 7 hat und die Vereinigungsregel "Sum" angegeben ist, ist der zusammengefasste Wert in der Ausgabe-Feature-Class 10. Die Option "JOIN_ONE_TO_ONE" ist die Standardeinstellung.
  • JOIN_ONE_TO_MANYFalls mehrere Verbindungs-Features gefunden werden, die über die gleiche räumliche Beziehung zu einem einzelnen Ziel-Feature verfügen, enthält die Ausgabe-Feature-Class mehrere Kopien (Einträge) des Ziel-Features. Wenn zum Beispiel ein einzelnes Punkt-Ziel-Feature innerhalb von 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.
String
join_type
(optional)

Ermittelt, ob in der Ausgabe-Feature-Class alle Ziel-Features beibehalten werden (Outer Join) oder nur jene, die über die angegebene räumliche Beziehung zu den Verbindungs-Features verfügen (Inner Join).

  • KEEP_ALLAlle Ziel-Features werden in der Ausgabe beibehalten (Outer Join). Dies ist die Standardeinstellung.
  • KEEP_COMMON Nur die Ziel-Features, die über die angegebene räumliche Beziehung zu den Verbindungs-Features verfügen, werden in der Ausgabe-Feature-Class beibehalten (Inner Join). Wenn beispielsweise eine Point-Feature-Class für die Ziel-Features und eine Polygon-Feature-Class für die Verbindungs-Features angegeben ist und die Abgleichoption "WITHIN" lautet, enthält die Ausgabe-Feature-Class nur die Ziel-Features, die sich innerhalb eines Polygon-Verbindungs-Features befinden. Alle Ziel-Features, die sich nicht innerhalb eines Verbindungs-Features befinden, werden von der Ausgabe ausgeschlossen.
Boolean
field_mapping
(optional)

Steuert, welche Attributfelder in der Ausgabe-Feature-Class enthalten sind. Die ursprüngliche Liste enthält alle Felder aus den Ziel-Features und den Verbindungs-Features. Felder können hinzugefügt, gelöscht oder umbenannt und die Eigenschaften der Felder geändert werden. Die ausgewählten Felder aus den Ziel-Features werden ohne Veränderung übertragen, aber die ausgewählten Felder aus den Verbindungs-Features können durch eine gültige Vereinigungsregel zusammengefasst werden. Weitere Informationen zur Feldzuordnung finden Sie in den Hilfe-Themen Verwenden des Feldzuordnung-Steuerelements und Zuordnen von Eingabefeldern zu Ausgabefeldern.

Field Mappings
match_option
(optional)

Definiert die Kriterien für den Abgleich von Zeilen. Es gibt die folgenden Abgleichoptionen:

  • INTERSECT – Die Features in den Verbindungs-Features werden ausgewählt, wenn sie ein Ziel-Feature schneiden. Dies ist die Standardeinstellung.
  • CONTAINS – Die Features in den Verbindungs-Features werden ausgewählt, wenn ein Ziel-Feature sie enthält. Bei dieser Option können die Ziel-Features keine Punkte sein, und die Verbindungs-Features können nur Polygone sein, wenn die Ziel-Features auch Polygone sind.
  • WITHIN – Die Features in den Verbindungs-Features werden ausgewählt, wenn sich ein Ziel-Feature innerhalb von ihnen befindet. Bei dieser Option können die Verbindungs-Features keine Punkte sein, und die Ziel-Features können nur Polygone sein, wenn auch die Verbindungs-Features Polygone sind.
  • CLOSEST: Das Feature in den Verbindungs-Features wird ausgewählt, das sich im kleinsten Abstand zu einem Ziel-Feature befindet. Es ist möglich, dass sich zwei oder mehre Verbindungs-Features im gleichen Abstand zum Ziel-Feature befinden. Wenn diese Situation auftritt, wird eines der Verbindungs-Features zufällig als passendes Feature ausgewählt.
String
search_radius
(optional)

Verbindungs-Features, die sich innerhalb der hier angegebenen Distanz eines Ziel-Features befinden, werden für die räumliche Verbindung berücksichtigt. Der Suchradius ist nur gültig, wenn die Abgleichoption "INTERSECT" oder "CLOSEST" angegeben wird. Die Verwendung eines Suchradius von 100 Metern mit der Abgleichoption entspricht folgender Aussage: Wenn ein Verbindungs-Feature innerhalb von 100 Metern eines Ziel-Features liegt, sollen die Attribute des Verbindungs-Features in das Ziel-Feature übertragen werden. Die Verwendung eines Suchradius von 100 Metern mit der Abgleichoption "CLOSEST" entspricht folgender Aussage: Wenn ein Verbindungs-Feature innerhalb von 100 Metern eines Ziel-Features liegt und das nächstgelegene Verbindungs-Feature dieses Ziel-Features ist, sollen die Attribute des Verbindungs-Features in das Ziel-Feature übertragen werden.

Linear unit
distance_field_name
(optional)

Der Name eines Feldes, das der Ausgabe-Feature-Class hinzugefügt werden soll und die Entfernung zwischen dem Ziel-Feature und dem nächstgelegenen Verbindungs-Feature enthält. Diese Option ist nur gültig, wenn die Abgleichoption "CLOSEST" angegeben ist. Sie können diesen Parameter leer lassen, wenn Sie kein Ausgabefeld benötigen.

String

Codebeispiel

SpatialJoin – Beispiel 1 (Python-Fenster)

Das folgende Skript veranschaulicht, wie Sie die Funktion "SpatialJoin" in einem Python-Fenster verwenden.

import arcpy

target_features = "C:/data/usa.gdb/states"
join_features = "C:/data/usa.gdb/cities"
out_feature_class = "C:/data/usa.gdb/states_cities"

arcpy.SpatialJoin_analysis(target_features, join_features, out_feature_class)

SpatialJoin – Beispiel 2 (eigenständiges Skript)

Das folgende eigenständige Skript veranschaulicht, wie Sie das Werkzeug "SpatialJoin" zum Verbinden der Attribute von Städten mit Bundesstaaten verwenden.

# Name: SpatialJoin_Example2.py
# Description: Join attributes of cities to states based on spatial relationships.
# Requirements: os module

# Import system modules
import arcpy
import os

# Set local variables
workspace = r"C:\gpqa\mytools\spatialjoin\usa.gdb"
outWorkspace = r"C:\gpqa\mytools\spatialjoin\output.gdb"
 
# Want to join USA cities to states and calculate the mean city population
# for each state
targetFeatures = os.path.join(workspace, "states")
joinFeatures = os.path.join(workspace, "cities")
 
# Output will be the target features, states, with a mean city population field (mcp)
outfc = os.path.join(outWorkspace, "states_mcp2")
 
# Create a new fieldmappings and add the two input feature classes.
fieldmappings = arcpy.FieldMappings()
fieldmappings.addTable(targetFeatures)
fieldmappings.addTable(joinFeatures)
 
# First get the POP1990 fieldmap. POP1990 is a field in the cities feature class.
# The output will have the states with the attributes of the cities. Setting the
# field's merge rule to mean will aggregate the values for all of the cities for
# each state into an average value. The field is also renamed to be more appropriate
# for the output.
pop1990FieldIndex = fieldmappings.findFieldMapIndex("POP1990")
fieldmap = fieldmappings.getFieldMap(pop1990FieldIndex)
 
# Get the output field's properties as a field object
field = fieldmap.outputField
 
# Rename the field and pass the updated field object back into the field map
field.name = "mean_city_pop"
field.aliasName = "mean_city_pop"
fieldmap.outputField = field
 
# Set the merge rule to mean and then replace the old fieldmap in the mappings object
# with the updated one
fieldmap.mergeRule = "mean"
fieldmappings.replaceFieldMap(pop1990FieldIndex, fieldmap)
 
# Delete fields that are no longer applicable, such as city CITY_NAME and CITY_FIPS
# as only the first value will be used by default
x = fieldmappings.findFieldMapIndex("CITY_NAME")
fieldmappings.removeFieldMap(x)
y = fieldmappings.findFieldMapIndex("CITY_FIPS")
fieldmappings.removeFieldMap(y)
 
#Run the Spatial Join tool, using the defaults for the join operation and join type
arcpy.SpatialJoin_analysis(targetFeatures, joinFeatures, outfc, "#", "#", fieldmappings)

Umgebungen

Verwandte Themen

Lizenzinformationen

ArcView: Ja
ArcEditor: Ja
ArcInfo: Ja

7/10/2012