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

Sintaxis

MakeFeatureLayer_management (in_features, out_layer, {where_clause}, {workspace}, {field_info})
ParámetroExplicaciónTipo 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

Ejemplo 1 de MakeFeatureLayer (ventana de Python)

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")



Ejemplo 2 de MakeFeatureLayer (secuencia de comandos independiente)

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()

Entornos

Temas relacionados


7/10/2012