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

Resumen

Selecciona entidades basadas en una relación espacial con las entidades de otro dataset o del mismo dataset.

Cada entidad del parámetro Entidades de entrada se evalúa con las entidades del parámetro Seleccionar entidades. Si se cumple el valor del parámetro especificado Relación, se selecciona la entidad de entrada.

Más información sobre Seleccionar por ubicación, incluidos ejemplos de imagen de relaciones

Uso

  • Si la entrada es una clase de entidad o una ruta de dataset, esta herramienta creará y devolverá una nueva capa con el resultado de la herramienta aplicada.

  • El sistema de coordenadas en que se evalúa la relación espacial puede afectar al resultado. Es posible que las entidades que se intersecan en un sistema de coordenadas no se intersequen en otro.

    • Esta herramienta evalúa una relación espacial en el sistema de coordenadas del valor del parámetro Entidades de entrada. Establezca el entorno del sistema de coordenadas de salida en Mapa actual [Mapa] para utilizar el mismo sistema de coordenadas que en la visualización actual.

  • Para seleccionar entidades basadas en sus relaciones espaciales con otras entidades en la misma capa, consulte los ejemplos en Seleccionar basándose en la relación espacial dentro de la capa.

  • El número de registros seleccionados aparecerá en el historial de geoprocesamiento. Haga clic en Parámetros > Recuento para acceder a ellos. Además, la herramienta Obtener conteo se puede utilizar para contar el número de registros seleccionados. En Python, también se puede acceder al número de registros seleccionados desde el objeto Result de la herramienta.

  • Al utilizar esta herramienta, es posible y válido que ninguna de las entidades cumpla los criterios de selección. En tal caso, se aplicará una selección a la capa con cero entidades seleccionadas. Las herramientas de geoprocesamiento que utilicen esta capa como entrada no obtendrán ninguna entidad cuando se ejecuten. Por ejemplo, la herramienta Obtener recuento devolverá 0 como resultado. Para eliminar esta o cualquier otra selección , utilice la opción Borrar la selección actual del parámetro Tipo de selección de la herramienta Seleccionar capa por atributo.

  • Si la capa de entrada tiene una consulta de definición, únicamente las entidades que coincidan con la consulta de definición se utilizarán en la operación y serán candidatas para la selección.

  • Para obtener más información sobre el uso de las opciones de relación espacial Intersecar en 3D y Dentro de una distancia 3D, consulte Seleccionar por ubicación: relaciones 3D.

  • Para el parámetro Relación, la opción Intersecar (DBMS) puede proporcionar un mejor rendimiento que la opción Intersecar cuando se utilizan datos de geodatabase corporativa; sin embargo, esta opción solo se admite en condiciones específicas. Si se cumplen todas las condiciones, la operación espacial se realizará en el sistema de administración de bases de datos (DBMS) de la geodatabase corporativa en lugar de en el cliente. Plantéese lo siguiente al utilizar esta opción de relación espacial:

    • Los siguientes requisitos son necesarios para que la operación se ejecute en el DBMS:
      • Los valores de los parámetros Entidades de entrada y Entidades de selección corresponden al mismo espacio de trabajo de geodatabase corporativa y deben tener la misma referencia espacial y tipo de almacenamiento de geometría.
      • El usuario que se conecta a la geodatabase debe tener privilegios para crear una vista en la base de datos donde se almacenan las clases de entidad.
      • Los tipos de almacenamiento de geometría admitidos para esta opción ST_Geometry (IBM Db2, Oracle, PostgreSQL y SAP HANA), PostGIS (PostgreSQL), SDO_GEOMETRY (Oracle), y Geometría y geografía (Microsoft SQL Server). Consulte Administración de geodatabase para obtener información sobre la instalación y configuración del DBMS, así como información sobre la configuración del tipo de almacenamiento de geometría que elija para que esté disponible para su uso. Consulte la documentación del proveedor específica del DBMS para determinar qué cabe esperar de cada tipo de almacenamiento de geometría. Pueden existir limitaciones de almacenamiento que afecten al rendimiento y a la escalabilidad cuando se ejecuten operaciones espaciales.
      • Si las clases de entidad en Oracle utilizan ST_Geometry para almacenar datos espaciales, debe configurar extproc Oracle para acceder a ST_Geometry. Para obtener más información, consulte Configurar el extproc para acceder a ST_Geometry en Oracle.
      • El parámetro Distancia de búsqueda no se ha configurado.
      • El valor del parámetro Tipo de selección es Nueva selección.
      • Las selecciones existentes que se realizaron antes de ejecutar la herramienta se hicieron utilizando una consulta de definición de capa, no un conjunto de selección.
    • La operación espacial se realiza sin aplicar ninguna tolerancia x,y durante el procesamiento. No se admite el uso de una tolerancia x,y en el DBMS. Esto puede dar lugar a que se devuelvan selecciones ligeramente diferentes que cuando el análisis se realiza en el cliente, donde se aplica la tolerancia x,y. Consulte Conceptos básicos de clases de entidad para obtener más información sobre la forma en que se aplica la tolerancia x,y durante las operaciones en el lado del cliente.

Parámetros

EtiquetaExplicaciónTipo de datos
Entidades de entrada

Las entidades que se evaluarán con respecto a los valores del parámetro Entidades de selección. Se aplicará la selección a estas entidades.

Feature Layer; Raster Layer; Mosaic Layer
Relación
(Opcional)

Especifica la relación espacial que se evaluará.

  • IntersecarLas entidades en la capa de entrada se seleccionarán si intersecan con una entidad de selección. Esta es la opción predeterminada.
  • Intersecar 3DLas entidades de la capa de entrada se seleccionarán si se intersecan con una entidad de selección en el espacio tridimensional (x, y, z).
  • Intersecar (DBMS)Las entidades en la capa de entrada se seleccionarán si intersecan con una entidad de selección.Esta opción solo se aplica a geodatabases corporativas. La selección se procesará en el DBMS de la geodatabase corporativa y no en el cliente cuando se cumplan todos los requisitos (consulte las notas de uso).Esta opción puede ofrecer mejor resultado que cuando se realiza la selección en el cliente.
  • Dentro de una distanciaLas entidades de la capa de entrada se seleccionarán si se encuentran dentro de una distancia especificada (usando la distancia euclidiana) de la entidad de selección. Use el parámetro Distancia de búsqueda para especificar la distancia.
  • Dentro de una distancia 3DLas entidades en la capa de entrada se seleccionarán si se encuentran dentro de una distancia especificada de una entidad de selección en el espacio tridimensional. Use el parámetro Distancia de búsqueda para especificar la distancia.
  • Dentro de una distancia geodésicaEsta relación espacial es la misma que la opción Dentro de una distancia, excepto que se utiliza una distancia geodésica en vez de una distancia planar. La distancia entre las entidades se calculará utilizando una fórmula geodésica que tiene en cuenta la curvatura del esferoide y trata correctamente los datos de los polos y la línea de cambio de fecha y los cercanos a estos. Elija esta opción si los datos cubren una gran extensión geográfica o si el sistema de coordenadas de las entradas no es adecuado para los cálculos de distancia. Use el parámetro Distancia de búsqueda para especificar la distancia.
  • ContieneLas entidades de la capa de entrada se seleccionarán si contienen a una entidad de selección.
  • Contiene completamenteLas entidades de la capa de entrada se seleccionarán si contienen completamente a una entidad de selección.
  • Contiene ClementiniEsta relación espacial proporciona los mismos resultados que la opción Contiene, con la excepción de que si la entidad de selección está completamente sobre el límite de la entidad de entrada (ninguna parte se encuentra totalmente dentro o fuera), la entidad no se selecciona.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.
  • Dentro deLas entidades de la capa de entrada se seleccionarán si se encuentran dentro de una entidad de selección.
  • Completamente dentroLas entidades de la capa de entrada se seleccionarán si se encuentran totalmente dentro de una entidad de selección o si una entidad de selección los contiene completamente.
  • Dentro de ClementiniEl resultado será idéntico al de la opción Dentro, excepto si la totalidad del elemento de la capa de entrada se encuentra en el límite del elemento de la capa de selección, en cuyo caso el elemento no se seleccionará.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.
  • Son idénticos aLas entidades de la capa de entrada se seleccionarán si son idénticas (en geometría) a una entidad de selección.
  • Toca el límiteLas entidades de la capa de entrada se seleccionarán si tienen un límite que toca a una entidad de selección. Si las entidades de entrada son líneas o polígonos, el límite de la entidad de entrada solo puede tocar el límite de la entidad de selección y ninguna parte de la entidad de entrada puede cruzar el límite de la entidad de selección.
  • Comparten un segmento de línea conLas entidades de la capa de entrada se seleccionarán si comparten un segmento de línea con una entidad de selección. Las entidades de entrada y de selección deben ser poligonales o de línea.
  • Cruzado por el contorno deLas entidades de la capa de entrada se seleccionarán si las cruza el contorno de una entidad de selección. 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 crucen en un punto, pero no las que comparten un segmento de línea.
  • Tienen su centro enLas entidades de la capa de entrada se seleccionarán si su centro cae dentro de una entidad de selección. El centro de la entidad se calcula del modo siguiente: 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.
String
Seleccionar entidades
(Opcional)

Las entidades del parámetro 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
Distancia de búsqueda
(Opcional)

La distancia que se buscará. Este parámetro solo es válido si el parámetro Relación se establece en Intersecar, Intersecar 3D, Dentro de una distancia, Dentro de una distancia 3D, Dentro de una distancia geodésica, Contiene o en Tienen su centro en.

Si se especifica la opción Dentro de una distancia geodésica, utilice una unidad lineal como kilómetros o millas.

Linear Unit
Tipo de selección
(Opcional)

Especifica cómo se aplicará la selección a la entrada y cómo combinarla con una selección existente. Esta herramienta no incluye una opción para borrar una selección existente, utilice la herramienta Seleccionar capa por atributo con el parámetro Tipo de selección definido en Borrar la selección actual para ello.

  • Nueva selecciónLa selección resultante reemplazará toda selección existente. Esta es la opción predeterminada.
  • Añadir a selección actualLa selección resultante se agregará a una selección existente. Si no existe ninguna selección, coincide con la opción Nueva selección.
  • Eliminar de la selección actualLa selección resultante se quitará de una selección existente. Si no existe una selección, la operación no tendrá efecto.
  • Seleccionar subconjunto de la selección actualLa selección resultante se combinará con una selección existente. Solo permanecerán seleccionados los registros comunes a ambas selecciones.
  • Cambiar la selección actualLa selección se cambiará. Todos los registros seleccionados se quitarán de la selección y todos los registros no seleccionados se agregarán a la selección.Cuando se especifica esta opción, se ignoran los parámetros Seleccionando entidades y Relación.
String
Invertir relación espacial
(Opcional)

Especifica si el resultado de la evaluación de relación espacial se utilizará o se invertirá. Por ejemplo, este parámetro se puede utilizar para obtener una lista de entidades que no se intersecan o que no están dentro de una distancia determinada respecto a entidades de otro dataset.

  • Desactivado: se utilizará el resultado de la evaluación. Esta es la opción predeterminada.
  • Activado: se utilizará el resultado de la evaluación invertida. Si el parámetro Tipo de selección está definido, la inversión de la selección se producirá antes de que se combine con las selecciones existentes.
Boolean

Salida derivada

EtiquetaExplicaciónTipo de datos
Capa con selección

Primera entrada con la selección aplicada.

Feature Layer; Mosaic Layer
Nombres de capas de salida

Un parámetro multivalor que incluye todas las entradas con selecciones aplicadas.

Utilice este parámetro de salida en un modelo para conectarse a una herramienta con una entrada de valor múltiple como la herramienta Fusionar.

Feature Layer; Mosaic Layer
Recuento

El número de registros seleccionados.

Si hay varios valores de parámetro Entidades de entrada, los recuentos estarán en el mismo orden que las entradas.

Long

arcpy.management.SelectLayerByLocation(in_layer, {overlap_type}, {select_features}, {search_distance}, {selection_type}, {invert_spatial_relationship})
NombreExplicaciónTipo de datos
in_layer
[in_layer,...]

Las entidades que se evaluarán con respecto a los valores del parámetro select_features. Se aplicará la selección a estas entidades.

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

Especifica la relación espacial que se evaluará.

  • INTERSECTLas entidades en la capa de entrada se seleccionarán si intersecan con una entidad de selección. Esta es la opción predeterminada.
  • INTERSECT_3DLas entidades de la capa de entrada se seleccionarán si se intersecan con una entidad de selección en el espacio tridimensional (x, y, z).
  • INTERSECT_DBMSLas entidades en la capa de entrada se seleccionarán si intersecan con una entidad de selección.Esta opción solo se aplica a geodatabases corporativas. La selección se procesará en el DBMS de la geodatabase corporativa y no en el cliente cuando se cumplan todos los requisitos (consulte las notas de uso).Esta opción puede ofrecer mejor resultado que cuando se realiza la selección en el cliente.
  • WITHIN_A_DISTANCELas entidades de la capa de entrada se seleccionarán si se encuentran dentro de una distancia especificada (usando la distancia euclidiana) de la entidad de selección. Utilice el parámetro search_distance para especificar la distancia.
  • WITHIN_A_DISTANCE_3DLas entidades en la capa de entrada se seleccionarán si se encuentran dentro de una distancia especificada de una entidad de selección en el espacio tridimensional. Utilice el parámetro search_distance para especificar la distancia.
  • WITHIN_A_DISTANCE_GEODESICEsta relación espacial es la misma que la opción WITHIN_A_DISTANCE, excepto que se utiliza una distancia geodésica en vez de una distancia planar. La distancia entre las entidades se calculará utilizando una fórmula geodésica que tiene en cuenta la curvatura del esferoide y trata correctamente los datos de los polos y la línea de cambio de fecha y los cercanos a estos. Elija esta opción si los datos cubren una gran extensión geográfica o si el sistema de coordenadas de las entradas no es adecuado para los cálculos de distancia. Utilice el parámetro search_distance para especificar la distancia.
  • CONTAINSLas entidades de la capa de entrada se seleccionarán si contienen a una entidad de selección.
  • COMPLETELY_CONTAINSLas entidades de la capa de entrada se seleccionarán si contienen completamente a una entidad de selección.
  • CONTAINS_CLEMENTINIEsta relación espacial proporciona los mismos resultados que la opción CONTAINS, con la excepción de que si la entidad de selección está completamente sobre el límite de la entidad de entrada (ninguna parte se encuentra totalmente dentro o fuera), la entidad no se selecciona.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 de selección.
  • COMPLETELY_WITHINLas entidades de la capa de entrada se seleccionarán si se encuentran totalmente dentro de una entidad de selección o si una entidad de selección los contiene completamente.
  • WITHIN_CLEMENTINIEl resultado será idéntico al de la opción WITHIN, excepto si la totalidad del elemento de la capa de entrada se encuentra en el límite del elemento de la capa de selección, en cuyo caso el elemento no se seleccionará.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 de selección.
  • BOUNDARY_TOUCHESLas entidades de la capa de entrada se seleccionarán si tienen un límite que toca a una entidad de selección. Si las entidades de entrada son líneas o polígonos, el límite de la entidad de entrada solo puede tocar el límite de la entidad de selección y ninguna parte de la entidad de entrada puede cruzar el límite de la entidad de selección.
  • SHARE_A_LINE_SEGMENT_WITHLas entidades de la capa de entrada se seleccionarán si comparten un segmento de línea con una entidad de selección. Las entidades de entrada y de selección deben ser poligonales o de línea.
  • CROSSED_BY_THE_OUTLINE_OFLas entidades de la capa de entrada se seleccionarán si las cruza el contorno de una entidad de selección. 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 crucen en un punto, pero 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 de selección. El centro de la entidad se calcula del modo siguiente: 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.
String
select_features
(Opcional)

Las entidades del parámetro 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)

La distancia que se buscará. Este parámetro solo es válido si el parámetro overlap_type está establecido en INTERSECT, INTERSECT_3D, WITHIN_A_DISTANCE, WITHIN_A_DISTANCE_3D, WITHIN_A_DISTANCE_GEODESIC, CONTAINS o en HAVE_THEIR_CENTER_IN.

Si se especifica la opción WITHIN_A_DISTANCE_GEODESIC, utilice una unidad lineal como kilómetros o millas.

Linear Unit
selection_type
(Opcional)

Especifica cómo se aplicará la selección a la entrada y cómo combinarla con una selección existente. Esta herramienta no incluye una opción para borrar una selección existente, utilice la herramienta Seleccionar capa por atributo con el parámetro selection_type definido en CLEAR_SELECTION para ello.

  • NEW_SELECTIONLa selección resultante reemplazará toda selección existente. Esta es la opción predeterminada.
  • ADD_TO_SELECTIONLa selección resultante se agregará a una selección existente. Si no existe ninguna selección, coincide con la opción NEW_SELECTION.
  • REMOVE_FROM_SELECTIONLa selección resultante se quitará de una selección existente. Si no existe una selección, la operación no tendrá efecto.
  • SUBSET_SELECTIONLa selección resultante se combinará con una selección existente. Solo permanecerán seleccionados los registros comunes a ambas selecciones.
  • SWITCH_SELECTIONLa selección se cambiará. Todos los registros seleccionados se quitarán de la selección y todos los registros no seleccionados se agregarán a la selección.Cuando se especifica esta opción, se ignoran los parámetros select_features y overlap_type.
String
invert_spatial_relationship
(Opcional)

Especifica si el resultado de la evaluación de relación espacial se utilizará o se invertirá. Por ejemplo, este parámetro se puede utilizar para obtener una lista de entidades que no se intersecan o que no están dentro de una distancia determinada respecto a entidades de otro dataset.

  • NOT_INVERTSe utilizará el resultado de la evaluación. Esta es la opción predeterminada.
  • INVERTSe utilizará el resultado de la evaluación invertida. Si el parámetro selection_type está definido, la inversión de la selección se producirá antes de que se combine con las selecciones existentes.
Boolean

Salida derivada

NombreExplicaciónTipo de datos
out_layer_or_view

Primera entrada con la selección aplicada.

Feature Layer; Mosaic Layer
out_layers_or_views

Un parámetro multivalor que incluye todas las entradas con selecciones aplicadas.

Utilice este parámetro de salida en un modelo para conectarse a una herramienta con una entrada de valor múltiple como la herramienta Fusionar.

Feature Layer; Mosaic Layer
count

El número de registros seleccionados.

Si hay varios valores de parámetros in_features, los recuentos estarán en el mismo orden que las entradas.

Long

Muestra 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 de modo inmediato.

import arcpy
arcpy.management.SelectLayerByLocation("parcel_lyr", "have_their_center_in", 
                                       "c:/kamsack.gdb/city_limits")
Ejemplo 2 de SelectLayerByLocation (script 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.

# 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 that overlap the chihuahua polygon
chihuahua_cities = arcpy.management.SelectLayerByLocation('cities', 'INTERSECT', 
                                                          'chihuahua')

# From the previous selection, select a subset of cities that have 
# population > 10,000
arcpy.management.SelectLayerByAttribute(chihuahua_cities, 
                                        'SUBSET_SELECTION', 
                                        '"population" > 10000')

# If features matched criteria, write them to a new feature class
matchcount = 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))
Ejemplo 3 de SelectLayerByLocation (script independiente)

La siguiente secuencia de comandos independiente muestra una variedad de usos de las opciones overlap_type y WITHIN_A_DISTANCE del parámetro WITHIN_A_DISTANCE_GEODESIC con el parámetro search_distance.

# Description: Select features within a distance

# Import arcpy and set path to data
import arcpy

arcpy.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 
# system
arcpy.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 meters
arcpy.management.SelectLayerByLocation('cities', 'WITHIN_A_DISTANCE_GEODESIC', 
                                       'chihuahua', '200')

Información de licenciamiento

  • Basic: Sí
  • Standard: Sí
  • Advanced: Sí

Temas relacionados