Etiqueta | Explicación | Tipo de datos |
Entidades de entrada | La capa o clase de entidad de entrada desde la que se creará la nueva capa. Las clases de entidad complejas, como anotación y dimensiones, no son entradas válidas. | Feature Layer |
Capa de salida | Nombre de la capa de entidad que se creará. La capa nueva creada se puede utilizar como entrada en cualquier herramienta de geoprocesamiento que acepte una capa de entidad como entrada. | Feature Layer |
Expresión (Opcional) | Una expresión SQL utilizada para seleccionar un subconjunto de entidades. Si la entrada es una capa con una consulta de definición existente y se especifica una cláusula WHERE con este parámetro, ambas cláusulas WHERE se combinarán con un operador AND para la capa de salida. Por ejemplo, si la capa de entrada tiene una cláusula WHERE de Id. > 10 y este parámetro está establecido en Id. < 20, la cláusula where de la capa resultante será Id. > 10 AND Id. < 20. | SQL Expression |
Espacio de trabajo o dataset de entidades (Opcional) | El espacio de trabajo de entrada que se utiliza para validar los nombres de campo. Si la entrada es una tabla de geodatabase y el espacio de trabajo de salida es una tabla de dBASE, los nombres de campo pueden estar truncados ya que los campos de dBASE sólo pueden tener nombres de un máximo de diez caracteres. | Workspace; Feature Dataset |
Información del campo (Opcional) | Los campos de la entrada que se renombrarán y pasarán a ser visibles en la salida. Se puede especificar una política de división. | Field Info |
Resumen
Crea una capa de entidades a partir de un archivo de capa o clase de entidad de entrada. La capa creada es temporal y, una vez finalizada la sesión, no se conservará a menos que se guarde la capa en el disco o se guarde el documento de mapa.
Uso
La capa de entidades temporal se puede guardar como archivo de capa utilizando la herramienta Guardar en archivo de capa o se puede guardar como una nueva clase de entidad utilizando la herramienta Copiar entidades.
No se admiten las clases de entidad complejas, como, por ejemplo, anotación y dimensiones.
Si se utiliza una expresión SQL pero no se devuelve ningún resultado, la salida quedará vacía.
Los nombres de campo se validarán al especificar un espacio de trabajo de entrada. Por lo tanto, si la entrada es una clase de entidad de geodatabase y el espacio de trabajo de salida es una carpeta, los nombres de campo se pueden truncar porque los atributos de shapefile sólo pueden tener nombres de un máximo de diez caracteres.
Se puede establecer una política de división utilizando la opción Relación del parámetro Información de campo. La política de división entra en vigor cuando la capa de entidades se utiliza como una entrada a una herramienta y una geometría de la capa de entidades de entrada se divide durante el procesamiento. Cuando la geometría de división se envía a la salida, se calcula una relación del valor de atributo de entrada para el valor de atributo de salida. Cuando se habilita Relación, siempre que se divida una entidad en una operación de superposición, los atributos de las entidades resultantes son una relación del valor de atributo de la entidad de entrada. El valor de salida está basado en la relación en la que se dividió la geometría de la entidad de entrada. Por ejemplo, si la geometría de entrada se dividió equitativamente, al valor de atributo de cada entidad nueva se le asigna la mitad del valor de atributo de la entidad de entrada. La política Relación solo se aplica a los tipos de campos numéricos.
El valor predeterminado es ninguno (desactivado). Esto significa que el atributo de las dos entidades resultantes acepta una copia del valor de atributo del objeto original.
Precaución:
Las herramientas de geoprocesamiento no cumplen las políticas de división de campos de tabla o clases de entidad de geodatabase.
Al utilizar ModelBuilder para crear una herramienta, asegúrese de que la variable de datos de entrada a esta herramienta no esté marcada como intermedia. Si la entrada se encuentra marcada como intermedia, se eliminará después de que el modelo se ejecute y la capa de salida no se agregará a la visualización.
En un modelo, a la variable de salida de la herramienta Crear capa de entidades se le puede asignar un archivo de capa desde el cual aplicar la simbología a la capa que se crea. Cuando la capa que se está creando se devuelve como un parámetro de salida de herramienta de modelo o script para un mapa, la simbología del archivo de capa se mantiene, pero no así las propiedades de la etiqueta. No obstante, si la capa creada por la herramienta Crear capa de entidades (en un modelo) se guarda como datos permanentes (una clase de entidad o shapefile), y esos datos permanentes se devuelven al mapa como un parámetro de salida, las propiedades de la etiqueta del archivo de capa se aplicarán correctamente.
Si el valor del parámetro Entidades de entrada es una capa, la simbología, la selección y la consulta de definición de la entrada se transferirán a la capa de salida.
Parámetros
arcpy.management.MakeFeatureLayer(in_features, out_layer, {where_clause}, {workspace}, {field_info})
Nombre | Explicación | Tipo de datos |
in_features | La capa o clase de entidad de entrada desde la que se creará la nueva capa. Las clases de entidad complejas, como anotación y dimensiones, no son entradas válidas. | Feature Layer |
out_layer | Nombre de la capa de entidad que se creará. La capa nueva creada se puede utilizar como entrada en cualquier herramienta de geoprocesamiento que acepte una capa de entidad como entrada. | Feature Layer |
where_clause (Opcional) | Una expresión SQL utilizada para seleccionar un subconjunto de entidades. Para obtener más información sobre la sintaxis SQL, consulte el tema de ayuda Referencia SQL para las expresiones de consulta utilizadas en ArcGIS. Si la entrada es una capa con una consulta de definición existente y se especifica una cláusula WHERE con este parámetro, ambas cláusulas WHERE se combinarán con un operador AND para la capa de salida. Por ejemplo, si la capa de entrada tiene una cláusula WHERE de Id. > 10 y este parámetro está establecido en Id. < 20, la cláusula where de la capa resultante será Id. > 10 AND Id. < 20. | SQL Expression |
workspace (Opcional) | El espacio de trabajo de entrada que se utiliza para validar los nombres de campo. Si la entrada es una tabla de geodatabase y el espacio de trabajo de salida es una tabla de dBASE, los nombres de campo pueden estar truncados ya que los campos de dBASE sólo pueden tener nombres de un máximo de diez caracteres. | Workspace; Feature Dataset |
field_info (Opcional) | Los campos de la entrada que se renombrarán y pasarán a ser visibles en la salida. Se puede especificar una política de división. | Field Info |
Muestra de código
El siguiente script de la ventana de Python demuestra cómo utilizar la función MakeFeatureLayer de modo inmediato.
import arcpy
arcpy.env.workspace = "C:/data/input"
arcpy.MakeFeatureLayer_management("parcels.shp", "parcels_lyr")
El siguiente script independiente demuestra cómo se utiliza la función MakeFeatureLayer para crear una capa que las funciones SelectLayerByLocation y SelectLayerByAttribute pueden utilizar.
# Name: ExtractFeaturesByLocationAndAttribute.py
# Description: Extracts features to a new feature class based on a location and an attribute query.
# Import system modules
import arcpy
# Set overwrite option
arcpy.env.overwriteOutput = True
# Put in error trapping in case an error occurs when running tool
try:
# Make a layer from the feature class
arcpy.MakeFeatureLayer_management("C:/data/mexico.gdb/cities","cities_lyr")
# Select all cities that overlap the chihuahua polygon
arcpy.SelectLayerByLocation_management("cities_lyr", "INTERSECT", "c:/data/mexico.gdb/chihuahua", "", "NEW_SELECTION")
# Within the selection (done above) further select only those cities that have a population >10,000
arcpy.SelectLayerByAttribute_management("cities_lyr", "SUBSET_SELECTION", "POPULATION > 10000")
# Write the selected features to a new featureclass
arcpy.CopyFeatures_management("cities_lyr", "c:/data/mexico.gdb/chihuahua_10000plus")
except:
print(arcpy.GetMessages())
Entornos
Información de licenciamiento
- Basic: Sí
- Standard: Sí
- Advanced: Sí