Skip to content

ST_AREA

Calculates the area of a GEOGRAPHY object in square meters.

This function supports two calculation modes:

  • Spheroid-based (default): Provides a more precise but slower calculation
  • Sphere-based: Offers a faster but less accurate calculation

See also:

Syntax

sql
ST_AREA(<input>, <use_spheroid> = true)

Arguments

  • <input>: The GEOGRAPHY object to measure
  • <use_spheroid>: An optional BOOLEAN to control the calculation mode:
    • TRUE (default): Uses the spheroidal model for higher precision
    • FALSE: Uses the spherical model for faster computation

Returns

Returns a FLOAT8 value representing the area in square meters.

Returns 0 for invalid or non-polygonal inputs such as points and lines.

Example

sql
SELECT ST_Area('POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))'::GEOGRAPHY);
-- 12308778361.4695 -- area in square meters using spheroid

SELECT ST_Area('POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))'::GEOGRAPHY, false);
-- 12364031798.5177 -- area in square meters using sphere