Skip To Content

Layer lagebezogen auswählen

Zusammenfassung

Wählt Features auf Grundlage einer räumlichen Beziehung zu Features in einem anderen Dataset aus.

Die einzelnen Features des Eingabe-Feature-Layers werden anhand der Features im Auswahl-Features-Layer oder in der entsprechenden Feature-Class ausgewertet. Wenn die Voraussetzungen für die Beziehung erfüllt sind, wird das Eingabe-Feature ausgewählt.

Grafische Beispiele für Beziehungen

Verwendung

  • Wenn es sich bei der Eingabe um eine Feature-Class oder einen Dataset-Pfad handelt, wird von diesem Werkzeug mit dem Ergebnis des angewendeten Werkzeugs automatisch ein neuer Layer erstellt und zurückgegeben.

  • Das Koordinatensystem, in dem die räumliche Beziehung ausgewertet wird, kann sich auf das Ergebnis auswirken. Features, die sich in einem Koordinatensystem überschneiden, überschneiden sich in einem anderen möglicherweise nicht.

    • Dieses Werkzeug wertet die räumliche Beziehung im Koordinatensystem der Datenquelle des Eingabe-Feature-Layers aus. Legen Sie die Umgebungseinstellung "Ausgabe-Koordinatensystem" auf Aktuelle Karte [Layer] fest, damit die Verarbeitung dasselbe Koordinatensystem wie die Anzeige verwendet.

  • Mit diesem Werkzeug können Sie Features auf Grundlage der räumlichen Beziehungen zu anderen Features im selben Layer auswählen. Beispiele finden Sie unter Lagebezogen auswählen in einem Layer.

  • Mit dem Werkzeug Anzahl erhalten lässt sich die Anzahl der mit dem Werkzeug Layer lagebezogen auswählen ausgewählten Features ermitteln. Dies kann nützlich sein, um festzustellen, ob Features der gewünschten räumlichen Beziehung entsprechen, bevor im Rahmen eines Skripts oder Modells weitere Analysen erfolgen.

  • Weitere Informationen zu den dreidimensionalen räumlichen Beziehungen Überschneiden 3D und In einer Entfernung (3D) (INTERSECT_3D und WITHIN_A_DISTANCE_3D in Python) finden Sie unter 3D-Beziehungen lagebezogen auswählen.

Syntax

SelectLayerByLocation_management (in_layer, {overlap_type}, {select_features}, {search_distance}, {selection_type}, {invert_spatial_relationship})
ParameterErläuterungDatentyp
in_layer

Die Features, die anhand des Parameters select_features ausgewertet werden. Die Auswahl wird auf diesen Layer angewendet.

Feature Layer; Raster Layer; Mosaic Layer
overlap_type
(optional)

Die räumliche Beziehung, die ausgewertet werden soll.

  • INTERSECTDie Features im Eingabe-Layer werden ausgewählt, wenn sie ein Auswahl-Feature schneiden. Dies ist die Standardeinstellung.
  • INTERSECT_3DDie Features im Eingabe-Layer werden ausgewählt, wenn sie sich mit einem Auswahl-Feature im dreidimensionalen Raum (x, y und z) überschneiden.
  • WITHIN_A_DISTANCEDie Features im Eingabe-Layer werden ausgewählt, wenn sie sich innerhalb der (mittels Euklidischen Abstands) angegebenen Entfernung zum Auswahl-Feature befinden. Geben Sie die Entfernung mithilfe des Parameters search_distance an.
  • WITHIN_A_DISTANCE_3DDie Features im Eingabe-Layer werden ausgewählt, wenn sie sich in einem bestimmten Abstand zu einem Auswahl-Feature im dreidimensionalen Raum befinden. Geben Sie die Entfernung mithilfe des Parameters search_distance an.
  • WITHIN_A_DISTANCE_GEODESICDie Features im Eingabe-Layer werden ausgewählt, wenn sie sich innerhalb einer bestimmten Entfernung zum Auswahl-Feature befinden. Die Entfernung zwischen Features wird mit einer geodätischen Formel berechnet, bei der die Krümmung des Sphäroiden berücksichtigt und die Daten in der Nähe der Datumsgrenze und der Pole richtig verarbeitet werden. Geben Sie die Entfernung mithilfe des Parameters search_distance an.
  • CONTAINSDie Features im Eingabe-Layer werden ausgewählt, wenn sie ein Auswahl-Feature enthalten.
  • COMPLETELY_CONTAINSDie Features im Eingabe-Layer werden ausgewählt, wenn sie ein Auswahl-Feature vollständig enthalten.
  • CONTAINS_CLEMENTINIDiese räumliche Beziehung liefert die gleichen Ergebnisse wie COMPLETELY_CONTAINS. Eine Ausnahme ist, wenn sich das Auswahl-Feature vollständig auf der Grenze des Eingabe-Features befindet (kein Teil liegt inner- oder außerhalb). In diesem Fall wird das Feature nicht ausgewählt. CLEMENTINI legt das Grenzpolygon als Linie zwischen innen und außen fest. Die Grenze einer Linie ist als ihr Endpunkt definiert, und die Grenze eines Punktes ist immer leer.
  • WITHINDie Features im Eingabe-Layer werden ausgewählt, wenn sie innerhalb eines Auswahl-Features liegen.
  • COMPLETELY_WITHINDie Features im Eingabe-Layer werden ausgewählt, wenn sie vollständig innerhalb eines Auswahl-Features liegen bzw. in diesem enthalten sind.
  • WITHIN_CLEMENTINIDie Ergebnisse stimmen mit denen für WITHIN überein, es sei denn, das gesamte Feature im Eingabe-Layer befindet sich auf der Grenze des Features im Auswahl-Layer. In diesem Fall wird das Feature nicht ausgewählt. CLEMENTINI legt das Grenzpolygon als Linie zwischen innen und außen fest. Die Grenze einer Linie ist als ihr Endpunkt definiert, und die Grenze eines Punktes ist immer leer.
  • ARE_IDENTICAL_TODie Features im Eingabe-Layer werden ausgewählt, wenn ihre geometrische Form mit der eines Auswahl-Features übereinstimmt.
  • BOUNDARY_TOUCHESDie Features im Eingabe-Layer werden ausgewählt, wenn ihre Grenze ein Auswahl-Feature berührt. Wenn es sich bei den Eingabe-Features um Linien oder Polygone handelt, kann die Grenze des Eingabe-Features die Grenze des Auswahl-Features nur berühren. Kein Teil des Eingabe-Features kann die Grenze des Auswahl-Features durchdringen.
  • SHARE_A_LINE_SEGMENT_WITHDie Features im Eingabe-Layer werden ausgewählt, wenn sie mit einem Auswahl-Feature ein gemeinsames Liniensegment teilen. Die Eingabe- und Auswahl-Features müssen Linien oder Polygone sein.
  • CROSSED_BY_THE_OUTLINE_OFDie Features im Eingabe-Layer werden ausgewählt, wenn sie vom Umriss eines Auswahl-Features geschnitten werden. Die Eingabe- und Auswahl-Features müssen Linien oder Polygone sein. Wenn für den Eingabe- oder Auswahl-Layer Polygone verwendet werden, wird die Grenze (Linie) des Polygons verwendet. Linien, die einen Punkt schneiden, werden ausgewählt. Dies gilt nicht für Linien, die ein Liniensegment gemeinsam haben.
  • HAVE_THEIR_CENTER_INDie Features im Eingabe-Layer werden ausgewählt, wenn ihr Mittelpunkt innerhalb eines Auswahl-Features liegt. Der Mittelpunkt des Features wird wie folgt berechnet: Bei Polygonen und Multipoints wird der Schwerpunkt der Geometrie verwendet, bei Linien die geometrische Mitte.
String
select_features
(optional)

Die Features im Eingabe-Feature-Layer werden auf Grundlage ihrer Beziehung zu den Features des betreffenden Layers oder der betreffenden Feature-Class ausgewählt.

Feature Layer
search_distance
(optional)

Dieser Parameter ist nur gültig, wenn für den Parameter overlap_type eine der folgenden Angaben ausgefüllt wurde: WITHIN_A_DISTANCE, WITHIN_A_DISTANCE_GEODESIC, WITHIN_A_DISTANCE_3D, INTERSECT, INTERSECT_3D, HAVE_THEIR_CENTER_IN oder CONTAINS.

Bei Verwendung der Option WITHIN_A_DISTANCE_GEODESIC sollte eine lineare Einheit wie Kilometer oder Meilen angegeben sein.

Linear Unit
selection_type
(optional)

Legt fest, wie die Auswahl auf die Eingabe angewendet wird und wie sie mit einer vorhandenen Auswahl kombiniert werden soll. Derzeit ist es nicht möglich, eine vorhandene Auswahl zu löschen. Eine Auswahl kann im Werkzeug Layer nach Attributen auswählen mit der Option CLEAR_SELECTION aufgehoben werden.

  • NEW_SELECTIONDie getätigte Auswahl ersetzt eine bestehende Auswahl. Dies ist die Standardeinstellung.
  • ADD_TO_SELECTIONDie getätigte Auswahl wird der bestehenden Auswahl hinzugefügt (wenn eine vorhanden ist). Wenn keine Auswahl vorhanden ist, entspricht diese Option der Option NEW_SELECTION.
  • REMOVE_FROM_SELECTIONDie getätigte Auswahl wird aus einer bestehenden Auswahl entfernt. Wenn keine Auswahl vorhanden ist, hat der Vorgang keine Auswirkungen.
  • SUBSET_SELECTIONDie getätigte Auswahl wird mit der bestehenden Auswahl kombiniert. Nur Datensätze, die in beiden Auswahlen vorhanden sind, werden ausgewählt.
  • SWITCH_SELECTIONDie Auswahl wird umgekehrt. Alle bisher ausgewählten Datensätze werden von der Auswahl entfernt und alle bisher nicht ausgewählten Datensätze werden der Auswahl hinzugefügt. Die Parameter select_features und overlap_type werden bei Auswahl dieser Option ignoriert.
String
invert_spatial_relationship
(optional)

Nach Auswertung der räumlichen Beziehung wird mit diesem Parameter bestimmt, ob das Ergebnis wie vorliegend oder umgekehrt verwendet werden soll. Dieser Parameter kann beispielsweise verwendet werden, um schnell eine Liste von Features abzurufen, die sich nicht überschneiden oder nicht innerhalb einer Entfernung von Features in einem anderen Dataset liegen.

  • NOT_INVERTDas Ergebnis der Abfrage wird nicht umgekehrt. Dies ist die Standardeinstellung.
  • INVERTDas Ergebnis der Abfrage wird umgekehrt. Wenn der Parameter selection_type verwendet wird, erfolgt die Umkehrung vor dem Kombinieren der Auswahl mit einer vorhandenen Auswahl.
Boolean

Codebeispiel

SelectLayerByLocation - Beispiel 1 (Python-Fenster)

Das folgende Skript im Python-Fenster veranschaulicht, wie die Funktion SelectLayerByLocation im unmittelbaren Modus verwendet wird.

import arcpy
# Add a selection to the layer based on location to features in another feature 
# class 
arcpy.SelectLayerByLocation_management("parcel_lyr", "have_their_center_in", 
                                       "c:/kamsack.gdb/city_limits")
SelectLayerByLocation - Beispiel 2 (eigenständiges Skript)

Das folgende eigenständige Skript zeigt, wie mit der Funktion SelectLayerByLocation 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 data
import arcpy
arcpy.env.workspace = "c:/data/mexico.gdb"
# Make a layer and select cities which overlap the chihuahua polygon
chihuahua_cities = arcpy.SelectLayerByLocation_management('cities', 'intersect', 
                                                          'chihuahua')
# Within the previous selection sub-select cities which have population > 10,000
arcpy.SelectLayerByAttribute_management(chihuahua_cities, 
                                        'SUBSET_SELECTION', 
                                        '"population" > 10000')
# If features matched criteria write them to a new feature class
matchcount = int(arcpy.GetCount_management(chihuahua_cities)[0]) 
if matchcount == 0:
    print('no features matched spatial and attribute criteria')
else:
    arcpy.CopyFeatures_management(chihuahua_cities, 'chihuahua_10000plus')
    print('{0} cities that matched criteria written to {0}'.format(
        matchcount, chihuahua_10000plus))

Lizenzinformationen

  • ArcGIS Desktop Basic: Ja
  • ArcGIS Desktop Standard: Ja
  • ArcGIS Desktop Advanced: Ja

Verwandte Themen