Más

Error "seleccionar por atributo", al usar getParameter

Error


Estoy desarrollando una herramienta ArcGIS de Python. A continuación se muestra una parte de las entradas:

StudyArea = arcpy.GetParameterAsText (0) LandCover = arcpy.GetParameterAsText (1) gridcode = arcpy.GetParameterAsText (2)

gridcode es un campo de LandCover.

gridcode tiene como objetivo derivar el campo que contiene el código de clase de cobertura terrestre.

Luego trato de seleccionar algunos tipos de cobertura terrestre (código de cobertura terrestre <17 y = 21), y el código que escribo es:

arcpy.SelectLayerByAttribute_management ("LC_test", "NEW_SELECTION", 'gridcode <17 o gridcode = 21')

"LC_test" es la capa de características de LandCover

El problema es: en el shapefile LandCover, si el campo del código Land Cover también se denomina "gridcode", la herramienta funciona bien.

Si el nombre del campo no es "gridcode", la herramienta no se ejecuta. El error es "expresión no válida".

Puede alguien ayudarme con esto?


Estas usandogridcodecomo texto en una cadena, en lugar de una variable.

Intentar:

arcpy.SelectLayerByAttribute_management ("LC_test", "NEW_SELECTION", '"' gridcode + '" <17 o "' + gridcode + '" = 21')

La sintaxis exacta que busca depende de las fuentes de datos y los tipos de campo. Consulte la referencia de ArcGIS SQL para las expresiones de consulta utilizadas en la ayuda de ArcGIS.


Ver el vídeo: Filling Attribute Table Automatically with Simple Steps in ArcMap Using Field Calculator