ArcPy学习入门(二):创建Python脚本

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,如需转载请自行联系原作者









你可能感兴趣的:(ArcPy学习入门(二):创建Python脚本)