写一个运行于arcgis10.2.2工具箱python2.7的脚本代码:输入要素图层,批量按查询表达式筛选后的要素图层
时间: 2024-01-22 22:20:34 浏览: 95
面向Arcgis的python脚本编程,中译本
4星 · 用户满意度95%
以下是一个简单的脚本,用于在 ArcGIS 10.2.2 工具箱中批量筛选要素图层:
```python
import arcpy
# 设置工作空间
arcpy.env.workspace = r"C:\path\to\workspace"
# 定义要素图层和查询表达式
input_layer = arcpy.GetParameterAsText(0)
query_expression = arcpy.GetParameterAsText(1)
# 获取要素类列表
feature_classes = arcpy.ListFeatureClasses()
# 遍历要素类列表
for feature_class in feature_classes:
# 如果名称与输入图层相同,则进行筛选
if feature_class == input_layer:
# 构建查询并筛选要素
arcpy.MakeFeatureLayer_management(input_layer, "lyr")
arcpy.SelectLayerByAttribute_management("lyr", "NEW_SELECTION", query_expression)
# 输出筛选结果
output_layer = feature_class + "_filtered"
arcpy.CopyFeatures_management("lyr", output_layer)
```
这个脚本假设你已经定义了两个参数,一个是输入要素图层,另一个是查询表达式。它首先设置工作空间,然后获取要素类列表,并遍历列表以查找输入要素图层。一旦找到了输入要素图层,它就使用 `MakeFeatureLayer` 创建一个图层,然后使用 `SelectLayerByAttribute` 筛选要素。最后,它使用 `CopyFeatures` 将筛选结果保存为新的要素图层。
请注意,这个脚本中使用的是 ArcPy,这是一个 Python 库,用于与 ArcGIS 进行交互。如果你在 ArcGIS 中使用 Python,你需要导入 ArcPy 库才能使用这个脚本。
阅读全文