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.
Uso
-
La entrada debe ser una capa de entidades y no una clase de entidad.
-
Las entradas válidas para esta herramienta funciona sobre capas en la tabla de contenido de ArcMap, ArcGlobe o ArcScene y también sobre capas creadas en ArcCatalog o en secuencias de comandos con la herramienta Crear capa de entidades.
-
El sistema de coordenadas en el que se evalúa la relación espacial puede afectar el resultado. Es posible que las entidades que se intersectan en un sistema de coordenadas se intersecten o no entre ellas.
- Esta herramienta evalúa la relación espacial en el sistema de coordenadas de la fuente de datos de la Capa de entidades de entrada (la clase de entidad en el disco). Configurar el entorno del sistema de coordenadas de salida para evaluar la relación espacial en un sistema de coordenadas diferente.
- Las herramientas Seleccionar por ubicación disponibles en el menú Selección de ArcMap, ArcScene y ArcGlobe evalúan la relación espacial en el sistema de coordenadas de la visualización de esa aplicación (el marco de datos actual). Para que la herramienta de geoprocesamiento coincida con este comportamiento (y obtenga resultados idénticos), establezca elentorno del sistema de coordenadas de salida en Como la visualización.
-
Esta herramienta puede utilizarse para seleccionar entidades según sus relaciones espaciales con otras entidades dentro de la misma capa. Para obtener algunos ejemplos consulte: Seleccionar por ubicación dentro de una capa
-
La herramienta Obtener contador puede utilizarse para encontrar el número de entidades seleccionadas por la herramienta Seleccionar capa por ubicación. Esto puede ser útil para determinar si cualquiera de las entidades coincide con la relación espacial deseada antes de continuar con más análisis como parte de un flujo de trabajo automatizado (es decir, secuencia de comandos o modelo).
-
Para obtener más información sobre el uso de relaciones espaciales tridimensionales (INTERSECT_3D y WITHIN_A_DISTANCE_3D), consulte Seleccionar por ubicación: relaciones 3D.
Sintaxis
Parámetro | Explicación | Tipo 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á.
| 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.
| String |
Ejemplo de código
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")
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))