斯潘8
斯潘4
使用算术编辑器时,我发现使用角度计算时,它往往会导致域冲突:
2016-06-02 12:51:34 67.4 0.0警告坐标数:2——坐标尺寸:2
2016-06-02 12:51:34 67.4 0.0警告(95221.6718762274998464970.131574183)(95220.2301712773941464970.131574183)
2016-06-02 12:51:34| 67.4| 0.0|WARN |===========================================================================
2016-06-02 12:51:36 69.7 2.2 warn hoek in u en radialen.u 2 attributeCreator 2:未能评估算术表达式'-1.ind*(180*1.0/3.1415926535897932)'
2016-06-02 12:51:36 69.7 0.0 warn hoek_in u en radialen.u 2 attributeCreator_2:tcl错误消息:
2016-06-02 12:51:36 69.7 0.0警告无效字符“”
2016-06-02 12:51:36 69.7 0.0警告在表达式中“-1.ind*(180*1.0/3.1415926…”
2016-06-02 12:51:36 69.7 0.0 warn hoek in en radialen.u 2 attributeCreator u 2:未能评估表达式'-1.ind*(180*1.0/3.1415926535897932)'
在上面的表达式中,使用上面的顶点
@评估(@value(e_x)-@value(s_x))/@sqrt(@pow(@value(e_x)-@value(s_x),2)))
有FME输出-1.000000000000027(表视图显示值-1 b.t.w.所以有点撒谎……哈哈)
wich指向acos(-1.00000000000000 27),wich不在域内。
应该在哪里
-1(实际上,当直线水平时,计算a/sqrt(pow(a)wich is a/a wich is 1..孩子能做到……)
FME没有PMIN,PMAX函数。
expr tcl函数做的数学比较精确。
使用TCL ExPR
[expr (@Value(E_x)-@Value(S_x))/sqrt(pow(@Value(E_x)-@Value(S_x),2))]
生成正确的-1
我一直认为fme waas使用相同的数学引擎,TCL一,但表面上不是吗?
所以
如果你还在遵循这条思路-我能问一下吗:
-你在哪个站台?
-您使用的是什么版本的FME(32/64位?)
-您使用的是什么TCL版本?8.4,还是8.5或更高版本?
我觉得这是一个复杂的场景。如果你注意到,我的结果和你的不同,建议它依赖于平台!
好啊,第一个简单的部分是,您需要在数据检查器中设置视图>显示完全精度。然后它将显示真实值,而不是四舍五入到-1
至于另一个,我发现如果我创造:
结果1=(@值(e_x)-@值(s_x))
结果2=@sqrt(@pow(@value(e_x)-@value(s_x),2))
结果3=结果1/结果2
Then result3 is -1 (whereas if I put the whole thing in one expression as you do,然后我得到-0.99999999999 67)。
所以数据是四舍五入的。据我所知,是的,FME使用TCL数学引擎。因此,我将向我们的开发人员查询这两个点,看看他们怎么说。
?2019安全亚搏在线软件公司|合法的