LinkedProperty

摘要

用于访问与作业相关的链接属性行组的 ArcPy 类。它可由 0 个或多个 ExtendedProperty 对象组成。

说明

链接属性会将业务特定信息存储为未被默认作业属性所覆盖的作业的一部分。链接属性具有一对多 (1-M) 基数,并且存在零组或多组与作业相关的属性。要在作业类型中配置和使用链接属性,必须在 Workflow Manager (Classic) 资料档案库中创建新的地理数据库表。然后,对 Workflow Manager (Classic) 进行配置,以便将此表识别为对其余系统表的扩展。

属性

属性说明数据类型
alias
(只读)

作业相关扩展属性表或链接属性表的别名。

String
cardinality
(只读)

作业相关扩展属性表或链接属性表的基数。

String
jobID
(只读)

与扩展属性表或链接属性表关联的作业 ID。

Integer
name
(只读)

作业相关扩展属性表或链接属性表的名称。

String

方法概述

方法说明
createRecord ()

创建与作业相关联的新链接属性记录,作为 ExtendedProperty 对象。

deleteRecord (record)

删除一条与作业相关联的链接属性记录。

方法

createRecord ()
返回值
数据类型说明
ExtendedProperty

与作业相关联的新链接属性记录将,作为 ExtendedProperty 对象。

创建作业之后,可根据需要创建链接属性记录。一个作业可以具有零个或多个链接属性记录。

下列脚本可创建与作业相关联的链接属性记录并更新像元值。

import arcpy

#Establish a connection to a Workflow database
conn = arcpy.wmx.Connect(r'c:\test\Workflow.jtc')

#Access a Workflow Job with linked properties
job = conn.getJob(99999)

#Get the linked properties table associated with the job
prop_table = job.getExtendedPropertyTable('wmx.linked_properties')

#Create new record in the linked property table
new_record = prop_table.createRecord()

#Update value of cells for the new record
new_record['parcel_number'].data=10001
new_record['requestor_name'].data='Fire Department'
new_record['request_date'].data=datetime.datetime(2015, 4, 30, 12, 30, 45)
job.save()
deleteRecord (record)
参数说明数据类型
record

链接属性记录作为 ExtendedProperty 对象。

ExtendedProperty

可根据需要删除链接属性记录。

下列脚本可从链接属性表中删除记录。

import arcpy

#Establish a connection to a Workflow database
conn = arcpy.wmx.Connect(r'c:\test\Workflow.jtc')

#Access a Workflow Job with linked properties
job = conn.getJob(99999)

#Get the linked properties table associated with the job
prop_table = job.getExtendedPropertyTable('wmx.linked_properties')

#Delete a linked property record
record = prop_table[0]
prop_table.deleteRecord(record)
job.save()

代码示例

以下脚本可获取与作业相关的链接属性表,并打印出所有链接属性像元的名称以及按显示顺序进行排序的列。

import arcpy

#Establish a connection to a Workflow database
conn = arcpy.wmx.Connect(r'c:\test\Workflow.jtc')

#Access a Workflow Job with linked properties
job = conn.getJob(99999)

#Get the linked properties table associated with the job
prop_table = job.getExtendedPropertyTable('wmx.linked_properties')

#Iterate over linked properties and print name of all linked property cells with columns sorted by display order
for row in prop_table:
    for(name,value) in (sorted(row, key=lambda x: x[1].displayOrder)):
        print("{0} = {1}" .format(name,value.data))