カテゴリ:

地理空間関数

ST_AREA

GEOGRAPHY オブジェクト内のポリゴンの面積を平方メートルで返します。

構文

ST_AREA( <geography_expression> )

引数

地理式

引数は GEOGRAPHY 型でなければなりません。

戻り値

面積を平方メートルで表す REAL 値を返します。

使用上の注意

  • 地理式 がポリゴン、 MultiPolygon、またはポリゴンを含む GeometryCollection でない場合、 ST_AREA は0を返します。

  • 地理式 が GeometryCollection の場合、 ST_AREA はコレクション内のポリゴンの面積の合計を返します。

これは、 ST_AREA 関数を使用して、赤道上領域の底辺にし、地球表面の両側の面積を1°ずつ計算します。

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 |
+------------------+------------------+--------------------+------------------+