Syntax @Arc([REJECTABLE],, [,,[,,,,]]) @Arc([REJECTABLE],,,,,[,]) @Arc([REJECTABLE],[]) @Arc([REJECTABLE],[,]MAKEPOLY_FOR_360ARC) @Arc([REJECTABLE],MAX_DEVIATION[,][,MAKEPOLY_FOR_360ARC]) Arguments Length of the primary axis for the ellipse the arc is based upon. Range: Real Value Length of the secondary axis for the ellipse the arc is based upon. Range: Real Value The number of edges in the final arc. The default is 0. Range: Real Value The rotation of the ellipse that defines the arc. The rotation angle specifies the angle in degrees from the horizontal axis to the primary axis in a counterclockwise direction. Default is 0. Range: Real Value arctan((fme_primary_axis/fme_secondary_axis)*tan(realStartAngle)). Default is 0. Range: Real Value arctan((fme_primary_axis/fme_secondary_axis)*tan(realEndAngle)) - arctan((fme_primary_axis/fme_secondary_axis)*tan(realStartAngle)). Default is 360. Range: Real Value The X coordinate of the center of the ellipse. If not specified, the first coordinate of the feature is used. Range: Real Value The Y coordinate of the center of the ellipse. If not specified, the first coordinate of the feature is used. Range: Real Value The following lists the arguments for the @Arc alternative that vectorizes a circular arc defined a the circle's center point, its arc start and end point, and its direction, either counterclockwise or clockwise, from start to end point. Either CCW or CW (counterclockwise or clockwise), for the direction of the arc, from start to end point. Range: String x coordinate value for the arc's start point. Range: Real Value y coordinate value for the arc's start point. Range: Real Value x coordinate value for the arc's end point. Range: Real Value y coordinate value for the arc's end point. Range: Real Value The number of edges in the final arc. The default is 0. Range: Real Value The following lists the arguments for the @Arc alternative that vectorizes an arc defined by the attributes of the feature or the geometry itself. The number of edges in the final arc. The default is 0. Range: Real Value MAKEPOLY_FOR_360ARC This flag if present as the second argument will stroke arcs with 360 sweep angle into polygons. Otherwise, they are stroked into lines. Range: N/A MAX_DEVIATION This flag if present as the first argument will stroke arcs using the value such that the distance between the arc and the vectorized line is no greater than the . Range: N/A The maximum deviation from the arc to the vectorized line. Default to 0. Range: Real Value REJECTABLE If this parameter is specified, then a feature can be rejected if needed instead of failing a workspace. Range: N/A The Cartesian equation for the ellipse defines the curve by a simple parametric form with the x and y coordinates having different scalings: x = a cos(t) y = b sin(t) where a = primary radius b = secondary radius Note that t is a parameter which does not have a direct interpretation in terms of an angle. However, the relationship between the polar angle (theta) from the ellipse center and the parameter t follows from: theta = arctan((b/a)*tan(t)) or t = arctan((a/b)*tan(theta)) Configuration The @Arc function does not accept configuration lines. However, as described below, the FME keywords FME_ARC_DEGREES_PER_EDGE and FME_ARC_EDGE_TOLERANCE can be used to configure the behavior of @Arc. Description This function is often used when translating from formats supporting arcs and ellipses to those that do not by vectorizing such features. This function replaces the geometry of the passed-in feature with a line, generated according to those parameters passed in. If the sweep angle of the arc is 360 degrees, then the resulting feature will be a closed polygon, shaped like an ellipse. Otherwise, the resulting geometry of the feature is a line. If the number of edges is 0, then the FME will calculate the number of edges to create by dividing the sweep_angle by the setting of the mapping file directive FME_ARC_DEGREES_PER_EDGE which, by default, is 5. In addition, if the mapping file contains a setting for FME_ARC_EDGE_TOLERANCE, the generated line will be thinned to remove points that do not deviate more than this tolerance from the line connecting their neighbours. In this way, excessively large numbers of coordinate volumes are avoided when converting arcs into linestrings. Alternatively, a circular arc defined by a circle's center point, its arc's start and end point, and its direction, either counterclockwise or clockwise from the start to end point can be vectorized by using the alternate @Arc(, , , , ), where the center point of the circle must be specified as the first coordinate of the feature. If MAX_DEVIATION flag is present, then arcs will be vectorized such that the distance between the vectorized lines and the arcs is never greater than the value. The valid range for is (0, min{primary axis, secondary axis}). If maxDeviation is smaller than or equal to zero, the value of the mapping file directive FME_STROKE_MAX_DEVIATION. If the value of this directive is also smaller than or equal to zero, then the arc will be vectorized using number of edges being zero. If the maximum deviation value is greater than or equal to the primary or secondary axis, then the arcs are vectorized using the minimum number of edges possible.