Skip to main content
edited tags
Link
PolyGeo
  • 65.4k
  • 29
  • 114
  • 345
added 1172 characters in body
Source Link
DenaliHardtail
  • 3.2k
  • 4
  • 36
  • 72

I have a feature class. I want to copy the FC and use a WHERE clause to limit the rows copied. I tried using the CopyFeatures_management but it throws an error on the CopyFeatures_management() line.

Here's the code:

import arcpy

arcpy.env.workspace = 'C:/.../localFile.gdb'

inFC = 'inputFeatureClassName'
outFC = 'tmp_JUNK'

arcpy.CopyFeatures_management(inFC, outFC, '"FIELD_NAME" = "VALUE"')

The error thrown:

arcgisscripting.ExecuteError: Failed to execute. Parameters are not valid.
ERROR 000800: The value is not a member of  | DEFAULTS | TEXT_UTF16 | MAX_FILE_SIZE_4GB | MAX_FILE_SIZE_256TB | GEOMETRY_OUTOFLINE | BLOB_OUTOFLINE | GEOMETRY_AND_BLOB_OUTOFLINE | TERRAIN_DEFAULTS | MOSAICDATASET_DEFAULTS | MOSAICDATASET_INLINE.
Failed to execute (CopyFeatures).

Any ideas what I'm doing wrong and how to fix it?

Update #1 - This code works but I question whether it's really the best approach. If I understand this, I create a feature layer, perform the selection on the feature layer, and then write the selection to a new feature class. Is that correct? Is this the most efficient approach?

    # 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:/.../localFile.gdb/tmp_FeatureClass","tmpOMG")
    
       arcpy.SelectLayerByAttribute_management("tmpOMG", "NEW_SELECTION", """"FIELD_NAME" = 'VALUE'""")
    
       # Write the selected features to a new featureclass
       arcpy.CopyFeatures_management("tmpOMG", "C:/.../localFile.gdb/tmpOutFromLayer")
    
except:
   print arcpy.GetMessages()

source: ArcGIS Help

I have a feature class. I want to copy the FC and use a WHERE clause to limit the rows copied. I tried using the CopyFeatures_management but it throws an error on the CopyFeatures_management() line.

Here's the code:

import arcpy

arcpy.env.workspace = 'C:/.../localFile.gdb'

inFC = 'inputFeatureClassName'
outFC = 'tmp_JUNK'

arcpy.CopyFeatures_management(inFC, outFC, '"FIELD_NAME" = "VALUE"')

The error thrown:

arcgisscripting.ExecuteError: Failed to execute. Parameters are not valid.
ERROR 000800: The value is not a member of  | DEFAULTS | TEXT_UTF16 | MAX_FILE_SIZE_4GB | MAX_FILE_SIZE_256TB | GEOMETRY_OUTOFLINE | BLOB_OUTOFLINE | GEOMETRY_AND_BLOB_OUTOFLINE | TERRAIN_DEFAULTS | MOSAICDATASET_DEFAULTS | MOSAICDATASET_INLINE.
Failed to execute (CopyFeatures).

Any ideas what I'm doing wrong and how to fix it?

I have a feature class. I want to copy the FC and use a WHERE clause to limit the rows copied. I tried using the CopyFeatures_management but it throws an error on the CopyFeatures_management() line.

Here's the code:

import arcpy

arcpy.env.workspace = 'C:/.../localFile.gdb'

inFC = 'inputFeatureClassName'
outFC = 'tmp_JUNK'

arcpy.CopyFeatures_management(inFC, outFC, '"FIELD_NAME" = "VALUE"')

The error thrown:

arcgisscripting.ExecuteError: Failed to execute. Parameters are not valid.
ERROR 000800: The value is not a member of  | DEFAULTS | TEXT_UTF16 | MAX_FILE_SIZE_4GB | MAX_FILE_SIZE_256TB | GEOMETRY_OUTOFLINE | BLOB_OUTOFLINE | GEOMETRY_AND_BLOB_OUTOFLINE | TERRAIN_DEFAULTS | MOSAICDATASET_DEFAULTS | MOSAICDATASET_INLINE.
Failed to execute (CopyFeatures).

Any ideas what I'm doing wrong and how to fix it?

Update #1 - This code works but I question whether it's really the best approach. If I understand this, I create a feature layer, perform the selection on the feature layer, and then write the selection to a new feature class. Is that correct? Is this the most efficient approach?

    # 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:/.../localFile.gdb/tmp_FeatureClass","tmpOMG")
    
       arcpy.SelectLayerByAttribute_management("tmpOMG", "NEW_SELECTION", """"FIELD_NAME" = 'VALUE'""")
    
       # Write the selected features to a new featureclass
       arcpy.CopyFeatures_management("tmpOMG", "C:/.../localFile.gdb/tmpOutFromLayer")
    
except:
   print arcpy.GetMessages()

source: ArcGIS Help

Source Link
DenaliHardtail
  • 3.2k
  • 4
  • 36
  • 72

How do I create a new feature class from an existing FC and a WHERE clause?

I have a feature class. I want to copy the FC and use a WHERE clause to limit the rows copied. I tried using the CopyFeatures_management but it throws an error on the CopyFeatures_management() line.

Here's the code:

import arcpy

arcpy.env.workspace = 'C:/.../localFile.gdb'

inFC = 'inputFeatureClassName'
outFC = 'tmp_JUNK'

arcpy.CopyFeatures_management(inFC, outFC, '"FIELD_NAME" = "VALUE"')

The error thrown:

arcgisscripting.ExecuteError: Failed to execute. Parameters are not valid.
ERROR 000800: The value is not a member of  | DEFAULTS | TEXT_UTF16 | MAX_FILE_SIZE_4GB | MAX_FILE_SIZE_256TB | GEOMETRY_OUTOFLINE | BLOB_OUTOFLINE | GEOMETRY_AND_BLOB_OUTOFLINE | TERRAIN_DEFAULTS | MOSAICDATASET_DEFAULTS | MOSAICDATASET_INLINE.
Failed to execute (CopyFeatures).

Any ideas what I'm doing wrong and how to fix it?