写一个Python2.7的arcgis工具箱脚本:除Object ID,Shape 和 Shape_Length/Shape_Area 字段外,删除数据的所有格式字段
时间: 2023-12-14 16:36:08 浏览: 189
下面是一个Python 2.7的ArcGIS工具箱脚本,可以删除数据的所有格式字段。请注意,此脚本假定您已经将输入数据添加到ArcMap中,并且已经创建了工具箱和工具。
``` python
# Import the necessary ArcGIS modules
import arcpy
# Get the input feature class as a parameter
input_data = arcpy.GetParameterAsText(0)
# Get a list of all the fields in the input feature class
fields = arcpy.ListFields(input_data)
# Create a list to hold the names of the fields to be deleted
fields_to_delete = []
# Loop through the fields and add the names of any format fields to the list
for field in fields:
if field.type == "String" or field.type == "Date":
fields_to_delete.append(field.name)
# Remove the ObjectID, Shape, and Shape_Length/Shape_Area fields from the list
fields_to_delete.remove("OBJECTID")
fields_to_delete.remove("Shape")
fields_to_delete.remove("Shape_Length")
fields_to_delete.remove("Shape_Area")
# Delete the format fields from the input feature class
arcpy.DeleteField_management(input_data, fields_to_delete)
```
在此脚本中,我们首先使用 `arcpy.GetParameterAsText()` 获取输入要素类的名称。然后,我们使用 `arcpy.ListFields()` 获取输入要素类的所有字段。接下来,我们循环遍历每个字段,并检查其类型是否为字符串或日期。如果是,我们将其名称添加到要删除的字段列表中。
最后,我们从要删除的字段列表中删除 ObjectID、Shape 和 Shape_Length/Shape_Area 字段,并使用 `arcpy.DeleteField_management()` 从输入要素类中删除所有格式字段。
阅读全文