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 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.
-
Las capas que se crean en ArcCatalog no se pueden utilizar en ArcMap a menos que se guarden en un archivo de capas utilizando la herramienta Guardar_en_archivo_de_capa.
Si se utiliza una expresión SQL pero no se devuelve ningún resultado, la salida quedará vacía.
Los nombres de campo se pueden cambiar mediante el control Información de campo. La segunda columna del control enumera los nombres de campo de entrada existentes. Para cambiar el nombre de un campo, haga clic en el nombre de campo y escriba un nombre nuevo.
Los nuevos nombres de campo definidos en el control Información de campo se aplicarán en herramientas posteriores. Sin embargo, si esta herramienta es la última herramienta de un modelo, los nombres de campo se obtendrán a partir de los datos de origen en disco. Para mantener los nuevos nombres de campo, la capa nueva se debe escribir en datos nuevos mediante las herramientas Copiar filas o Copiar entidades.
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. Los nombres nuevos se pueden revisar y cambiar mediante el control Información de campo.
Se puede hacer que un subconjunto de campos no esté disponible en la capa nueva mediante la propiedad de visibilidad del control Información de campo. La tercera columna del control proporciona una opción desplegable para especificar si un campo estará visible u oculto en la capa nueva. La opción predeterminada es VERDADERO. Si selecciona FALSO, el campo se ocultará. No puede utilizar los campos ocultos en un flujo de trabajo si la capa recién creada es la entrada de un proceso o una herramienta posterior. Si la salida se guarda en disco, en los datos nuevos sólo aparecerán los campos enumerados como visibles.
-
Se puede establecer una política de división utilizando la opción Utilizar política de 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 Utilizar política de 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. Utilizar política de relación sólo se aplica a los tipos de campos numéricos.
El valor predeterminado es NINGUNO (desmarcado). 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.
Sintaxis
Parámetro | Explicación | Tipo de datos |
in_features |
Capa o clase de entidad de entrada utilizada para crear 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. La sintaxis para la expresión difiere levemente según la fuente de datos. Por ejemplo, si está consultando shapefiles, coberturas o geodatabases de archivos o de ArcSDE, encierre los nombres de campo con comillas dobles: "MY_FIELD" Si está consultando geodatabases personales, encierre los campos en corchetes: [MY_FIELD] En Python, las cadenas de caracteres están encerradas con comillas simples o dobles. Para crear una cadena de caracteres que consta de comillas (como es común con una cláusula WHERE en las expresiones SQL), puede separar las comillas (usando una barra invertida) o poner comillas triples en la cadena de caracteres. Por ejemplo, si la cláusula WHERE propuesta es "CITY_NAME" = 'Chicago' podría encerrar toda la cadena de caracteres entre comillas dobles y después separar las comillas dobles interiores de esta manera: " \"CITY_NAME\" = 'Chicago' " O podría encerrar toda la cadena de caracteres entre comillas simples y después separar las comillas simples interiores de esta manera: ' "CITY_NAME" = \'Chicago\' ' O puede encerrar toda la cadena de caracteres entre comillas triples sin separar: """ "CITY_NAME" = 'Chicago' """ Para obtener más información sobre la sintaxis de SQL y cómo difiere entre las fuentes de datos, 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. Los nombres nuevos se pueden revisar y cambiar mediante el control de información de campo. | Workspace;Feature Dataset |
field_info (Opcional) | Se puede utilizar para revisar y modificar los nombres de campo 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 |
Ejemplo de código
La siguiente secuencia de comandos 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")
La siguiente secuencia de comandos independiente demuestra 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
from arcpy import env
# 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()