カテゴリ:

地理空間関数

ST_AREA

GEOGRAPHY または GEOMETRY オブジェクトのポリゴンの面積を返します。

構文

ST_AREA( <geography_or_geometry_expression> )
Copy

引数

geography_or_geometry_expression

引数の型は GEOGRAPHY または GEOMETRY にする必要があります。

戻り値

面積を表す REAL 値を返します。

  • GEOGRAPHY 入力値の場合、面積は平方メートルです。

  • GEOMETRY 入力値の場合、面積は、入力座標の定義に使用されたのと同じ単位で計算されます。

使用上の注意

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

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

GEOGRAPHY 例

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

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

GEOMETRY 例

次の例では、ポイント、 LineString、およびポリゴンを表す GEOMETRY オブジェクトで ST_AREA 関数を呼び出します。

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