ST_Length

Calculates the length of a spatial object.

Calculates the length of a spatial object. For GEOMETRY objects, the length is measured in Cartesian coordinate units. For GEOGRAPHY objects, the length is measured in meters.

Calculates the length as follows:

  • The length of a point or multipoint object is 0.

  • The length of a linestring is the sum of the lengths of each line segment The length of a line segment is the distance from the start point to the end point.

  • The length of a polygon is the sum of the lengths of the exterior boundary and any interior boundaries.

  • The length of a multilinestring, multipolygon, or geometrycollection is the sum of the lengths of all the objects it contains.

Behavior type

Immutable

Syntax

ST_Length( g )

Arguments

g
Spatial object for which you want to calculate the length, type GEOMETRY or GEOGRAPHY

Returns

FLOAT

Supported data types

Data Type GEOMETRY GEOGRAPHY (Perfect Sphere)
Point Yes Yes
Multipoint Yes Yes
Linestring Yes Yes
Multilinestring Yes Yes
Polygon Yes Yes
Multipolygon Yes Yes
GeometryCollection Yes No

Examples

The following examples show how to use ST_Length.

Returns length in Cartesian coordinate units:

=> SELECT ST_Length(ST_GeomFromText('LINESTRING(-1 -1,2 2,4 5,6 7)'));
    ST_Length
------------------
 10.6766190873295
(1 row)

Returns length in meters:

=> SELECT ST_Length(ST_GeographyFromText('LINESTRING(-56.12 38.26,-57.51 39.78,
   -56.37 45.24)'));
    ST_Length
------------------
 821580.025733461
(1 row)