Workflow Manager 自定义步骤

本主题仅适用于 ArcGIS for Desktop Standard 和 ArcGIS for Desktop Advanced。

ArcGIS Workflow Manager for Desktop 提供了多个自定义步骤。每个自定义步骤的源代码都作为开发工具包的一部分提供。下表对处理步骤及其作用进行了概述。

步骤库

步骤库包含了可同时在桌面和服务器环境中执行的步骤。以下内容概述了各个步骤及其参数和返回代码。

  1. Check AOI:
    JTXSteps.CheckAOI

    检查是否存在当前作业的感兴趣区域 (AOI)。

    返回代码:
    • 1 = 如果作业具有 AOI
    • 2 = 如果作业不具有 AOI
  2. CleanUp:
    JTXSteps.CleanUp

    基于参数清理作业

    启用管理 - 系统设置,以允许用户删除其他用户所拥有的版本。这将提示您输入用户名和密码。

    注注:

    删除不同用户所拥有的版本时,必须指定 SDE 用户的凭据。

    Version Cleanup:
    	/version|v (optional)
    MXD Cleanup:
    	/mxd|m (optional)
    Attachment Cleanup:
    	/attachments|a (optional)
    
    返回代码:
    • 0 = 成功
  3. CloseJob:
    JTXSteps.CloseJob

    将关闭作业这一操作作为一个独立的步骤,与工作流完成后作为手动过程关闭相反。

    No Argument
    
    返回代码:
    • 0 = 成功
  4. CreateJob:
    JTXSteps.CreateJob

    基于参数创建子作业。

    Job Type ID:
    	Job Type Name:
    	/jobtypename:<job type name> (required)
    Assign to Group:
    	/assigngroup:<group to assign to> (optional)
    Assign to User:
    	/assignuser:<user to assign to> (optional)
    Job Type ID:
    	/jobtypeid:<job type ID> (deprecated)
    
    返回代码:
    • 0 = 成功
  5. CreatePDF
    JTXSteps.CreatePDF

    创建作业底图的 PDF 文档并将其附加到该作业。

    Initial Directory:
    	/initdir:<initial directory> (optional)
    Do not Attach File To Job:
    	/noattach (optional)
    Resolution (dpi):
    	/resolution:<dpi> (optional)
    Attach File To Job:
    	/attach (deprecated)
    
    返回代码:
    • 0 = 成功
  6. CreateVersion
    JTXSteps.CreateVersion

    创建作业的版本。版本的保护级别通过下列参数之一指定:版本访问范围:

    /scope
    
    返回代码:
    • 0 = 成功
  7. ExecuteGPTool
    JTXSteps.ExecuteGPTool

    在不显示 GP 对话框的情况下执行 GP 工具。

    Toolbox Path (explicit full path to the tbx file combined with toolbox name):
    		/toolboxpath:<toolboxpath> (required)
    Display Name of the Tool in the toolbox:
    	/tool:<tool> (required)
    Parameter to override on the tool (can be specified multiple times):
    /param:<ParamName>:<ParamValue> (optional)
    Flag to attach the log to the job once the tool has completed:
    /attach:(optional)
    
    返回代码:
    • 0 = 成功
    • 1 = 失败
  8. ExecuteSQL
    JTXSteps.ExecuteSQL

    执行 SQL 语句。

    Database to Send SQL:
    	/database:<jtxsystem|data> (required)SQL Command:
    	/sql:<sql command>
    
    返回代码:
    • 0 = 成功
  9. ExecuteURL
    JTXSteps.ExecuteURL

    执行 URL,并且不显示浏览器以显示响应。

    例如,可将地理处理服务或任何其他 Web 服务作为工作流步骤来执行.

    URL to execute:
    	/url:<url> (required)
    Request Timeout:
    	/timeout:<timeout in seconds> (optional)
    Proxy Server: 
     /proxy:<proxy> (optional)
    Flag to add a comment to the job with the response:
     /addjobcomment(optional)
    Post Data:
     /postdata:<data to post> (optional)
    
  10. ExecuteWorkflow
    JTXSteps.ExecuteWorkflow

    执行与作业类型关联的其他工作流。

    Job Type Name:
    	/jobtype:<job type name> (required)Flag to not use AOI:
    	/donotuseaoi (optional)Flag to not use version:
    	/donotuseversion (optional)Flag to not copy activities to the parent job's history:
     /donotcopyactivities (optional)
    
    返回代码:
    • 0 = 成功
  11. ReturnValue
    JTXSteps.ReturnValue

    检索传递的扩展属性或令牌的值,该值作为工作流中下一个路径的返回代码。

    Return value:
    	/value:<Extended properties field> (required):
    
  12. ReassignJob
    JTXSeteps.ReassignJob

    重新分配作业。

    Assign Type:
    	/assignType:<user|group> (required)
    Assign To:
    	/assignTo:<user or group name> (required)
    
    返回代码:
    • 0 = 成功
  13. SendNotification
    JTXSteps.SendNotification

    发送通知(其类型由第一个参数指定);通知类型。

    /notifType:<type> (required)
    
    返回代码:
    • 0 = 成功
  14. SetVersion
    JTXSteps.SetVersion

    将作业的版本设置为命名的版本,如设置为 QC 版本(验证提交的编辑)和 QC 版本。如果无步骤参数,则作业版本将重置为原始版本。

    Version to use as job version: 
    /version:<versionName> (optional)
    
    返回代码:
    • 0 = 成功
  15. UpdateExtentFeatureClass
    JTXSteps.UpdateExtentFeatureClass

    使用作业信息来更新要素类以使状态可见。

    Feature Class to Update (must be in data geodatabase):
    	/fclass:<fully qualified feature class name> (required)
    Job ID Field (field to put job ID in):
    	/jobfield:<field name> (optional)
    Date Field (field to put date/time):
    	/datefield:<field name> (optional)
    
    返回代码:
    • 0 = 成功
  16. VersionExists
    JTXSteps.VersionExists

    检查是否已存在作业的地理数据库版本。

    No Argument
    
    返回代码:
    • 1 = 版本存在
    • 2 = 版本不存在
    • 3 = 未选择任何数据工作空间

DesktopSteps 库

DesktopSteps 库包含因弹出用户界面而只能从桌面执行的步骤。以下内容概述了各个步骤及其参数和返回代码。

  1. CopyFile
    JTXDesktopSteps.CopyFile

    将文件从一个位置复制到另一个位置。

    Source File:
    	/src:<source file path> (optional)
    Destination File:
    	/dest:<destination file path> (optional)
    File Title:
    	/title:<file title> (optional)
    
    返回代码:
    • 0 = 成功
  2. CreatJobAdvanced
    JTXDesktopSteps.CreateJobAdvanced

    创建一个作业并允许您定义与该作业的父/子依赖关系。

    Job Type Name:
    	/jobtypename:<job type name>(required)
    Assign To Group:
    	/assigngroup:<group to assign to>(optional)
    Assign To User:
    	/assignuser:<username to assign to> (optional)
    Dependency will be created and current job held at this step:
    	/dependThisStep (optional)
    Dependency will be created and current job held at the next step in the workflow:
    	/dependNextStep (optional)
    Dependency status (current job held until new job reaches this status):
    	/dependStatus:<Status Type Name> (optional)
    Use the current job's AOI as the new job's AOI:
    	/useparentaoi (optional)
    Create new jobs based on the overlap between the current job's AOI and this feature class:
    	/aoiOverlapFeatureClassName:<fully qualified feature class name >(optional)
    Default number of jobs to create:
    	/numberJobs:<number of jobs to create> (optional)
    A version will be created for the new job(s) based on this selection:
    	/createVersionSetting:<the version to use as the parent version> (optional)
    A version will be assigned to the new job(s) based on this selection:
    	/assignVersionSetting:<the existing version the job will be assigned to>(optional)
    New job(s) extended properties value will be set to: 
    one of the current job's extended properties values (specified by JTX Token) or to the given string value:
    	/setExtendedProps: 
    <ChildJobFullyQualifiedExtendedPropertiesTableName.FieldName=
    [JOBEX:ParentJobFullyQualifiedExtendedPropertiesTableName.FieldName]> (optional)
    Due date of the new job:
    	/dueDate:<due date of the new job>(optional)
    Job duration:
    	/jobDuration:<duration of the new job >(optional)
    New Job will be created as a child of the existing job:
    	/child:(optional)
    
    返回代码:
    • 0 = 成功
    • 1 = 失败
  3. DefineAOI
    JTXDesktopSteps.DefineAOI

    显示允许用户定义感兴趣区域的工具。

    No Argument
    
    返回代码:
    • 1 = 成功
    • 0 = 失败
  4. EditExtendedProperties
    JTXDesktopSteps.EditExtendedProperties

    将作业的扩展属性以弹出表单的形式显示,以允许用户输入所需的属性。

    No Argument
    
  5. LaunchArcMap
    JTXDesktopSteps.LaunchArcMap

    执行此步骤时,将启动 ArcMap。将为作业版本提供图层资源,且地图将被缩放至作业的 AOI,用户可通过单击“添加数据”按钮向地图中添加其他数据。有关此步骤的参数的详细信息,请参阅以下部分。

    返回代码:
    • 0 = 成功
  6. LaunchGPTool
    JTXDesktopSteps.LaunchGPTool

    从工作流中执行地理处理工具。

    Toolbox Path (explicit path to the tbx file):
    	/toolboxpath:<toolboxpath> (optional)
    Toolbox Name (if in system toolboxes):
    	/toolbox:<toolbox> (optional)
    Display Name of the Tool in the toolbox:
    	/tool:<tool> 
    Parameter to override on the tool (can be specified multiple times):
    	/param:<ParamName>:<ParamValue> (optional)
    Flag to attach the log to the job once the tool has completed:
    	/attach (optional)
    License enumeration code for any additional license that should be used in the execution of the tool:
    	/license:<enum value> (optional)
    
    返回代码:
    • 1 = 成功
  7. SelectDataWorkspace
    JTXDesktopSteps.SelectDataWorkspace

    显示一个表单,允许您从已配置数据工作空间的列表中选择作业的数据工作空间。

    No Argument
    
    返回代码:
    • 0 = 成功

启动 ArcMap 步骤

在下表中详细说明了无参数的启动 ArcMap 步骤的预期行为。

是否已定义作业类型地图文档?

使用数据工作空间和版本启动 ArcMap

使用数据工作空间而不使用版本启动 ArcMap

在不使用数据工作空间的情况下启动 ArcMap

使用已定义的地图文档启动 ArcMap。基于要素类的简称为作业版本提供图层资源。地图将缩放至感兴趣区。

注注:

简称是未完全限定的要素类名称:例如,用 Streets 代替 NIS.Streets。另请注意,无论底图的最初定义是什么,都应提供简称匹配项资源。

这与存在版本时的情形相同,只是数据工作空间的默认版本可用于提供图层资源。

未对图层源进行任何更改。地图缩放至 AOI。

以空白文档打开 ArcMap。在这种情况下,因为不存在任何地图,因此无法提供任何图层资源。将图层添加到地图后,Workflow Manager 工具条上的“添加数据”按钮会将用户直接带到作业的已定义版本或所选数据工作空间的默认版本。

这与存在版本时的情形相同。

以空白文档打开 ArcMap。Workflow Manager 工具条上的“添加数据”按钮不可用。如果存在作业的 AOI,则可以使用“缩放至 AOI”工具。

这对随 Workflow Manager 一同提供的启动 ArcMap 步骤的预期行为进行了说明。
注注:
用于启动 ArcMap 的 JTXMxLaunch.exe 可执行程序不再包含于 Workflow Manager 安装中。请升级当前使用该实用程序启动 ArcMap 的步骤,以使用自定义步骤对象 JTXDesktopSteps.LaunchArcMap。

参数描述

启动 ArcMap 步骤提供了许多可选参数,您无需编写代码便可根据需要使用它们来自定义该步骤的执行。

默认启动 ArcMap 配置

描述性名称

参数示例

行为

缩放至 AOI

/aoifactor:3

或者

/nozoomaoi

在默认行为下,地图将被平移到作业的 AOI 并按照因子 1 缩放至形状几何。

或者,可以选择使用 /nozoomaoi 选项,不平移或缩放地图。或者,可以使用参数 /aoifactor:,以更大的缩放因子缩放至AOI。

重嵌 MXD

/norepoint

如果未使用 /norepoint,则默认行为会将地图中的所有图层更改为当前数据工作空间,或者改为作业的版本。

仅更改 MXD 版本

/changeversiononly

如果选择使用 /changeversiononly 选项,则作业类型地图文档中的图层版本将发生更改。数据用户和连接信息将保持最初的配置不变。

保留底图图层版本

/nochangebasemaplayerversion

在默认行为下,如果未使用 /nochangebasemaplayerversion 参数,则会将图层的连接信息保留在底图图层中。

例如,可从要用作地图的参考图层的数据库添加图层。默认情况下,当执行启动 ArcMap 步骤时,这些图层将被重嵌到当前作业版本中。选中此参数,便可不重嵌此组中图层的数据源。

由于底图图层相对稳定,不常发生变化,因此其显示只需计算一次,然后便可以多次重复使用。有关详细信息,请参阅使用底图图层

保存 MXD

/nosavemxd

在默认行为下,如果未使用 /nosavemxd 参数,则会将作业的地图文档保存在 Workflow Manager 数据库中。如果地图文档很大,则可能需要调整 MAXBLOBSIZE SDE 配置设置。

如果选择使用 /nosavemxd 选项,则不会保存作业的地图文档。

此选项还允许您在 ArcMap 中切换作业,而无需清除地图文档。

将数据框裁剪至 AOI

/cliptoaoi

在默认行为下,如果未使用 /cliptoaoi 参数,则会在可查看的地图文档中显示所有数据。

如果使用 /cliptoaoi 选项,则作业的地图文档中的数据框将裁剪成 AOI 的形状。

注注:

这不会创建对图层的定义查询。地图图层中的所有要素仍可通过其各自的表进行访问。

等待 ArcMap 关闭(暂停 Workflow Manager)

/nowait

如果未使用 /nowait 参数,则默认的 Workflow Manager 应用程序行为会在运行 ArcMap 进程时隐藏。这意味着,用户无法在使用 ArcMap 时与 Workflow Manager 应用程序进行交互。

如果使用 /nowait 选项,则会在单独进程中启动 ArcMap,从而允许用户在运行 ArcMap 时与 Workflow Manager 应用程序进行交互。

注注:

已添加此选项,因为工作流步骤的“异步启动进程”选项不适用于自定义步骤对象。

使用现有 ArcMap 会话

/useexisting

如果未配置 /useexisting 参数,则默认行为是在执行该步骤时打开一个新的 ArcMap 会话。

在使用 /useexisting 选项的情况下,如果 ArcMap 会话在执行该步骤时处于打开状态,则 Workflow Manager 将在此现有会话中打开作业的地图文档。如果没有任何 ArcMap 会话处于打开状态,Workflow Manager 将打开一个新会话。

将 MXD 存储于共享位置

/mxdfolder:"D:\Data\JTXMapDocuments"

在默认行为下,不会配置任何备用位置,且作业的地图文档将存储在 Workflow Manager 数据库中。如果地图文档很大,则可能需要调整 MAXBLOBSIZE SDE 配置设置。

如果选择将地图文档存储在备用位置,则 Workflow Manager 便不会将地图文档保存在数据库中,而是将其保存在该备用位置,以供今后使用。

使用备选 MXD

/mxd:"D:\Data\JTXTemplates\Editing.mxd"

在默认行为下,该步骤将作业类型的默认地图文档用作启动 ArcMap 时要使用的底图文档。

如果选择使用此选项,Workflow Manager 将加载为参数配置的地图文档或模板。

运行 ArcMap 命令

/guid:esriArcMapUI.AddDataCommand

ArcMap 完成加载后,将通过编程方式按下按钮(由输入的 ProgID 表示)。

加载任务助手工作流

/taworkflow:"LotSplit"

如果已配置此参数,则在 ArcMap 打开后,Workflow Manager 将打开已配置的任务助手工作流。传入的工作流名称是存储在 Workflow Manager 系统中的 TAM 工作流的别名。

通过添加其他 /taworkflow 或选择参数编辑器中所需的工作流,可将条目传递到多个工作流中。

将任务助手历史存储于作业历史中

/storetahistory

如果已配置此参数,则任务助手工作流会默认添加到作业历史中。也可以选择使用 Workflow Manager 工具将其附加为文本文件。

9/9/2014