西班牙
斯潘4
大家好,
我试图比较两个postgis空间表(代表机场的点)来检测变化。当几何结构发生变化时,变化检测器工作得很好。但是当raw中只有一个属性发生变化时,我找不到它!
事实上,如果我在参数中选择了正确的字段名,我可以找到它(因为我知道wich字段在我的测试中已经更改)。但当我选择所有属性时,它就不起作用,这是真实的情况。我需要检测具有未知属性更新的表上的更改。在这种情况下,匹配几何体总是设置为“无”,因为我只想检查属性的更改。
我也尝试过将crccalculator、feature merger、update detector、tester等结合起来。但即使是一个非常简单的测试-只有一个非几何属性在两个表之间的原始变化-我找不到一种方法,使这种变化出现在变压器输出…
任何帮助都将不胜感激
谢谢!
可能是转换器的二进制属性值有问题吗?尝试在ChangeDetector前面插入一个pythoncaller,代码如下:
从fmeobjects import*def convertbinarytohex(feature):for attr in feature.getallattributenames():attr_value=feature.getattribute(attr)if isinstance(attr_value,bytearray):将bytearray转换为十六进制值为十六进制的字符串hex value='.join('{:02x}.format(x)for x in attr逖value)feature.setattribute(attr,hex逖value)
这将把所有二进制属性值转换为十六进制字符串。
?2019安全亚搏在线软件公司|合法的