Skip to main content

Execution error? 1st parameter `XZJ' is not a floating point number?BUT I can't XZJ type

Hi @charry, the performFunction method requires a string representing a complete FME function call as its parameter. If the FME function (@Rotate2D in your case) requires a numeric value as a parameter, it should be a numeric representation, should not be any attribute name (string).

e.g.

    feature.performFunction('@Rotate2D(45,0,0)')

 

If you want to pass feature attribute values to the FME function, you will have to build the FME function call string containing appropriate values as formatted strings.

e.g.

    a = float(feature.getAttribute('_angle'))
    x = float(feature.getAttribute('_x'))
    y = float(feature.getAttribute('_y'))
    feature.performFunction('@Rotate2D(%f,%f,%f)' % (a, x, y))

 

By the way, why not use the Rotator transformer?


Reply