按筛选条件值进行自动删除筛选图斑的arcgis10.2.2工具箱python2.7的脚本代码
时间: 2024-01-21 07:20:15 浏览: 23
以下是按筛选条件值进行自动删除筛选图斑的 ArcGIS 10.2.2 工具箱 Python 2.7 的脚本代码示例:
```python
# 导入模块
import arcpy
# 设置工作空间
arcpy.env.workspace = "C:/data"
# 定义要素类
fc = "myfeatureclass.shp"
# 定义筛选条件
where_clause = "POPULATION < 1000"
# 创建游标
with arcpy.da.UpdateCursor(fc, ["POPULATION"], where_clause) as cursor:
for row in cursor:
# 删除符合条件的要素
cursor.deleteRow()
# 输出信息
print("已删除符合条件的图斑。")
```
在这个示例中,我们使用 arcpy.da.UpdateCursor() 创建一个游标来遍历要素类中符合给定条件的要素。然后,我们使用游标的 deleteRow() 方法删除这些要素。最后,我们输出一条消息来确认已删除符合条件的图斑。
相关问题
按筛选条件值进行自动删除的arcgis10.2.2工具箱python2.7的脚本代码
以下是一个在ArcGIS 10.2.2中使用Python 2.7编写的工具箱脚本,用于按条件值自动删除要素:
```python
import arcpy
# 设置输入参数
input_features = arcpy.GetParameterAsText(0)
field = arcpy.GetParameterAsText(1)
operator = arcpy.GetParameterAsText(2)
value = arcpy.GetParameterAsText(3)
# 构建查询语句
query = "{} {} '{}'".format(arcpy.AddFieldDelimiters(input_features, field), operator, value)
# 使用删除工具删除满足条件的要素
arcpy.DeleteFeatures_management(input_features, query)
```
在工具箱中,添加四个参数:要素图层、字段名、操作符和条件值。例如,如果您要删除“population”字段中值大于100的所有要素,您可以设置字段名为“population”,操作符为“>”,条件值为“100”。
此代码使用ArcPy中的DeleteFeatures工具来删除满足条件的要素。它构建了一个查询语句,然后将其传递给DeleteFeatures工具。
按查询条件值进行自动删除查询条件值图斑的arcgis10.2.2工具箱python2.7的脚本代码
以下是一个示例脚本,可以根据输入的查询条件值自动删除相应的图斑:
```python
import arcpy
# 输入参数
fc = arcpy.GetParameterAsText(0) # 要素类
field = arcpy.GetParameterAsText(1) # 查询字段
value = arcpy.GetParameterAsText(2) # 查询条件值
# 构建查询语句
query = "{} = '{}'".format(arcpy.AddFieldDelimiters(fc, field), value)
# 删除符合条件的要素
with arcpy.da.UpdateCursor(fc, ["OID@", field], where_clause=query) as cursor:
for row in cursor:
cursor.deleteRow()
arcpy.AddMessage("Deleted OID {} with {} = {}".format(row[0], field, value))
```
将以上代码保存为.py文件后,可以在ArcMap中将其添加到工具箱中,并设置参数即可使用。