在 Standard 或 Advanced 许可等级下可用。需要 Workflow Manager 许可。
ArcGIS Workflow Manager for Desktop 提供了多个自定义步骤。每个自定义步骤的源代码都作为开发工具包的一部分提供。下表对处理步骤及其作用进行了概述。
步骤库
步骤库包含了可同时在桌面和服务器环境中执行的步骤。以下内容概述了各个步骤及其参数和返回代码。
- AddJobHold返回代码:
JTXSteps.AddJobHold
将保存内容添加到当前作业。
Hold Type Name: /holdType:<hold type> (required) Hold Comment: /holdComment:<string> (optional)
- 1 = 成功
- 0 = 失败
- CheckAOI返回代码:
JTXSteps.CheckAOI
检查是否存在当前作业的感兴趣位置 (LOI)。
- 1 = 作业具有 LOI
- 2 = 作业不具有 LOI
- CleanUp返回代码:
JTXSteps.CleanUp
基于参数清理作业。启用管理系统设置,以允许用户删除其他用户所拥有的版本。这将提示您输入用户名和密码。
Version Cleanup: /version|v (optional) MXD Cleanup: /mxd|m (optional) Attachment Cleanup: /attachments|a (optional)
- 0 = 成功
- CloseJob返回代码:
JTXSteps.CloseJob
将关闭作业这一操作作为一个独立的步骤,与工作流完成后作为手动过程关闭相反。
No Argument
- 0 = 成功
- 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 = 成功
- 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 = 成功
- CreateVersion返回代码:
JTXSteps.CreateVersion
创建作业的版本。版本的保护级别通过下列参数之一指定:版本访问范围。
/scope:<public|private|protected> (optional)[default:private]
- 0 = 成功
- ExecuteGPTool返回代码:
JTXSteps.ExecuteGPTool
在不显示地理处理对话框的情况下执行地理处理工具、模型或脚本。工具的整型输出可用作返回代码以指引工具完成时的工作流路径。
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) Output parameter to use as return value: /outParam:<parameter name>
- 0 = 成功
- 1 = 失败
- ExecuteSQL返回代码:
JTXSteps.ExecuteSQL
执行 SQL 语句。
Database to Send SQL: /database:<jtxsystem|data> (required)SQL Command: /sql:<sql command>
- 0 = 成功
- 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)
- 200 = 成功
- 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 = 成功
- ReturnValue
JTXSteps.ReturnValue
检索传递的扩展属性或令牌的值,该值作为工作流中下一个路径的返回代码。
Return value: /value:<Extended properties field> (required):
- ReassignJob返回代码:
JTXSteps.ReassignJob
重新分配作业。
Assign Type: /assignType:<user|group> (required) Assign To: /assignTo:<user or group name> (required)
- 0 = 成功
- SendNotification返回代码:
JTXSteps.SendNotification
发送参数指定类型的通知。
/notifType:<type> (required)
- 0 = 成功
- SetVersion返回代码:
JTXSteps.SetVersion
将作业版本设置为命名的版本。例如,将作业版本设置为 QC version 以验证在版本中提交的编辑内容。如果无步骤参数,则作业版本将重置为原始版本。
Version to use as job version: /version:<versionName> (optional)
- 0 = 成功
- 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 = 成功
- VersionExists返回代码:
JTXSteps.VersionExists
检查是否已存在作业的地理数据库版本。
No Argument
- 1 = 存在版本
- 2 = 不存在版本
- 3 = 未选择数据工作空间
DesktopSteps 库
DesktopSteps 库包含因弹出用户界面而只能从桌面执行的步骤。以下内容概述了各个步骤及其参数和返回代码。
- AddAttachments返回代码:
JTXDesktopSteps.AddAttachments
将链接式、嵌入式及 URL 附件添加到作业。
)
- 1 = 成功
- 0 = 失败
- CopyFile返回代码:
JTXDesktopSteps.CopyFile
将文件从一个位置复制到另一个位置。
Source File: /src:<source file path> (optional) Destination File: /dest:<destination file path> (optional) File Title: /title:<file title> (optional)
- 0 = 成功
- CreateJobAdvanced返回代码:
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. To set multiple extended properties values at once separate each entry by a semicolon: /setExtendedProps: <ChildJobFullyQualifiedExtendedPropertiesTableName.FieldName= [JOBEX:ParentJobFullyQualifiedExtendedPropertiesTableName.FieldName]>; <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 = 失败
- DefineAOI返回代码:
JTXDesktopSteps.DefineAOI
显示允许用户定义感兴趣位置的工具。
No Argument
- 1 = 成功
- 0 = 失败
- EditExtendedProperties
JTXDesktopSteps.EditExtendedProperties
将作业的扩展属性以弹出表单的形式显示,以允许用户输入所需的属性。工作流中可多次执行该步骤,从而在工作流的不同阶段打开不同的扩展属性。这样便能够只选择在弹出窗口中显示作业类型中配置的某些扩展属性。可通过打开参数编辑器或在参数框中输入来选择扩展属性。所有选定属性都将 应用作业类型中所设置的属性,如可见、可编辑等。如果未指定参数,则在运行步骤后将显示针对作业类型选择的所有扩展属性。参数编辑器将显示为资料档案库中全部作业类型配置的所有表和字段;但是,如果选择作业类型中未配置的属性,则在弹出窗口中不会显示这些属性。参数由扩展属性表名称和字段名称组成。例如,如果要显示 RequestorInformation 表中的 RequestorName 字段,则参数将是 /Property: RequestorInformation.RequestorName。
/Property:<Property Name>
- 1 = 成功
- LaunchArcMap返回代码:
JTXDesktopSteps.LaunchArcMap
执行此步骤时,将启动 ArcMap。将为作业版本提供图层资源,且地图将被缩放至作业的感兴趣位置。 有关此步骤中参数的详细信息,请参阅以下部分。
- 0 = 成功
- 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) Output parameter to use as return value: /outParam:<parameter name>
- 1 = 成功
- 0 = 取消
- SelectDataWorkspace返回代码:
JTXDesktopSteps.SelectDataWorkspace
显示一个表单,允许您从已配置数据工作空间的列表中选择作业的数据工作空间。
No Argument
- 1 = 成功
- 0 = 失败
启动 ArcMap 步骤
在下表中详细说明了无参数的启动 ArcMap 步骤的预期行为。
是否已定义作业类型地图文档? | 使用数据工作空间和版本启动 ArcMap | 使用数据工作空间而不使用版本启动 ArcMap | 在不使用数据工作空间的情况下启动 ArcMap |
---|---|---|---|
是 | 使用已定义的地图文档打开 ArcMap。基于要素类的简称为作业版本提供图层资源。地图将缩放至感兴趣区域。 | 这与存在版本时的情形相同,只是数据工作空间的默认版本可用于提供图层资源。 | 未对图层源进行任何更改。地图缩放至 LOI。 |
否 | 以空白文档打开 ArcMap。在这种情况下,因为不存在任何地图,因此无法提供任何图层资源。将图层添加到地图后,Workflow Manager 工具条上的添加数据按钮会将用户直接带到作业的已定义版本或所选数据工作空间的默认版本。 | 这与存在版本时的情形相同。 | 以空白文档打开 ArcMap。Workflow Manager 工具条上的添加数据按钮不可用。如果存在作业的 LOI,则可以使用缩放至 LOI 工具。 |
底图图层不会重嵌到由 Workflow Manager 打开的地图中。
参数描述
启动 LaunchArcMap 步骤提供了许多可选参数,您无需编写代码便可根据需要使用它们来自定义该步骤的执行。
描述性名称 | 参数示例 | 行为 |
---|---|---|
缩放至 LOI |
或
| 在默认行为下,地图将被平移到作业的 AOI 并按照因子 1 缩放至形状几何。 您也可以使用 /nozoomloi 选项,不平移或缩放地图。或者也可以使用 /aoifactor 参数,以更大的缩放因子缩放至 AOI。 缩放因子对 POI 不起作用。如果是单个 POI,则地图将缩放至 1:2000;如果有多个 POI,则地图将缩放至这些 POI 的范围。 |
不更改任何连接信息。 |
| 如果未使用 /norepoint,则默认行为会将地图中的所有图层更改为当前数据工作空间或更改为作业版本。 |
仅更改作业数据工作空间的版本。 |
| 如果选择使用 /changeversiononly 选项,则作业类型地图文档中的图层版本将发生更改。数据用户和连接信息将保持最初的配置不变。来自数据库工作空间的所有图层都将被重定向,无论在作业类型属性中是否将其选定为用于重定向。如果图层不来自数据工作空间,则这些图层将显示为具有损坏数据源的图层。 |
保存 MXD。 |
| 如果未使用 /nosavemxd 参数,默认行为会将作业的地图文档保存在 Workflow Manager 数据库中。因此,每当使用工作流中的这一步骤打开作业的地图文档时,都将检索数据库中上次保存的地图。 然而,如果选择使用 /nosavemxd 选项,Workflow Manager 数据库中则不会保存作业的地图文档。因此,如果更改作业地图的范围并将其关闭,则不会保存新范围,且下一次打开地图时仍会使用原始范围。 如果地图文档很大,则可能需要调整 MAXBLOBSIZE SDE 配置设置。 此选项还允许您在 ArcMap 中切换作业,而无需清除地图文档。 |
将数据框裁剪至 AOI。 |
| 如果未使用 /cliptoaoi 参数,则默认行为会在可查看的地图文档中显示所有数据。 如果使用 /cliptoaoi 选项,则作业的地图文档中的数据框将裁剪成 AOI 的形状。 |
等待 ArcMap 关闭(暂停 Workflow Manager)。 |
| 如果未使用 /nowait 参数,则默认的 Workflow Manager 应用程序行为会在运行 ArcMap 进程时隐藏。这意味着,用户无法在使用 ArcMap 时与 Workflow Manager 应用程序进行交互。 如果使用 /nowait 则会在单独进程中启动 ArcMap,从而允许用户在运行 ArcMap 时与 Workflow Manager 应用程序进行交互。 |
使用现有 ArcMap 会话。 |
| 如果未配置 /useexisting 参数,则默认行为是在执行该步骤时打开一个新的 ArcMap 会话。 在使用 /useexisting 选项的情况下,如果会话在执行该步骤时处于打开状态,则 Workflow Manager 将在此现有会话中打开作业的地图文档。如果没有处于打开状态的 ArcMap 会话,则 Workflow Manager 将打开一个新会话。 |
将 MXD 存储于共享位置。 |
| 在默认行为下,不会配置任何备用位置,且作业的地图文档将存储在 Workflow Manager 数据库中。如果地图文档很大,则可能需要调整 MAXBLOBSIZE SDE 配置设置。 如果选择将地图文档存储在备用位置,则 Workflow Manager 便不会将地图文档保存在数据库中,而是将其保存在该备用位置,以供今后使用。 |
使用备选 MXD。 |
| 在默认行为下,该步骤将作业类型的默认地图文档用作启动 ArcMap 所使用的底图文档。 如果选择使用此选项,Workflow Manager 将加载为参数配置的地图文档或模板。 |
运行 ArcMap 命令。 |
| ArcMap 完成加载后,将通过编程方式按下按钮(由输入的 ProgID 表示)。 |
加载任务助手工作流。 |
| 如果已配置此参数,则在 ArcMap 打开后,Workflow Manager 将打开已配置的任务助手工作流。传入的工作流名称是存储在 Workflow Manager 系统中的任务助手工作流的别名。 通过添加附加的 /taworkflow 条目或通过在参数编辑器中选择所需工作流,可传入多个工作流。 |
将任务助手历史存储于作业历史中。 |
| 如果已配置此参数,则任务助手工作流会默认添加到作业历史中。也可以选择使用 Workflow Manager 工具将其附加为文本文件。 |