Crear capa de entidades (Administración de datos)

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

EtiquetaExplicaciónTipo 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

arcpy.management.MakeFeatureLayer(in_features, out_layer, {where_clause}, {workspace}, {field_info})
NombreExplicaciónTipo 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

Ejemplo 1 de MakeFeatureLayer (ventana de Python)

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.management.MakeFeatureLayer("parcels.shp", "parcels_lyr")
Ejemplo 2 de MakeFeatureLayer (secuencia de comandos independiente)

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: makefeaturelayer_example_2.py
# Description:  Uses MakeFeatureLayer with custom field info as input to Intersect

# Import system modules
import arcpy
from arcpy import env

# Set overwrite option
arcpy.env.overwriteOutput = True

# Set data path
cityboundaries = "C:/data/City.gdb/boundaries"
countyboundaries = "C:/data/City.gdb/counties"

# Get the fields from the input
fields= arcpy.ListFields(cityboundaries)

# Create a fieldinfo object
fieldinfo = arcpy.FieldInfo()

# Iterate through the input fields and add them to fieldinfo
for field in fields:
    if field.name == "POPULATION":
        # Set the Population to have a ratio split policy
        fieldinfo.addField(field.name, field.name, "VISIBLE", "RATIO")
    else:
        fieldinfo.addField(field.name, field.name, "VISIBLE", "NONE")

# Make a layer from the feature class
arcpy.MakeFeatureLayer_management(cityboundaries, "city_boundaries_lyr", fieldinfo)

# Intersect cities and counties, splitting city population proportionally by county
arcpy.Intersect_analysis([["city_boundaries_lyr"],[countyboundaries]], "memory/intersected_city_counties")