import arcpy import os import sys feature_class = arcpy.GetParameterAsText(0) query = arcpy.GetParameterAsText(1) output_path = arcpy.GetParameterAsText(2) if not arcpy.Exists(output_path): arcpy.CreateFolder_management(os.path.dirname(output_path), os.path.basename(output_path)) gdb_path = os.path.join(output_path, "output.gdb") if not arcpy.Exists(gdb_path): arcpy.CreateFileGDB_management(output_path, "output.gdb", "CURRENT") expression = arcpy.AddFieldDelimiters(feature_class, "SHAPE_Area") + " < " + query if arcpy.Exists(feature_class): with arcpy.da.UpdateCursor(feature_class, "*", where_clause=expression) as cursor: for row in cursor: cursor.deleteRow() arcpy.FeatureClassToFeatureClass_conversion(feature_class, gdb_path, "output_feature_class") del cursor print("操作完成") else: print("要素类不存在")运行代码没有导出数据。请改正代码
时间: 2024-01-22 14:18:50 浏览: 127
根据你提供的代码,可能是因为在删除要素之后,没有将剩下的要素导出到输出要素类中。你可以尝试将以下代码添加到删除要素的代码后面:
```
arcpy.FeatureClassToFeatureClass_conversion(feature_class, gdb_path, "output_feature_class", where_clause=expression)
```
这将把符合查询条件的要素导出到输出要素类中。另外,你还需要注意一下以下几点:
1. 确保输入的要素类和输出路径是正确的。
2. 确保输入的查询表达式是正确的。
3. 确保输出路径中文件夹和文件名没有特殊字符或空格。
阅读全文