1、创建新 Python 脚本
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
# coding=utf-
8
""
"-----------------------------------------------------------------------------
Script Name: Clip Multiple Feature Classes
Description: Clips one or more shapefiles
from a folder and places the clipped
feature classes into a geodatabase.
Created By: Insert name here.
Date
: Insert date here.
-----------------------------------------------------------------------------
""
"
# Import ArcPy site-
package
and os modules
import
arcpy
import
os
# Set the input workspace
arcpy.env.workspace = arcpy.GetParameterAsText(
0
)
# Set the clip featureclass
clipFeatures = arcpy.GetParameterAsText(
1
)
# Set the output workspace
outWorkspace = arcpy.GetParameterAsText(
2
)
# Set the XY tolerance
clusterTolerance = arcpy.GetParameterAsText(
3
)
try
:
# Get a list of the featureclasses
in
the input folder
fcs = arcpy.ListFeatureClasses()
for
fc
in
fcs:
# Validate the
new
feature
class
name
for
the output workspace.
featureClassName = arcpy.ValidateTableName(fc, outWorkspace)
outFeatureClass = os.path.join(outWorkspace, featureClassName)
# Clip
each
feature
class
in
the list
with
the clip feature
class
.
# Do not clip the clipFeatures, it may be
in
the same workspace.
if
fc != os.path.basename(clipFeatures):
arcpy.Clip_analysis(fc, clipFeatures, outFeatureClass,
clusterTolerance)
except Exception
as
err:
arcpy.AddError(err)
print err
|
该脚本将采用以下四个参数,以便实现通用:
-
用来定义待处理的那组要素类的输入工作空间
-
通过裁剪工具对输入要素类进行裁剪的区域的要素类
-
写入裁剪工具结果的输出工作空间
-
裁剪工具使用的 XY 容差
ValidateTableName() 函数用于确保输出名称对输出空间有效;os.path.basename()方法用于获取处理裁剪要素类的名称(不包含路径)。
本文转自stock0991 51CTO博客,原文链接:http://blog.51cto.com/qing0991/1422785,如需转载请自行联系原作者