arcgis10.2.2工具箱Python2.7脚本:筛选面积小于多少平方米图斑进行自动删除
时间: 2024-01-21 12:16:06 浏览: 87
可以使用 ArcPy 模块中的 Select Layer By Attribute 和 Delete Features 工具来实现。
以下是一个示例脚本,其中假设你有一个名为“input_fc”的要素类,你想删除面积小于100平方米的要素:
```python
import arcpy
# 设置工作空间
arcpy.env.workspace = "C:/data"
# 定义输入要素类
input_fc = "input_fc.shp"
# 创建一个查询语句以选择面积小于100平方米的要素
query = "SHAPE_Area < 100"
# 使用 Select Layer By Attribute 工具选择要素
arcpy.SelectLayerByAttribute_management(input_fc, "NEW_SELECTION", query)
# 使用 Delete Features 工具删除选定的要素
arcpy.DeleteFeatures_management(input_fc)
```
注意,这只是一个示例脚本,并且可能需要根据你的具体情况进行修改。例如,你可能需要更改要素类的路径和名称,以及要删除的最小面积。
相关问题
arcgis10.2.2工具箱python2.7的脚本代码出理凡是SHAPE_Area < 数值的图斑进行自动删除并导出剩余图斑数据
以下是一个示例脚本,可以实现你的需求:
```python
import arcpy
# 设置工作空间和要素类路径
arcpy.env.workspace = r"C:\data"
fc = "my_shapefile.shp"
# 创建游标遍历要素
with arcpy.da.UpdateCursor(fc, ["SHAPE_Area"]) as cursor:
for row in cursor:
# 如果SHAPE_Area小于指定值,删除要素
if row[0] < 数值:
cursor.deleteRow()
# 完成游标操作
del cursor
# 导出剩余要素到新的 shapefile 文件
out_fc = r"C:\output\remaining_shapefile.shp"
arcpy.CopyFeatures_management(fc, out_fc)
```
你需要将代码中的 `C:\data` 替换为你自己的工作空间路径,将 `my_shapefile.shp` 替换为你的要素类名称,将 `数值` 替换为你想要删除的 SHAPE_Area 的最小值,将 `C:\output\remaining_shapefile.shp` 替换为你想要导出剩余要素的输出路径。
arcgis10.2.2工具箱Python2.7脚本代码用来筛选两个数据空间重叠面积大于多少值才能进行空间连接
下面是一个简单的示例代码,可以实现筛选两个数据空间重叠面积大于指定面积的空间连接:
```python
import arcpy
# 设置工作空间和数据
arcpy.env.workspace = "C:/data"
input_feature1 = "layer1.shp"
input_feature2 = "layer2.shp"
output_feature = "output.shp"
# 定义重叠面积的阈值
overlap_area_threshold = 1000
# 创建空间连接对象
spatial_join = arcpy.SpatialJoin_analysis(input_feature1, input_feature2, output_feature)
# 添加字段并计算重叠面积
arcpy.AddField_management(spatial_join, "OverlapArea", "DOUBLE")
arcpy.CalculateField_management(spatial_join, "OverlapArea", "!SHAPE.AREA!", "PYTHON_9.3")
# 进行筛选并保存结果
expression = "OverlapArea >= {}".format(overlap_area_threshold)
arcpy.Select_analysis(spatial_join, "selected.shp", expression)
```
这段代码中,我们首先设置了工作空间和数据,然后定义了重叠面积的阈值,接着使用 `SpatialJoin_analysis` 函数进行空间连接,并添加一个新的字段来计算重叠面积。最后,我们使用 `Select_analysis` 函数将重叠面积大于等于阈值的结果保存到一个新的文件中。
阅读全文