- Categories:
ST_LENGTH¶
Returns the great circle length of the LineString(s) in a GEOGRAPHY object or the Euclidean length of the LineString(s) in a GEOMETRY object.
Syntax¶
ST_LENGTH( <geography_or_geometry_expression> )
Arguments¶
geography_or_geometry_expressionThe argument must be of type GEOGRAPHY or GEOMETRY.
Returns¶
Returns a REAL value, which represents the length:
For GEOGRAPHY input values, the length is in meters.
For GEOMETRY input values, the length is computed with the same units used to define the input coordinates.
Usage notes¶
If
geography_or_geometry_expressionis not a LineString, MultiLineString, or GeometryCollection containing linestrings, ST_LENGTH returns 0.If
geography_or_geometry_expressionis a GeometryCollection, ST_LENGTH returns the sum of the lengths of the linestrings in the collection.If you want the perimeter length of a polygon, use the ST_PERIMETER function instead.
Examples¶
GEOGRAPHY examples¶
This shows the length in meters of one degree of arc at the equator:
SELECT ST_LENGTH(TO_GEOGRAPHY('LINESTRING(0.0 0.0, 1.0 0.0)')); +---------------------------------------------------------+ | ST_LENGTH(TO_GEOGRAPHY('LINESTRING(0.0 0.0, 1.0 0.0)')) | |---------------------------------------------------------| | 111195.101177484 | +---------------------------------------------------------+
GEOMETRY examples¶
The following example demonstrates how to use the ST_LENGTH function.
SELECT ST_LENGTH(g), ST_ASWKT(g) FROM (SELECT TO_GEOMETRY(column1) AS g FROM VALUES ('POINT(1 1)'), ('LINESTRING(0 0, 1 1)'), ('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))'));+--------------+--------------------------------+ | ST_LENGTH(G) | ST_ASWKT(G) | |--------------+--------------------------------| | 0 | POINT(1 1) | | 1.414213562 | LINESTRING(0 0,1 1) | | 0 | POLYGON((0 0,0 1,1 1,1 0,0 0)) | +--------------+--------------------------------+