Catégories :

Fonctions géospatiales

ST_AREA

Renvoie l’aire en mètres carrés du ou des polygones dans un objet GEOGRAPHY.

Syntaxe

ST_AREA( <geography_expression> )

Arguments

expression_géographie

L’argument doit être de type GEOGRAPHY.

Renvoie

Renvoie une valeur REAL, qui représente la zone en mètres carrés.

Notes sur l’utilisation

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

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

Exemples

Celui-ci utilise la fonction ST_AREA 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_LENGTH(TO_GEOGRAPHY('LineString(0 0, 0 1)')) AS height,
      ST_LENGTH(TO_GEOGRAPHY('LineString(0 0, 1 0)')) AS width, 
      ST_LENGTH(TO_GEOGRAPHY('LineString(0 0, 0 1)')) * 
        ST_LENGTH(TO_GEOGRAPHY('LineString(0 0, 1 0)')) AS height_times_width,
      ST_AREA(TO_GEOGRAPHY('POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))')) AS area;
+------------------+------------------+--------------------+------------------+
|           HEIGHT |            WIDTH | HEIGHT_TIMES_WIDTH |             AREA |
|------------------+------------------+--------------------+------------------|
| 111195.101177484 | 111195.101177484 |   12364350525.8709 | 12364036567.0764 |
+------------------+------------------+--------------------+------------------+