- Created by Christian Kuka (库科), last modified on Dec 19, 2013

**You are viewing an old version of this page. View the current version.**

Compare with Current View Page History

« Previous
** Version 91**
Next »

# Available Functions

Odysseus provides a wide range of functions to be used 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.

## Probabilistic Functions (Probabilistic Feature)

The probabilistic feature provides arbitrary functions to work with discrete and continuous probabilistic values in a data stream. Further this feature provides algebraic operator (+, *, -, /) to perform probabilistic addition, subtraction, multiplication, division, and exponentiation.

**Example**

SELECT ToProbabilisticDouble([2.0,0.25;3.0,0.75]) + ToProbabilisticDouble([4.0,0.25;5.0,0.75]) FROM Stream => (6.0:0.0625;7.0:0.375;8.0:0.5625) SELECT ToProbabilisticDouble([2.0,0.25;3.0,0.75]) - ToProbabilisticDouble([4.0,0.25;5.0,0.75]) FROM Stream => (-3.0:0.1875;-2.0:0.625;-1.0:0.1875) SELECT ToProbabilisticDouble([2.0,0.25;3.0,0.75]) * ToProbabilisticDouble([4.0,0.25;5.0,0.75]) FROM Stream => (15.0:0.5625;12.0:0.1875;10.0:0.1875;8.0:0.0625) SELECT ToProbabilisticDouble([2.0,0.25;3.0,0.75]) / ToProbabilisticDouble([4.0,0.25;5.0,0.75]) FROM Stream => (0.75:0.1875;0.6:0.5625;0.5:0.0625;0.4:0.1875) SELECT ToProbabilisticDouble([2.0,0.25;3.0,0.75])^2 FROM Stream => (4.0:0.25;9.0:0.75) SELECT ToProbabilisticDouble([2.0,0.25;3.0,0.75]) + 2 FROM Stream => (4.0:0.25;5.0:0.75) SELECT ToProbabilisticDouble([2.0,0.25;3.0,0.75]) - 2 FROM Stream => (0.0:0.25;1.0:0.75) SELECT ToProbabilisticDouble([2.0,0.25;3.0,0.75]) * 2 FROM Stream => (6.0:0.75;4.0:0.25) SELECT ToProbabilisticDouble([2.0,0.25;3.0,0.75]) / 2 FROM Stream => (1.5:0.75;1.0:0.25)

### SQRT(Probabilistic Value)

Computes the probabilistic square root of the given probabilistic value.

### sMIn(Probabilistic Value, Probabilistic Value)

Computes the minimum of two probabilistic values.

### sMax(Probabilistic Value, Probabilistic Value)

Computes the maximum of two probabilistic values.

### ToProbabilisticDouble(Matrix)

Constructs a discrete probabilistic value using the first column of the given matrix for the values and the second column of the matrix for the probabilities for each value.

**ToProbabilisticDouble Example**

SELECT ToProbabilisticDouble([2.0,0.25;3.0,0.75]) FROM Stream => (3.0:0.75;2.0:0.25)

### DoubleToShort(Probabilistic Value)

Converts the given probabilistic double value to a probabilistic *short* value

### DoubleToByte(Probabilistic Value)

Converts the given probabilistic double value to a probabilistic *byte* value

### DoubleToInteger(Probabilistic Value)

Converts the given probabilistic double value to a probabilistic *integer* value

### DoubleToFloat(Probabilistic Value)

Converts the given probabilistic double value to a probabilistic *float* value

### DoubleToLong(Probabilistic Value)

Converts the given probabilistic double value to a probabilistic *long* value

### Int(Distribution, Lower Limit, Upper Limit)

Estimates the multivariate normal distribution probability with lower and upper integration limit.

### as2DVector(Object, Object)

Converts the two object into a 2D vector.

### as3DVector(Object, Object, Object)

Similar to the as2DVector function, this function creates a 3D vector with the given objects.

### Similarity(Distribution, Distribution)

Calculates the Bhattacharyya distance between two distributions.

**Example**

SELECT similarity(as2DVector(x1,y1), as2DVector(x2,y2)) FROM stream

### Distance(Distribution, Value)

Calculates the Mahalanobis distance between the distribution and the value. The value can be a scalar value or a vector.

**Example**

SELECT distance(as3DVector(x, y, z), [1.0;2.0;3.0]) FROM stream

## 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 p`olygon`

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.

- No labels