Parameter
Beschriftung | Erläuterung | Datentyp |
Eingabe-Features | Die Features, die anhand der Werte des Parameters Auswahl-Features ausgewertet werden. Die Auswahl wird auf diese Features angewendet. | Feature Layer; Raster Layer; Mosaic Layer |
Beziehung (optional) | Gibt die auszuwertende räumliche Beziehung an.
| String |
Auswahl-Features (optional) | Die Features im Parameter Eingabe-Features werden auf Grundlage ihrer Beziehung zu den Features des betreffenden Layers oder der betreffenden Feature-Class ausgewählt. | Feature Layer |
Suchentfernung (optional) | Die Entfernung, in der gesucht wird. Dieser Parameter ist nur gültig, wenn für den Parameter Beziehung eine der folgenden Optionen ausgewählt wurde: In einer Entfernung, In einer geodätischen Entfernung, In einer Entfernung 3D, Überschneiden, Überschneiden 3D, Mit Mittelpunkt in oder Enthält. Wenn die Option In einer Entfernung geodätisch ausgewählt ist, verwenden Sie eine lineare Einheit wie Kilometer oder Meilen. | Linear Unit |
Auswahltyp (optional) | Gibt an, wie die Auswahl auf die Eingabe angewendet und mit einer vorhandenen Auswahl kombiniert wird. Dieses Werkzeug bietet keine Option, eine vorhandene Auswahl aufzuheben. Verwenden Sie dazu im Werkzeug Layer nach Attributen auswählen die Option Aktuelle Auswahl löschen des Parameters Auswahltyp.
| String |
Räumliche Beziehung umkehren (optional) | Gibt an, ob das Ergebnis der Auswertung der räumlichen Beziehung verwendet wird oder das gegenteilige Ergebnis. Dieser Parameter kann beispielsweise verwendet werden, um eine Liste von Features abzurufen, die sich nicht überschneiden oder nicht innerhalb einer angegebenen Entfernung von Features in einem anderen Dataset liegen.
| Boolean |
Abgeleitete Ausgabe
Beschriftung | Erläuterung | Datentyp |
Layer mit Auswahl | Die erste Eingabe mit angewendeter Auswahl. | Feature Layer; Mosaic Layer |
Ausgabe-Layer-Namen | Ein MultiValue-Parameter, der alle Eingaben enthält, für die eine Auswahl vorliegt. Verwenden Sie diesen Ausgabeparameter in einem Modell, um ein Werkzeug wie Zusammenführen (Merge) mit einer MultiValue-Eingabe zu verbinden. | Feature Layer; Mosaic Layer |
Anzahl | Die Anzahl der ausgewählten Datensätze. Wenn es mehrere Werte für den Parameter Eingabe-Features gibt, wird die Anzahl in der Reihenfolge der Eingaben ausgegeben. | Long |
arcpy.management.SelectLayerByLocation(in_layer, {overlap_type}, {select_features}, {search_distance}, {selection_type}, {invert_spatial_relationship})
Name | Erläuterung | Datentyp |
in_layer [in_layer,...] | Die Features, die anhand der Werte des Parameters select_features ausgewertet werden. Die Auswahl wird auf diese Features angewendet. | Feature Layer; Raster Layer; Mosaic Layer |
overlap_type (optional) | Gibt die auszuwertende räumliche Beziehung an.
| String |
select_features (optional) | Die Features im Parameter Eingabe-Features werden auf Grundlage ihrer Beziehung zu den Features des betreffenden Layers oder der betreffenden Feature-Class ausgewählt. | Feature Layer |
search_distance (optional) | Die Entfernung, in der gesucht wird. Dieser Parameter ist nur gültig, wenn der Parameter overlap_type auf WITHIN_A_DISTANCE, WITHIN_A_DISTANCE_GEODESIC, WITHIN_A_DISTANCE_3D, INTERSECT, INTERSECT_3D, HAVE_THEIR_CENTER_IN oder CONTAINS. festgelegt wurde. Wenn die Option WITHIN_A_DISTANCE_GEODESIC ausgewählt ist, verwenden Sie eine lineare Einheit wie Kilometer oder Meilen. | Linear Unit |
selection_type (optional) | Gibt an, wie die Auswahl auf die Eingabe angewendet und mit einer vorhandenen Auswahl kombiniert wird. Dieses Werkzeug bietet keine Option, eine vorhandene Auswahl aufzuheben. Verwenden Sie dazu im Werkzeug Layer nach Attributen auswählen die Option CLEAR_SELECTION des Parameters selection_type.
| String |
invert_spatial_relationship (optional) | Gibt an, ob das Ergebnis der Auswertung der räumlichen Beziehung verwendet wird oder das gegenteilige Ergebnis. Dieser Parameter kann beispielsweise verwendet werden, um eine Liste von Features abzurufen, die sich nicht überschneiden oder nicht innerhalb einer angegebenen Entfernung von Features in einem anderen Dataset liegen.
| Boolean |
Abgeleitete Ausgabe
Name | Erläuterung | Datentyp |
out_layer_or_view | Die erste Eingabe mit angewendeter Auswahl. | Feature Layer; Mosaic Layer |
out_layers_or_views | Ein MultiValue-Parameter, der alle Eingaben enthält, für die eine Auswahl vorliegt. Verwenden Sie diesen Ausgabeparameter in einem Modell, um ein Werkzeug wie Zusammenführen (Merge) mit einer MultiValue-Eingabe zu verbinden. | Feature Layer; Mosaic Layer |
count | Die Anzahl der ausgewählten Datensätze. Wenn es mehrere Werte für den Parameter in_features gibt, wird die Anzahl in der Reihenfolge der Eingaben ausgegeben. | Long |
Codebeispiel
Das folgende Skript für das Python-Fenster veranschaulicht, wie die Funktion SelectLayerByLocation im unmittelbaren Modus verwendet wird.
import arcpyarcpy.management.SelectLayerByLocation("parcel_lyr", "have_their_center_in", "c:/kamsack.gdb/city_limits")
Das folgende eigenständige Skript zeigt, wie mit der Funktion SelectLayerByLocation in einem Workflow Features auf Grundlage von Position und einer Attributabfrage in eine neue Feature-Class extrahiert werden.
# Description: Extract features to a new feature class based on a # location and an attribute query# Import arcpy and set path to dataimport arcpyarcpy.env.workspace = "c:/data/mexico.gdb"# Make a layer and select cities that overlap the chihuahua polygonchihuahua_cities = arcpy.management.SelectLayerByLocation('cities', 'INTERSECT', 'chihuahua')# From the previous selection, select a subset of cities that have # population > 10,000arcpy.management.SelectLayerByAttribute(chihuahua_cities, 'SUBSET_SELECTION', '"population" > 10000')# If features matched criteria, write them to a new feature classmatchcount = int(arcpy.management.GetCount(chihuahua_cities)[0]) if matchcount == 0: print('no features matched spatial and attribute criteria')else: arcpy.management.CopyFeatures(chihuahua_cities, 'chihuahua_10000plus') print('{0} cities that matched criteria written to {0}'.format( matchcount, chihuahua_10000plus))
Das folgende eigenständige Skript zeigt eine Vielzahl von Verwendungsmöglichkeiten für die Optionen WITHIN_A_DISTANCE und WITHIN_A_DISTANCE_GEODESIC des Parameters overlap_type mit dem Parameter search_distance.
# Description: Select features within a distance# Import arcpy and set path to dataimport arcpyarcpy.env.workspace = r"c:\data\mexico.gdb"arcpy.management.SelectLayerByLocation('cities', 'WITHIN_A_DISTANCE', 'chihuahua', '1.5 Miles')arcpy.management.SelectLayerByLocation('cities', 'WITHIN_A_DISTANCE_GEODESIC', 'chihuahua', '200 Kilometers')# When using WITHIN_A_DISTANCE, if distance units are not specified, the # distance value is assumed to be in the units of the input dataset's coordinate # systemarcpy.management.SelectLayerByLocation('cities', 'WITHIN_A_DISTANCE', 'chihuahua', '200')# When using WITHIN_A_DISTANCE_GEODESIC, if distance units are not specified, # the distance value is assumed to be in metersarcpy.management.SelectLayerByLocation('cities', 'WITHIN_A_DISTANCE_GEODESIC', 'chihuahua', '200')