Catégories :

Fonctions géospatiales

ST_AREA

Renvoie l’aire du ou des polygones dans un objet GEOGRAPHY ou GEOMETRY.

Syntaxe

ST_AREA( <geography_or_geometry_expression> ) 
Copy

Arguments

geography_or_geometry_expression

L’argument doit être de type GEOGRAPHY ou GEOMETRY.

Renvoie

Renvoie une valeur REAL, qui représente l’aire :

  • Pour les valeurs d’entrée GEOGRAPHY, l’aire est exprimée en mètres carrés.

  • Pour les valeurs d’entrée GEOMETRY, l’aire est calculée avec les mêmes unités que celles utilisées pour définir les coordonnées d’entrée.

Notes sur l’utilisation

  • Si geography_expression n’est pas un polygone, MultiPolygon ou GeometryCollection contenant des polygones, ST_AREA renvoie 0.

  • Si geography_expression est un GeometryCollection, ST_AREA renvoie la somme des zones des polygones de la collection.

Exemples

Exemples GEOGRAPHY

Celui-ci utilise la fonction ST_AREA avec des objets GEOGRAPHY pour calculer l’aire de la surface de la Terre 1 degré de chaque côté avec le bas de l’aire sur l’équateur :

SELECT ST_AREA(TO_GEOGRAPHY('POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))')) AS area; +------------------+ | AREA | |------------------| | 12364036567.0764 | +------------------+ 
Copy

Exemples GEOMETRY

L’exemple suivant appelle la fonction ST_AREA avec des objets GEOMETRY qui représentent un Point, une LineString et un Polygone.

SELECT ST_AREA(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))')); 
Copy
+------------+--------------------------------+ | ST_AREA(G) | ST_ASWKT(G) | |------------+--------------------------------| | 0 | POINT(1 1) | | 0 | LINESTRING(0 0,1 1) | | 1 | POLYGON((0 0,0 1,1 1,1 0,0 0)) | +------------+--------------------------------+ 
Copy