Resumen
Crea una capa de entidades a partir de un archivo de capa o clase de entidad de entrada. La capa creada por la herramienta es temporal y, una vez finalizada la sesión, no permanece en el sistema a menos que se guarde el documento de mapa o que la capa se guarde en el disco.
Uso
La capa de entidad temporal se puede guardar como un archivo de capas utilizando la herramienta Guardar en archivo de capa o se puede guardar como una clase de entidad nueva utilizando la herramienta Copiar entidades.
Esta herramienta no admite 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 control Información de campo. La política de división entra en efecto cada vez que la capa de entidad se utiliza como una entrada en una herramienta y una geometría de la capa de entidad 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, necesita asegurarse de que la variable de datos de entrada de 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 desde su cuadro de diálogo 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 con Crear capa de entidades (en un modelo) se guarda como datos permanentes (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.
Sintaxis
arcpy.management.MakeFeatureLayer(in_features, out_layer, {where_clause}, {workspace}, {field_info})
Parámetro | Explicación | Tipo de datos |
in_features | La capa o clase de entidad de entrada a partir de la cual se crea la capa nueva. Las clases de entidades complejas, como anotación y dimensiones. no son entradas válidas para esta herramienta. | 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. | 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) | Se puede utilizar para revisar y ocultar un subconjunto de campos en la capa de salida. Se puede especificar una política de división. Consulte los usos para obtener más información. | Field Info |
Muestra de código
El siguiente script de la ventana de Python demuestra cómo utilizar la función MakeFeatureLayer en el modo inmediato.
import arcpy
arcpy.env.workspace = "C:/data/input"
arcpy.MakeFeatureLayer_management("parcels.shp", "parcels_lyr")
En la siguiente secuencia de comandos independiente se muestra cómo utilizar MakeFeatureLayer para crear una capa que las herramientas SelectLayerByLocation y SelectLayerByAttribute puedan 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í