Seleccionar capa por ubicación (Administración de datos)

Resumen

Selecciona entidades en una capa con base en una relación espacial con las entidades de otra capa.

Cada entidad de la Capa de entidades de entrada se evalúa con las entidades de la capa o clase de entidad Seleccionando entidades; si se cumple la Relación especificada, se selecciona la entidad de entrada.

Ejemplos gráficos de relaciones

Uso

Sintaxis

SelectLayerByLocation_management (in_layer, {overlap_type}, {select_features}, {search_distance}, {selection_type})
ParámetroExplicaciónTipo de datos
in_layer

Capa que contiene las entidades que serán evaluadas con la capa Seleccionando entidades. Se aplicará la selección a esta capa. La entrada puede ser una capa de la tabla de contenido de ArcMap o una capa creada en ArcCatalog, o en secuencias de comandos con la herramienta Crear capa de entidades. La entrada no puede ser la ruta a una clase de entidad del disco.

Feature Layer; Mosaic Layer; Raster Catalog Layer
overlap_type
(Opcional)

Relación espacial que se evaluará.

  • INTERSECTLas entidades en la capa de entrada se seleccionarán si intersecan con una entidad seleccionada. Esta es la opción predeterminada.
  • INTERSECT_3DLas entidades de la capa de entrada se seleccionarán si intersecan con una entidad seleccionada en el espacio tridimensional (x, y, z).
  • WITHIN_A_DISTANCELas entidades en la capa de entrada se seleccionarán si se encuentran dentro de una distancia especificada de la entidad seleccionada. Especifique una distancia en el parámetro Distancia de búsqueda.
  • WITHIN_A_DISTANCE_3DLas entidades en la capa de entrada se seleccionarán si se encuentran dentro de una distancia especificada de una entidad seleccionada en el espacio tridimensional. Especifique una distancia en el parámetro Distancia de búsqueda.
  • CONTAINSLas entidades en la capa de entrada se seleccionarán si contienen a una entidad seleccionada. Las entidades de entrada deben ser polígonos.
  • COMPLETELY_CONTAINSLas entidades en la capa de entrada se seleccionarán si contienen completamente a una entidad seleccionada. Las entidades de entrada deben ser polígonos.
  • CONTAINS_CLEMENTINIEsta relación espacial produce los mismos resultados que COMPLETELY_CONTAINS con una excepción. Si la entidad de selección está completamente en el límite de la entidad de entrada (ninguna parte está correctamente dentro o fuera), la entidad no estará seleccionada. CLEMENTINI define el polígono de límite como la línea que separa el interior del exterior, el límite de una línea se define como sus extremos y el límite de un punto siempre está vacío.
  • WITHINLas entidades de la capa de entrada se seleccionarán si se encuentran dentro de una entidad seleccionada. Las entidades de la selección deben ser polígonos.
  • COMPLETELY_WITHINLas entidades de la capa de entrada se seleccionarán si están completamente dentro o contenidas por una entidad seleccionada. Las entidades de la selección deben ser polígonos.
  • WITHIN_CLEMENTINIEl resultado será idéntico a WITHIN excepto si la totalidad de la entidad de la capa de entrada está sobre el límite de la entidad en la capa seleccionada; en este caso, no se seleccionará la entidad. CLEMENTINI define el polígono de límite como la línea que separa el interior del exterior, el límite de una línea se define como sus extremos y el límite de un punto siempre está vacío.
  • ARE_IDENTICAL_TOLas entidades de la capa de entrada se seleccionarán si son idénticas (en geometría) a una entidad seleccionada.
  • BOUNDARY_TOUCHESLas entidades de la capa de entrada se seleccionarán si tienen un límite que toca a una entidad seleccionada. Las entidades de la selección y las entidades de entrada y deben ser líneas o polígonos. Además, la entidad de la capa de entrada debe estar completamente dentro o fuera del polígono de la capa seleccionada.
  • SHARE_A_LINE_SEGMENT_WITHLas entidades de la capa de entrada se seleccionarán si comparten un segmento de línea con una entidad seleccionada. Las entidades de la selección y las entidades de entrada y deben ser líneas o polígonos.
  • CROSSED_BY_THE_OUTLINE_OFLas entidades de la capa de entrada se seleccionarán si las cruza el contorno de una entidad seleccionada. Las entidades de la selección y las entidades de entrada y deben ser líneas o polígonos. Si se utilizan polígonos para la capa de entrada o seleccionada, se utilizarán los límites (las líneas) del polígono. Se seleccionarán las líneas que se cruzan en un punto, no las que comparten un segmento de línea.
  • HAVE_THEIR_CENTER_INLas entidades de la capa de entrada se seleccionarán si su centro cae dentro de una entidad seleccionada. El centro de la entidad se calcula de la siguiente manera: para los polígonos y los multipuntos se utiliza el centroide de la geometría y para la entrada de línea se utiliza el punto medio de la geometría.
  • CONTAINED_BYEsto proporciona el mismo resultado que WITHIN. Se mantiene CONTAINED_BY para permitir la compatibilidad con modelos y secuencias de comandos creados en versiones anteriores a ArcGIS 9.3.
String
select_features
(Opcional)

Las entidades de la Capa de entidades de entrada se seleccionarán según su relación con las entidades de esta capa o clase de entidad.

Feature Layer
search_distance
(Opcional)

Este parámetro sólo es válido si el parámetro Relación se establece en uno de los siguientes: WITHIN_A_DISTANCE, WITHIN_A_DISTANCE_3D, INTERSECT, INTERSECT_3D, HAVE_THEIR_CENTER_IN, CONTAINS, o WITHIN.

Linear unit
selection_type
(Opcional)

Determina cómo se aplicará la selección a la entrada y cómo combinarla con una selección existente. Tenga en cuenta que aquí no hay una opción para borrar una selección existente. Para borrar una selección, utilice la opción CLEAR_SELECTION de la herramienta Seleccionar capa por atributo.

  • NEW_SELECTIONLa selección resultante reemplaza toda selección existente. Esta es la opción predeterminada.
  • ADD_TO_SELECTIONLa selección resultante se agrega a una selección existente, si corresponde. Si no existe ninguna selección, es lo mismo que la opción NEW_SELECTION.
  • REMOVE_FROM_SELECTIONLa selección resultante se quita de una selección existente. Si no existe una selección, la operación no tendrá efecto.
  • SUBSET_SELECTIONLa selección resultante se combina con una selección existente. Sólo permanecen seleccionados los registros comunes a ambas selecciones.
  • SWITCH_SELECTIONCambia la selección. Todos los registros seleccionados se quitan de la selección y todos los registros no seleccionados se agregan a la selección. Cuando se selecciona esta opción, se ignoran los parámetros Seleccionando entidades y Relación.
String

Ejemplo de código

Ejemplo 1 de SelectLayerByLocation (ventana de Python)

La siguiente secuencia de comandos de la ventana de Python muestra cómo utilizar la función SelectLayerByLocation en el modo inmediato.

import arcpy  # First, make a layer from the feature class arcpy.MakeFeatureLayer_management("c:/kamsack.gdb/parcel", "parcel_lyr")  # Then 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")
Ejemplo 2 de SelectLayerByLocation (secuencia de comandos independiente)

La siguiente secuencia de comandos independiente muestra cómo utilizar la función SelectLayerByLocation en un flujo de trabajo para extraer entidades en una nueva clase de entidad basada en la ubicación y en una consulta de atributos.

# Name: ExtactFeaturesByLocationAndAttribute.py # 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 arcpy.MakeFeatureLayer_management('cities', 'cities_lyr')  arcpy.SelectLayerByLocation_management('cities_lyr', 'intersect', 'chihuahua')   # Within the previous selection sub-select cities which have population > 10,000 arcpy.SelectLayerByAttribute_management('cities_lyr',                                          'SUBSET_SELECTION', '"population" > 10000')  # If features matched criteria write them to a new feature class matchcount = int(arcpy.GetCount_management('cities_lyr').getOutput(0))  if matchcount == 0:     print('no features matched spatial and attribute criteria') else:     arcpy.CopyFeatures_management('cities_lyr', 'chihuahua_10000plus')     print('{0} cities that matched criteria written to {0}'.format(                                                   matchcount, chihuahua_10000plus))

Entornos

Temas relacionados

9/11/2013