# geo_angle()

Calculates clockwise angle in radians between two lines on Earth. The first line is [point1, point2] and the second line is [point2, point3].

## Syntax

`geo_angle(`

*p1_longitude*`,`

*p1_latitude*`,`

*p2_longitude*`,`

*p2_latitude*`,`

*p3_longitude*`,`

*p3_latitude*`)`

Learn more about syntax conventions.

## Parameters

Name | Type | Required | Description |
---|---|---|---|

p1_longitude |
`real` |
✔️ | The longitude value in degrees of the first geospatial coordinate. A valid value is in the range [-180, +180]. |

p1_latitude |
`real` |
✔️ | The latitude value in degrees of the first geospatial coordinate. A valid value is in the range [-90, +90]. |

p2_longitude |
`real` |
✔️ | The longitude value in degrees of the second geospatial coordinate. A valid value is in the range [-180, +180]. |

p2_latitude |
`real` |
✔️ | The latitude value in degrees of the second geospatial coordinate. A valid value is in the range [-90, +90]. |

p3_longitude |
`real` |
✔️ | The longitude value in degrees of the second geospatial coordinate. A valid value is in the range [-180, +180]. |

p3_latitude |
`real` |
✔️ | The latitude value in degrees of the second geospatial coordinate. A valid value is in the range [-90, +90]. |

## Returns

An angle in radians in range [0, 2pi) between two lines [p1, p2] and [p2, p3]. The angle is measured CW from the first line to the Second line.

Note

- The geospatial coordinates are interpreted as represented by the WGS-84 coordinate reference system.
- The geodetic datum used to measure distance on Earth is a sphere. Line edges are geodesics on the sphere.
- If the coordinates are invalid, the query will produce a null result.
- If point1 is equal to point2, the query will produce a null result.
- If point2 is equal to point3, the query will produce a null result.
- If point1 and point2 are antipodal, the query will produce a null result.
- If point2 and point3 are antipodal, the query will produce a null result.

## Examples

The following example calculates the angle in radians.

```
print angle_in_radians = geo_angle(0, 10, 0,5, 3,-10)
```

**Output**

angle_in_radians |
---|

2.94493843406882 |

The following example calculates the angle in degrees.

```
let angle_in_radians = geo_angle(0, 10, 0,5, 3,-10);
print angle_in_degrees = degrees(angle_in_radians)
```

**Output**

angle_in_degrees |
---|

168.732543198009 |

The following example returns null because 1st point equals to 2nd point.

```
print is_null = isnull(geo_angle(0, 10, 0, 10, 3, -10))
```

**Output**

is_null |
---|

True |

## Feedback

https://aka.ms/ContentUserFeedback.

Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for