按筛选条件值进行自动删除筛选图斑的arcgis10.2.2工具箱python2.7的脚本代码
时间: 2024-01-21 21:20:15 浏览: 145
以下是按筛选条件值进行自动删除筛选图斑的 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
# 设置工作空间和要素类
arcpy.env.workspace = r"C:\data\mygdb.gdb"
fc = "myFeatureClass"
# 获取要素类中的字段列表
fields = arcpy.ListFields(fc)
# 提示用户输入要查询的字段名
field_name = arcpy.GetParameterAsText(0)
# 验证用户输入的字段名是否存在于要素类中
if field_name not in [f.name for f in fields]:
arcpy.AddError("输入的字段名不存在于要素类中!")
sys.exit()
# 提示用户输入查询表达式
expression = arcpy.GetParameterAsText(1)
# 构建查询语句
query = "\"{}\" = '{}'".format(field_name, expression)
# 创建查询游标
with arcpy.da.SearchCursor(fc, "*", where_clause=query) as cursor:
# 创建输出要素类
out_fc = arcpy.CreateFeatureclass_management(
arcpy.env.workspace, "selected_features", "POLYGON")
# 复制查询结果到输出要素类
with arcpy.da.InsertCursor(out_fc, "*") as icursor:
for row in cursor:
icursor.insertRow(row)
# 提示用户导出的要素类位置
arcpy.AddMessage("已导出选择的要素到:" + out_fc)
```
在运行此脚本之前,您需要在ArcGIS中创建一个工具箱并添加两个输入参数:要查询的字段名和查询表达式。在工具箱中右键单击并选择“添加脚本”,然后将上述代码复制并粘贴到脚本编辑器中。保存并运行工具箱,按照提示输入参数并运行工具箱即可。
arcgis10.2.2工具箱python2.7的脚本代码:输入数据,凡是在SHAPE_Area < 多少数值情况下的图斑进行自动删除并导出剩余图斑数据
以下是一个示例脚本代码,可以实现输入数据,删除面积小于指定数值的要素,并导出剩余要素数据:
```python
import arcpy
# 设置工作空间
arcpy.env.workspace = "C:/data"
# 设置输入图层和输出图层
input_layer = "input.shp"
output_layer = "output.shp"
# 设置删除条件,这里假设删除面积小于 1000 的要素
delete_expr = "SHAPE_Area < 1000"
# 使用 Select_analysis 工具选择符合条件的要素
arcpy.Select_analysis(input_layer, output_layer, delete_expr)
# 输出结果
print("已删除面积小于 1000 的要素,剩余要素已导出到 output.shp 中。")
```
注意,以上代码仅供参考,具体操作需要根据实际情况进行调整。另外,如果你使用的是 ArcGIS Pro 或者更高版本的 ArcGIS Desktop,建议使用 Python 3.x 版本进行开发。
阅读全文