arcgis10.2.2工具箱Python2.7脚本:批量自动删除小于多少平方米面积的图斑
时间: 2024-01-21 19:16:08 浏览: 139
arcgis Sptools工具箱
以下是一个可以在ArcGIS 10.2.2工具箱中使用Python 2.7编写的脚本,用于批量自动删除面积小于指定值的图斑。该脚本可以作为“批量处理”工具箱中的一个工具来使用。
```python
# 导入需要使用的模块
import arcpy
# 设置输入参数
input_features = arcpy.GetParameterAsText(0) # 输入要素类
output_features = arcpy.GetParameterAsText(1) # 输出要素类
minimum_area = arcpy.GetParameterAsText(2) # 面积阈值,单位为平方米
# 将面积阈值转换为浮点型
try:
minimum_area = float(minimum_area)
except ValueError:
arcpy.AddError("面积阈值必须为数字!")
sys.exit()
# 创建要素图层并添加要素
arcpy.MakeFeatureLayer_management(input_features, "input_layer")
arcpy.SelectLayerByAttribute_management("input_layer", "NEW_SELECTION", "Shape_Area < {}".format(minimum_area))
arcpy.CopyFeatures_management("input_layer", output_features)
# 输出结果
arcpy.SetParameterAsText(3, output_features)
```
使用该脚本时,需要在工具箱中设置三个输入参数:
- 输入要素类:需要删除小面积图斑的要素类。
- 输出要素类:删除小面积图斑后的结果要素类。
- 面积阈值:需要删除的图斑的最小面积,单位为平方米。
该脚本首先将输入要素类转换为要素图层,并使用`SelectLayerByAttribute_management`函数选择面积小于指定值的图斑,然后将结果保存到输出要素类中。最后,将输出要素类作为输出参数返回。
注意:该脚本仅适用于处理面状要素类(如面、多边形等),对于线状或点状要素类请自行修改脚本。
阅读全文