写一个运行于arcgis10.2.2工具箱python2.7的脚本代码:输入数据,设置:凡是在SHAPE_Area < 多少值(字符串)情况下的图斑进行自动删除,导出删除后剩余要素
时间: 2024-01-22 15:19:40 浏览: 122
以下是一个可能的实现:
```python
import arcpy
# 输入数据路径和名称
input_fc = arcpy.GetParameterAsText(0)
# 设置删除的面积阈值
threshold_str = arcpy.GetParameterAsText(1)
threshold = float(threshold_str)
# 输出数据路径和名称
output_fc = arcpy.GetParameterAsText(2)
# 创建一个新的要素类,作为输出
arcpy.CreateFeatureclass_management(
out_path=os.path.dirname(output_fc),
out_name=os.path.basename(output_fc),
geometry_type="POLYGON",
spatial_reference=input_fc
)
# 打开输入要素类的游标
with arcpy.da.SearchCursor(input_fc, ["SHAPE@", "SHAPE_Area"]) as cursor:
# 打开输出要素类的游标
with arcpy.da.InsertCursor(output_fc, ["SHAPE@"]) as icursor:
# 遍历每一个要素
for row in cursor:
# 如果面积小于阈值,则跳过
if row[1] < threshold:
continue
# 否则将要素插入到输出要素类中
icursor.insertRow([row[0]])
```
注意,这个脚本需要在 ArcGIS 的 Python 环境下运行,无法在普通的 Python 环境下运行。另外,脚本中的参数需要通过工具箱界面设置。
阅读全文