Skip to main content
This function calculates the 2D perimeter of a given geometry. It supports Polygon, MultiPolygon, and GeometryCollection geometries (as long as the GeometryCollection contains polygonal geometries). For other types, it returns 0. To measure lines, use ST_Length. To get the perimeter in meters, set use_spheroid to true. This calculates the geodesic perimeter using the WGS84 spheroid. When using use_spheroid, the lenient parameter defaults to true, assuming the geometry uses EPSG:4326. To throw an exception instead, set lenient to false. ST_Perimeter

Signatures

ST_Perimeter(geom: Geometry)
ST_Perimeter(geom: Geometry, use_spheroid: Boolean)
ST_Perimeter(geom: Geometry, use_spheroid: Boolean, lenient: Boolean = True)

Parameters

geom
Geometry
required
The input geometry.
use_spheroid
Boolean
The use_spheroid value.
lenient
Boolean
default:"True"
The lenient value.

Return type

A numeric value.

Examples

SELECT ST_Perimeter(
        ST_GeomFromText('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))')
)
20.0
SELECT ST_Perimeter(
        ST_GeomFromText('POLYGON((0 0, 0 5, 5 5, 5 0, 0 0))', 4326),
        true, false
)
2216860.5497177234