Spatial Measurement
spatial measurement functions can perform basic calculations on geospatial data, such as measuring the distance between two POINT objects or the area of a POLYGON object.
Returns the area of the specified geospatial object in the specified unit of measurement.
Syntax
Parameter | Data Type | Description |
---|---|---|
geo | POINT, LINESTRING, or POLYGON | A geospatial object to be measured in the specified measurement unit. |
units | STRING | Optional. Supported units include "FEET", "KILOMETERS", "MILES", and "METERS". If you do not specify this argument, the value defaults to "METERS". |
use_spheroid | BOOLEAN | Optional. If you set this value to TRUE, this function uses a spheroid model instead of a spherical model. Defaults to FALSE. |
Example
Output: 196932665.2369081
Calculates the angle between two lines. The lines are represented by three POINT values, including one point for each line (a, b), and a third point (c) that represents the vertex where they intersect. The function calculates the spherical angle as formed by the two great circles defined by (a, c) and (b, c).
ST_ANGLE returns the value in radians, in the range [0, 2pi], which excludes the value 2pi.
If either a or b is the same or exactly antipodal to c, the function returns NULL. If any argument is NULL, the function returns NULL.
Syntax
Parameter | Data Type | Description |
---|---|---|
endpoint_a | POINT | A POINT that represents an endpoint for a line between its position and the vertex_c value. |
vertex_c | POINT | A POINT that represents the intersection between two lines. The lines comprise the endpoints between endpoint_a and vertex_c, and endpoint_b and vertex_c. |
endpoint_b | POINT | A POINT that represents an endpoint for a line between its position and the vertex_c value. |
Example
Output: 5.49778714378213
Returns the azimuth of the line from point1 to point2 in radians.
Returns NULL if either of the points are empty. Returns 0 if both of the points are the same.
Syntax
Parameter | Data Type | Description |
---|---|---|
point1 | POINT | An endpoint for a line to be calculated for its azimuth value. |
point2 | POINT | An endpoint for a line to be calculated for its azimuth value. |
Example
Output: 0.785398163397448
Returns the minimum distance between the specified arguments.
ST_DISTANCE returns the minimum distance in the specified unit of measurement. The use_spheroid optional argument enables the computation to use a spheroid model rather than a spherical one.
Syntax
Parameter | Data Type | Description |
---|---|---|
geo1 | POINT, LINESTRING, or POLYGON | A geospatial object to be measured for its minimum distance to geo2. |
geo2 | POINT, LINESTRING, or POLYGON | A geospatial object to be measured for its minimum distance to geo1. |
units | STRING | Optional. Supported units include "FEET", "KILOMETERS", "MILES", and "METERS". If you do not specify this argument, the value defaults to "METERS". |
use_spheroid | BOOLEAN | Optional. If you set this value to TRUE, this function uses a spheroid model instead of a spherical model. Defaults to FALSE. |
Example
Output: 111050.10339481
To use ST_DISTANCE as a spatiotemporal function to calculate the minimum simultaneous distance between two linestring-timestamp array pairs, see the ST_DISTANCE function in Spatiotemporal Measurement.
Returns the minimum distance between the specified arguments, using a spherical computation.
This function is identical to ST_DISTANCE with the use_spheroid argument set to FALSE.
See ST_DISTANCE for usage example.
Returns the minimum distance between the specified arguments, using a spheroid computation.
This function is identical to ST_DISTANCE with the use_spheroid argument set to TRUE.
See ST_DISTANCE for usage example.
Returns the Hausdorff distance between two geographies in a specified measurement. If any argument is NULL or empty, the function returns NULL.
The two geographies can be POINT, LINESTRING, or POLYGON values. The system promotes these geographies to filled polygons. Behavior is undefined if the resulting polygons are not convex.
Syntax
Parameter | Data Type | Description |
---|---|---|
geo1 | POINT, LINESTRING, or POLYGON | A geospatial object to be measured for its Hausdorff distance to geo2. |
geo2 | POINT, LINESTRING, or POLYGON | A geospatial object to be measured for its Hausdorff distance to geo1. |
units | STRING | Optional. Supported units include "FEET", "KILOMETERS", "MILES", and "METERS". Defaults to "METERS". |
use_spheroid | BOOLEAN | Optional. If you set this argument to TRUE, this function uses a spheroid model instead of a spherical model. Defaults to FALSE. |
Example
Output: 156899.5136831999
Returns the length of the specified line in the specified measurement unit.
Returns 0 for all geography types except for LINESTRING. To return the total length of a POLYGON, use ST_PERIMETER.
Syntax
Parameter | Data Type | Description |
---|---|---|
geo | LINESTRING | A line that is to be measured for its length. The function accepts POINT and POLYGON data types, but returns 0. |
units | STRING | Optional. Supported units include "FEET", "KILOMETERS", "MILES", and "METERS". Defaults to "METERS". |
use_spheroid | BOOLEAN | Optional. If you set this argument to TRUE, this function uses a spheroid model instead of a spherical model. Defaults to FALSE. |
Example
Output: 221154.8586057658
Alias for ST_LENGTH.
Returns maximum distance between the specified arguments.
ST_MAXDISTANCE returns the maximum distance in the specified unit of measurement. The use_spheroid optional argument enables the computation to use a spheroid model rather than a spherical one.
Syntax
Parameter | Data Type | Description |
---|---|---|
geo1 | POINT, LINESTRING, or POLYGON | A geospatial object to be measured for its maximum distance to geo2. |
geo2 | POINT, LINESTRING, or POLYGON | A geospatial object to be measured for its maximum distance to geo1. |
units | STRING | Optional. Supported units include "FEET", "KILOMETERS", "MILES", and "METERS". Defaults to "METERS". |
use_spheroid | BOOLEAN | Optional. If you set this argument to TRUE, this function uses a spheroid model instead of a spherical model. Defaults to FALSE. |
Example
Output: 555975.2598904524
To use ST_MAXDISTANCE as a spatiotemporal function to calculate the maximum simultaneous distance between two linestring-timestamp array pairs, see the ST_MAXDISTANCE function in Spatiotemporal Measurement.
Returns the length of the exterior (outer ring) of the POLYGON in the specified unit of measurement.
Returns 0 for all geography types except for POLYGON. To return the length of a LINESTRING, use ST_LENGTH.
Syntax
Parameter | Data Type | Description |
---|---|---|
geo | POLYGON | A POLYGON that is to be measured for its total perimeter length. The function accepts POINT and LINESTRING data types, but returns 0. |
units | STRING | Optional. Supported units include "FEET", "KILOMETERS", "MILES", and "METERS". Defaults to "METERS". |
use_spheroid | BOOLEAN | Optional. If you set this argument to TRUE, this function uses a spheroid model instead of a spherical model. Defaults to FALSE. |
Example
Output: 222390.1039561809
Alias for ST_PERIMETER.