Show Navigation | Hide Navigation
You are here:
Geoprocessing tool reference > Data Management toolbox > Layers and Table Views toolset > Tools

Select Layer By Location (Data Management)

Release 9.2
Last modified November 29, 2010
E-mail This Topic Printable Version Give Us Feedback

Print all topics in : "Tools"


Related Topics

Creates, updates, or removes a selection on the input layer based on spatial relationships to select features.


Usage tips

Command line syntax
An overview of the Command Line window
SelectLayerByLocation_management <in_layer> {INTERSECT | WITHIN_A_DISTANCE | COMPLETELY_CONTAINS | COMPLETELY_WITHIN | HAVE_THEIR_CENTER_IN | SHARE_A_LINE_SEGMENT_WITH | BOUNDARY_TOUCHES | ARE_IDENTICAL_TO | CROSSED_BY_THE_OUTLINE_OF | CONTAINS | CONTAINED_BY} {select_features} {search_distance} {NEW_SELECTION | ADD_TO_SELECTION | REMOVE_FROM_SELECTION | SUBSET_SELECTION | SWITCH_SELECTION}

Parameter Explanation Data Type
<in_layer>

The input feature layer name. This can be a layer in ArcMap or a layer created by Make Layer in ArcCatalog or in a script.

Feature Layer
{INTERSECT | WITHIN_A_DISTANCE | COMPLETELY_CONTAINS | COMPLETELY_WITHIN | HAVE_THEIR_CENTER_IN | SHARE_A_LINE_SEGMENT_WITH | BOUNDARY_TOUCHES | ARE_IDENTICAL_TO | CROSSED_BY_THE_OUTLINE_OF | CONTAINS | CONTAINED_BY}

The spatial relationship between the features in the input layer and the Select Layer on which the selection will be based.

  • INTERSECT — The features in the input layer will be selected if they intersect a select feature. This is the default.
  • WITHIN_A_DISTANCE — The features in the input layer will be selected if they are within a specified distance of a select feature. Specify a distance in the search distance parameter.
  • COMPLETELY_CONTAINS — The features in the input layer will be selected if they completely contain a select feature. The select features must be polygons.
  • COMPLETELY_WITHIN — The features in the input layer will be selected if they are completely within or contained by a select feature.
  • HAVE_THEIR_CENTER_IN — The features in the input layer will be selected if their center falls within a select feature. The center of the feature is calculated as follows: for polygon and multipoint the geometry's centroid is used. For line input the geometry's mid-point is used.
  • SHARE_A_LINE_SEGMENT_WITH — The features in the input layer will be selected if they share a line segment with a select feature. The input and select features must be lines or polygons.
  • BOUNDARY_TOUCHES — The features in the input layer will be selected if they have a boundary that touches a select feature. The input and select features must be lines or polygons. Additionally, the the feature in the input layer must be either completely inside or outside the polygon from the select layer.
  • ARE_IDENTICAL_TO — The features in the input layer will be selected if they are identical (in geometry) to a select feature.
  • CROSSED_BY_THE_OUTLINE_OF — The features in the input layer will be selected if they are crossed by the outline of a select feature. The input and select features must be lines or polygons. If polygons are used for the input or select layer, the polygon's boundary (line) will be used. Lines that cross at a point will be selected, not lines which share a line segment.
  • CONTAINS — The features in the input layer will be selected if they contain a select feature. This is only valid when the input features are polygons.
  • CONTAINED_BY — The features in the input layer will be selected if they are contained by a select feature. This is only valid when the select features are polygons.

String
{select_features}

The features in the input layer will be selected based on their spatial relationship to the features from this layer or feature class.

Feature Layer
{search_distance}

If the Overlap Type is set to WITHIN_A_DISTANCE, set this parameter to the desired distance. If you choose a different Overlap Type, the Search Distance option lets you apply a buffer to the features in the input layer.

Linear unit
{NEW_SELECTION | ADD_TO_SELECTION | REMOVE_FROM_SELECTION | SUBSET_SELECTION | SWITCH_SELECTION}

Determines how the selection will be applied and what to do if a selection already exists.

  • NEW_SELECTION — The resulting selection replaces any existing selection. This is the default.
  • ADD_TO_SELECTION — The resulting selection is added to an existing selection if one exists. If no selection exists, this is the same as the NEW_SELECTION option.
  • REMOVE_FROM_SELECTION — The resulting selection is removed from an existing selection. If no selection exists, this option has no effect.
  • SUBSET_SELECTION — The resulting selection is combined with the existing selection. Only records that are common to both remain selected.
  • SWITCH_SELECTION — Switches the selection. All records that were selected are removed from the selection, and all records that were not selected are added to the selection. The Select Features and Overlap type will be ignored when this option is specified.

String
Data types for geoprocessing tool parameters


Command line example

SelectLayerByLocation wells_lyr have_their_center_in c:\gdb.mdb\kamsack_city_lim

Scripting syntax
About getting started with writing geoprocessing scripts
SelectLayerByLocation_management (in_layer, overlap_type, select_features, search_distance, selection_type)

Parameter Explanation Data Type
in_layer (Required)

The input feature layer name. This can be a layer in ArcMap or a layer created by Make Layer in ArcCatalog or in a script.

Feature Layer
overlap_type (Optional)

The spatial relationship between the features in the input layer and the Select Layer on which the selection will be based.

  • INTERSECT — The features in the input layer will be selected if they intersect a select feature. This is the default.
  • WITHIN_A_DISTANCE — The features in the input layer will be selected if they are within a specified distance of a select feature. Specify a distance in the search distance parameter.
  • COMPLETELY_CONTAINS — The features in the input layer will be selected if they completely contain a select feature. The select features must be polygons.
  • COMPLETELY_WITHIN — The features in the input layer will be selected if they are completely within or contained by a select feature.
  • HAVE_THEIR_CENTER_IN — The features in the input layer will be selected if their center falls within a select feature. The center of the feature is calculated as follows: for polygon and multipoint the geometry's centroid is used. For line input the geometry's mid-point is used.
  • SHARE_A_LINE_SEGMENT_WITH — The features in the input layer will be selected if they share a line segment with a select feature. The input and select features must be lines or polygons.
  • BOUNDARY_TOUCHES — The features in the input layer will be selected if they have a boundary that touches a select feature. The input and select features must be lines or polygons. Additionally, the the feature in the input layer must be either completely inside or outside the polygon from the select layer.
  • ARE_IDENTICAL_TO — The features in the input layer will be selected if they are identical (in geometry) to a select feature.
  • CROSSED_BY_THE_OUTLINE_OF — The features in the input layer will be selected if they are crossed by the outline of a select feature. The input and select features must be lines or polygons. If polygons are used for the input or select layer, the polygon's boundary (line) will be used. Lines that cross at a point will be selected, not lines which share a line segment.
  • CONTAINS — The features in the input layer will be selected if they contain a select feature. This is only valid when the input features are polygons.
  • CONTAINED_BY — The features in the input layer will be selected if they are contained by a select feature. This is only valid when the select features are polygons.

String
select_features (Optional)

The features in the input layer will be selected based on their spatial relationship to the features from this layer or feature class.

Feature Layer
search_distance (Optional)

If the Overlap Type is set to WITHIN_A_DISTANCE, set this parameter to the desired distance. If you choose a different Overlap Type, the Search Distance option lets you apply a buffer to the features in the input layer.

Linear unit
selection_type (Optional)

Determines how the selection will be applied and what to do if a selection already exists.

  • NEW_SELECTION — The resulting selection replaces any existing selection. This is the default.
  • ADD_TO_SELECTION — The resulting selection is added to an existing selection if one exists. If no selection exists, this is the same as the NEW_SELECTION option.
  • REMOVE_FROM_SELECTION — The resulting selection is removed from an existing selection. If no selection exists, this option has no effect.
  • SUBSET_SELECTION — The resulting selection is combined with the existing selection. Only records that are common to both remain selected.
  • SWITCH_SELECTION — Switches the selection. All records that were selected are removed from the selection, and all records that were not selected are added to the selection. The Select Features and Overlap type will be ignored when this option is specified.

String

Data types for geoprocessing tool parameters


Script example

# ExtactFeaturesByLocationAndAttribute.py
# Description: Extract features to a new feature class based on a Location and an attribute query
# Requirements: Python and the Python win32all extension
# Author: ESRI
# Data 1/1/2004

# Create the Geoprocessor
import arcgisscripting
gp = arcgisscripting.create()

# Put in error trapping in case an error occurs when running tool
try:
    # Make a layer from the feature class
    gp.MakeFeatureLayer("c:/mexico.mdb/cities", "cities_lyr") 
    gp.MakeFeatureLayer("c:/mexico.mdb/chihuahua", "chihuahua_lyr") 

    # Select all cities that overlap the chihuahua polygon
    gp.SelectLayerByLocation("cities_lyr", "intersect", "chihuahua_lyr")

    # Within the selection (done above) further select only those cities which have a population > 10,000
    gp.SelectLayerByAttribute("cities_lyr", " [population] > 10000 ", "SUBSET_SELECTION")

    # Write the selected features to a new featureclass
    gp.CopyFeatures("cities_lyr", "c:/mexico.mdb/chihuahua_10000plus")

except:
    # If an error occurred print the message to the screen
    print gp.GetMessages()

Please visit the Feedback page to comment or give suggestions on ArcGIS Desktop Help.
Copyright © Environmental Systems Research Institute, Inc.