Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Available Functions
Odysseus provides a wide range of functions and operators to be used for data transformation and filtering in a Map, Select, or Join operator.
Mathematical Functions
Cos(X)
Returns the trigonometric cosine of an angle
ACos(X)
Returns the arc cosine of a value
Cosh(X)
Returns the hyperbolic cosine of a double value
Sin(X)
Returns the trigonometric sine of an angle
ASin(X)
Returns the arc sine of a value
Sinh(X)
Returns the hyperbolic sine of a double value
Tan(X)
Returns the trigonometric tangent of an angle
ATan(X)
Returns the arc tangent of a value
ATan2(Y,X)
Returns the angle theta from the conversion of rectangular coordinates (x, y) to polar coordinates (r, theta)
Tanh(X)
Returns the hyperbolic tangent of a double value
Abs(X)
Returns the absolute value of a value
Sign(X)
Returns the signum function of the argument
Sqrt(X)
Returns the square root of a value
Ceil(X)
Returns the smallest value that is greater than or equal to the argument and is equal to a mathematical integer.
Floor(X)
Returns the largest value that is less than or equal to the argument and is equal to a mathematical integer.
Round(X)
Returns the closest number to the argument, with ties rounding up
Log(X)
Returns the natural logarithm (base e) of a double value
Exp(X)
Returns Euler's number e raised to the power of a double value
PI()
Returns the double value that is closer than any other to pi.
E()
Returns the double value that is closer than any other to e
ToRadians(X)
Converts an angle measured in degrees to an equivalent angle measured in radians.
ToDegrees(X)
Converts an angle measured in radians to an equivalent angle measured in degrees.
Optional Functions
The following MEP functions are not part of the Odysseus Core and may be restricted.
Spatial Functions (Spatial Feature)
The spatial functions are based upon the JTS Topology Suite (http://www.vividsolutions.com/jts/JTSHome.htm).
Notice, that JTS only considers x and y coordinate and ignores the z coordinate (although z can be definied)!
AsCartesianCoordinates(SpatialPolarCoordinate[])
Transform the list of spatial polar coordinates into a list of Cartesian coordinates
AsGeometry(Geometry)
AsGeometryCollection(Geometry)
AsLineString(Geometry)
AsMultiLineString(Geometry)
AsMultiPoint(Geometry)
AsMultiPolygon(Geometry)
AsPoint(Geometry)
AsPolarCoordinates()
FromWKT()
GetCentroid(Geometry)
Returns the centroid of the given geometry
SpatialBuffer(Geometry, Double)
Creates a buffer of the given size around the given geometry
SpatialContains(Geometry, Geometry)
Checks whether the first geometry contains the second geometry.
SpatialConvexHull(Geometry)
Computes the smallest convex spatial polygon
that contains all the points in the geometry
SpatialCoveredBy(Geometry, Geometry)
SpatialCovers(Geometry, Geometry)
SpatialCrosses(Geometry, Geometry)
SpatialDisjoint(Geometry, Geometry)
SpatialEquals(Geometry, Geometry)
SpatialIntersection(Geometry, Geometry)
SpatialIsLine(Geometry)
SpatialIsPolygon(Geometry)
SpatialIsWithinDistance(Geometry, Double)
SpatialTouches(Geometry, Geometry)
SpatialUnion(Geometry, Geometry)
SpatialUnionBuffer(Geometry, Geometry, Geometry)
SpatialWithin(Geometry, Geometry)
ST_SetSRID(Geometry, Integer)
ST_Transform(Geometry, Integer)
ToCartesianCoordinate(SpatialPolarCoordinate)
Transforms the given spatial polar coordinate into a spatial Cartesian coordinate.
ToPolarCoordinate(SpatialCoordinate)
Transforms the given spatial Cartesian coordinate into a polar coordinate
Most function descriptions on this page are copied from the openjdk documentation.
your query statements. In Odysseus-Studio there is a view MEP Functions View, that lists all current available operators and functions.
Attentation: For most numeric operators the result is a floating value. This will be fixed in future versions.
Basic Operators
Mathematical Operators; +,-,/,*, % (modulo), ^ (power)
Logical Operators: && (and), || (or), !(not), xor
Compare Operators: !=, = or ==, <=, >=
Functions and operators in CQL
If you prefer CQL you can use these functions and operators in your Select clause for data transformation or in the Where clause for filtering:
Code Block | ||||
---|---|---|---|---|
| ||||
SELECT tan(x) FROM stream WHERE sqrt(y)>3 |
Functions and operators in PQL
If you prefer PQL you can use these functions and operators in the MAP, JOIN, and SELECT operator. In addition, functions and operators can be used in other operators that are not part of the set of relational operators.
Code Block | ||||
---|---|---|---|---|
| ||||
output = MAP({expressions = ['tan(x)']}, SELECT({predicate = RelationalPredicate('sqrt(y)>3')}, stream)) |
Some of the functions and operators are part of the Odysseus Core and some are available in additional features. On the following child pages you find all currently available functions and operators with their description and examples.
Children Displaytoc |
---|