跳转至
🎉 SedonaDB 0.4.0 已正式发布!🗺️ 新增 Python DataFrame API、R dplyr 接口、Geography 支持及 GPU 加速空间连接。阅读发布博客 →

ST_Area

Introduction: Returns the spherical area of a geography in square meters, calculated on the sphere. The Earth is modeled as a sphere of radius R = 6 371 008 m (the mean Earth radius); the result is the area of the polygon's interior on that sphere. Returns 0.0 for non-areal geographies (points, linestrings) and for NULL.

Multi-polygons sum the children's areas; geography collections recurse into their members.

ST_Area on a Geography on the sphere

Each Geography polygon shell is normalized to an area of at most one hemisphere. A shell intended to represent more than half the sphere is therefore interpreted as its complement; reversing the ring's coordinate sequence does not select the larger region. The returned area is bounded by half the surface of the Earth (~2.55 × 10¹⁴ m²).

If you specifically want the WGS84 ellipsoidal value (which is ~0.5 % lower for typical shapes), convert via ST_GeogToGeometry first and use the geometry overload:

SELECT ST_Area(ST_GeogToGeometry(geog), true) FROM ;

Format:

ST_Area (A: Geography)

Return type: Double

Since: v1.9.1

SQL Example

SELECT ST_Area(ST_GeogFromWKT('POLYGON ((0 0, 1 0, 1 1, 0 1, 0 0))'));

Output (in m²):

1.2364028804392242E10

That is approximately 12,364 km² — the spherical area of a 1°×1° box near the equator.