执行检查器批处理作业 (Data Reviewer)
摘要
运行工作空间中的检查器批处理作业并将结果写入检查器会话中。检查器批处理作业包含多组检查器校验。检查根据条件、规则和空间关系验证数据。检查还指定要验证的多组要素或行。检查器会话存储检查器校验执行的验证任务的相关信息。此信息存储在检查器工作空间的表和数据集中。
用法
-
如果指定的工作空间不是检查器工作空间,那么此工具会显示错误 090034,所选工作空间不是检查器工作空间。工作空间没有所有必需的检查器表。使用 ReviewerConsole 或检查器会话管理器创建检查器工作空间。
如果检查器工作空间是由较低版本的 Data Reviewer 创建且尚未升级,则工具会显示错误 090036,这是较旧版本的检查器工作空间。使用“检查器会话管理器”来升级该工作空间。
会话引用一个检查器工作空间中预先存在的会话 ID 和名称。使用无效会话执行此工具将返回错误 090062,会话值不正确。
可以使用创建检查器会话工具创建会话。“创建检查器会话”生成会话 ID 和名称作为输出参数。
-
检查器批处理作业只能在 ArcMap 中创建。
-
检查器批处理作业结果写入检查器工作空间中指定的会话(用会话表示)中。
如果使用 9.2 版本的 Data Reviewer 创建的批处理作业文件,那么此工具会显示错误 090035,这是较旧版本的检查器批处理作业。
生产工作空间包含要使用批处理作业文件中定义的检查器校验来进行验证的数据。如果此参数指向企业级地理数据库 (ArcSDE),那么请验证连接文件 (.sde) 是否引用了正确的地理数据库版本。
如果工作空间未在生产工作空间参数中进行定义,那么批处理作业将运行在批处理作业文件中定义的工作空间中。
分析区域包含将联合到一起创建处理区域的面要素。与该区域相交的要素将通过检查器批处理作业来进行验证。该区域之外的要素将不会得到验证。
当生产工作空间引用企业级地理数据库 (ArcSDE) 时,仅更改的要素会启用。此设置将验证限制在那些已经从父版本更改为子版本的要素中。版本之间的更改包括:
- 子版本中插入而父版本中未插入的要素
- 子版本中更改而父版本中未更改的要素
- 子版本和父版本中都更改的要素
- 子版本中更改且父版本中删除的要素
-
批处理作业概要显示在结果 窗口中。
此工具的输出参数是在检查器工作空间中 REVBATCHRUNTABLE 表中某一行的表视图。该行表示执行批处理作业时创建的记录。下表描述了 REVBATCHRUNTABLE 中 RUNCONTEXT 和 STATUS 字段的可能值。
字段
描述
RUNCONTEXT
识别运行批处理作业的环境的代码:
- 0 - 桌面
- 1 - 引擎
- 2 - 服务器
STATUS
批处理作业执行状态代码:
- 0 - 成功
- 1 - 成功,但是有错误
- 2 - 成功,但是有警告
- 3 - 成功,但是有错误和警告
- 4 - 失败
语法
参数 | 说明 | 数据类型 |
reviewer_workspace |
检查器批处理作业结果将写入的工作空间。 | Workspace |
session |
检查器会话的标识符和名称。会话必须存在于检查器工作空间中。 | String |
batch_job_file |
将要执行的检查器批处理作业文件的路径。 | File |
production_workspace (可选) |
要运行检查器批处理作业的生产数据库。如果此参数指向企业级地理数据库 (ArcSDE),那么请验证连接文件 (.sde) 是否引用了正确的地理数据库版本。 | Workspace |
analysis_area (可选) |
将用于构建验证处理区域的面要素。 | Feature Layer |
changed_features (可选) | 指示在生产工作空间引用 ArcSDE 中的数据时要进行验证的要素类型(无论是否更改)。
| Boolean |
代码实例
以下 Python 窗口脚本演示了如何使用执行检查器批处理作业 (ExecuteReviewerBatchJob) 工具。
# Path to the tutorial reviewer workspace
rev_workspace = "C:/gisdata/TutorialsSamples/Tutorials/Reviewer/Reviewer.sde"
# path to the tutorial batch job file
batch_job_file = "C:/gisdata/TutorialsSamples/Tutorials/Reviewer/BatchJobs/RevTutorial.rbj"
# session - must exist before executing this script.
session = "Session 2 : Session 2"
# path to the tutorial production workspace - this contains the data to validate
prod_workspace = "C:/gisdata/TutorialsSamples/Tutorials/Reviewer/California.sde"
# execute the batch job
res = arcpy.ExecuteReviewerBatchJob_Reviewer(rev_workspace,session,batch_job_file,prod_workspace)
# get the output table view from the result object
tbl = res.getOutput(0)
print tbl.name # prints REVBATCHRUNTABLE
此独立脚本演示了如何使用执行检查器批处理作业 (ExecuteReviewerBatchJob) 工具。
# Name: ExecuteReviewerBatchJob_Example.py
# Description: Executes a reviewer batch job
# Requirements: Production Mapping extension
# Import arcpy module
import arcpy
# Check out a Data Reviewer extension license
arcpy.CheckOutExtension("datareviewer")
arcpy.env.overwriteOutput="true"
# reviewer workspace
reviewer_db = "c:/gisdata/reviewer.sde"
# reviewer batch job file - corresponds to Finding geometries with spatial relationships doc
SoCal_GeoOnGeoChecks_rbj = "C:/gisdata/SoCal_GeoOnGeoChecks.rbj"
# session - must exist before executing this script.
session = "Session 2 : Session 2"
# production database - contains data to validate
production_db = "C:/gisdata/Edit_Sample.sde"
# aoi feature layer
arcpy.MakeFeatureLayer_management(production_db + "/Features/PolbndA",'PolbndA',"objectid = 145")
# Execute Reviewer Batch Job function
res = arcpy.ExecuteReviewerBatchJob_Reviewer(reviewer_db, session, SoCal_GeoOnGeoChecks_rbj, production_db,'PolbndA')
# get the output table
tbl = res.getOutput(0)
print tbl.name
# query the table
for row in arcpy.da.SearchCursor(tbl,("RECORDID","BATCHJOBID","BATCHJOBFILE")):
print str(row[0])
print row[1]
print row[2]
# Check in the Data Reviewer extension
arcpy.CheckInExtension("datareviewer")