前文中我们介绍了在IDE中如何使用arcpy工具来建立脚本,建立脚本的目的是为了简化工作量并进行批处理,如何在ARCGIS环境中调用我们编写的脚本呢?
示例如下,分为几个方面:1、参数脚本的生成 2、ArcGIS环境添加Python脚本
1、脚本生成
# coding=utf-8importsysreload(sys)sys.setdefaultencoding('utf-8')importarcpypath = arcpy.GetParameter(0)arcpy.env.workspace = pathfcs = arcpy.ListFeatureClasses()fcCount=len(fcs)forfcinfcs: arcpy.SetProgressorLabel("要素"+fc+"...")try: arcpy.RepairGeometry_management(fc) arcpy.AddMessage(fc +" had repair geometry ")except: arcpy.AddError(fc+"修复失败")
上述脚本实现的功能很简单,遍历FileGDB下面的所有要素类,然后进行修复几何操作
2、ArcGIS 环境添加使用脚本
(1)添加脚本。在catalog窗口新建工具箱,并点击添加脚本,如下图
(2)设置参数名称和类型
在这个参数中我们还可以进行进一步的过滤设置,为其制定工作空间的类型,文件、数据库、SDE
最后选择第二项进行文件夹数据库过滤
(3)ArcGIS环境中调用脚本,添加完成之后就如同一个ToolBox正常使用这个工具
在执行过程中就会有相应的信息在结果窗口中显示,
arcpy.AddMessage(fc +" had repair geometry ") 这个语句用来对处理结果进行信息显示
arcpy.SetProgressorLabel("要素"+fc+"...") 这一语句用来进行处理进度条的显示,但是有中文乱码问题,在使用过程中推荐使用英文状态,如果有高手知道为什么请留言
后续:中文乱码问题可以使用
# -*- coding: cp936 -*- 字符集来解决