acos ↗
Use the acos() function to calculate the principal value of the inverse cosine (arccosine) of a numerical expression.
Syntax
acos(<numeric_expression>)
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
numeric_expression |
integer, float | Yes | The numerical value for which to calculate the arccosine. The value must be within the range of -1 to 1 (inclusive). |
Returns
Type: float
Description: The acos() function returns the principal value of the arccosine of the input in radians. The resulting value is within the range [0, π].
Usage notes
- Input type: XQL doesn't support NaN or infinite values as input and these value types also can not be returned.
- Valid Input Range: The input
numeric_expressionmust fall within the closed interval [-1, 1]. - Out of Range Behavior: If the input is outside the range of -1 to 1, the function returns
NaN(Not a Number) ornull. - Null Handling: If the input expression is
null, the function returnsnull. - Radians to Degrees: The result is provided in radians. To convert the result to degrees, multiply the return value by
180 / PI(). - Common Use Cases: This function is typically utilized in the
alterstage for geometric calculations, spatial analysis, or normalizing data vectors.
Examples
Example 1: Calculate arccosine of a literal value
Goal: Calculate the inverse cosine for specific numerical literals to see the radian results.
XQL Code:
dataset = xdr_data | limit 1 | alter result1 = acos(1), result2 = acos(-1), result3 = acos(0) | fields result1, result2, result3
Explanation: You use acos() on three different literal values. The function calculates the principal value of the inverse cosine for each. The results are in radians.
Output:
| RESULT1 | RESULT2 | RESULT3 |
|---|---|---|
| 0.0 | 3.14159... | 1.5708... |
Example 2: Calculate arccosine from a field value
Goal: Calculate the arccosine of values stored in a specific field, ensuring they are within the valid mathematical range.
XQL Code:
dataset = sample_xql_raw | filter duration_seconds >= -1 and duration_seconds <= 1 | alter arc_cos_val = acos(duration_seconds) | fields event_id, duration_seconds, arc_cos_val | limit 3
Explanation: This query first filters the dataset to ensure duration_seconds contains only values between -1 and 1, then computes the arccosine for each and stores it in arc_cos_val.