派生节点属性
派生节点修改数据值或根据一个或多个现有字段创建新字段。 它可创建的字段类型包括公式、标志、名义、状态、计数和条件。
示例 1
# Create and configure a Flag Derive field node
node = stream.create("derive", "My node")
node.setPropertyValue("new_name", "DrugX_Flag")
node.setPropertyValue("result_type", "Flag")
node.setPropertyValue("flag_true", "1")
node.setPropertyValue("flag_false", "0")
node.setPropertyValue("flag_expr", "'Drug' == \"drugX\"")
# Create and configure a Conditional Derive field node
node = stream.create("derive", "My node")
node.setPropertyValue("result_type", "Conditional")
node.setPropertyValue("cond_if_cond", "@OFFSET(\"Age\", 1) = \"Age\"")
node.setPropertyValue("cond_then_expr", "(@OFFSET(\"Age\", 1) = \"Age\" >< @INDEX")
node.setPropertyValue("cond_else_expr", "\"Age\"")
示例 2
本脚本假定有两个数字列,分别名为 XPos 和 YPos ,分别表示一个点的X和Y坐标(例如,事件发生的地点)。 脚本创建一个衍生节点,该节点根据特定坐标系中该点的X和Y坐标计算地理空间列:
stream = modeler.script.stream()
# Other stream configuration code
node = stream.createAt("derive", "Location", 192, 96)
node.setPropertyValue("new_name", "Location")
node.setPropertyValue("formula_expr", "['XPos', 'YPos']")
node.setPropertyValue("formula_type", "Geospatial")
# Now we have set the general measurement type, define the
# specifics of the geospatial object
node.setPropertyValue("geo_type", "Point")
node.setPropertyValue("has_coordinate_system", True)
node.setPropertyValue("coordinate_system", "ETRS_1989_EPSG_Arctic_zone_5-47")
derivenode properties |
数据类型 | 属性描述 |
|---|---|---|
new_name |
字符串 | 新字段的名称。 |
mode |
Single Multiple |
指定单个或多个字段。 |
fields |
列表 | 仅在多选模式下用于选择多个字段。 |
name_extension |
字符串 | 指定新字段名称的扩展名。 |
add_as |
Suffix Prefix |
将扩展名添加为字段名称的前缀(在开头)或后缀(在结尾)。 |
result_type |
Formula Flag Set State Count Conditional |
您可以创建的六种新字段类型。 |
formula_expr |
字符串 | 在衍生节点中计算新字段值的表达式。 |
flag_expr |
字符串 | |
flag_true |
字符串 | |
flag_false |
字符串 | |
set_default |
字符串 | |
set_value_cond |
字符串 | 结构化以提供与给定值相关的条件。 |
state_on_val |
字符串 | 当满足条件时,指定新字段的值。 |
state_off_val |
字符串 | 当满足关闭条件时,为新字段指定值。 |
state_on_expression |
字符串 | |
state_off_expression |
字符串 | |
state_initial |
On Off |
为每个新字段记录分配初始值 On 或 Off。 当满足每个条件时,该值会发生变化。 |
count_initial_val |
字符串 | |
count_inc_condition |
字符串 | |
count_inc_expression |
字符串 | |
count_reset_condition |
字符串 | |
cond_if_cond |
字符串 | |
cond_then_expr |
字符串 | |
cond_else_expr |
字符串 | |
formula_measure_type |
Range / MeasureType.RANGE Discrete /
MeasureType.DISCRETE Flag / MeasureType.FLAG Set /
MeasureType.SET OrderedSet /
MeasureType.ORDERED_SET Typeless /
MeasureType.TYPELESS Collection /
MeasureType.COLLECTION Geospatial / MeasureType.GEOSPATIAL |
此属性可用于定义与派生字段相关的度量。 设置器函数可以传递字符串或 MeasureType 值之一。 获取器将始终返回 MeasureType 的值。 |
collection_measure |
Range / MeasureType.RANGE Flag /
MeasureType.FLAG Set / MeasureType.SET OrderedSet /
MeasureType.ORDERED_SET Typeless / MeasureType.TYPELESS |
对于集合字段(深度为0的列表),此属性定义了与基础值关联的度量类型。 |
geo_type |
Point MultiPoint LineString MultiLineString Polygon MultiPolygon |
对于地理空间领域,此属性定义了该字段所表示的地理空间对象的类型。 这应该与列表的值深度一致 |
has_coordinate_system |
布尔型 | 对于地理空间领域,此属性定义了该字段是否具有坐标系 |
coordinate_system |
字符串 | 对于地理空间领域,此属性定义了该领域的坐标系 |