Kategorien:

Geodatenfunktionen

ST_AREA

Gibt die Fläche der Polygone in einem Objekt vom Typ GEOGRAPHY oder GEOMETRY zurück.

Syntax

ST_AREA( <geography_or_geometry_expression> )
Copy

Argumente

geography_or_geometry_expression

Das Argument muss vom Datentyp GEOGRAPHY oder GEOMETRY sein.

Rückgabewerte

Gibt einen REAL-Wert zurück, der die Fläche repräsentiert.

  • Bei Eingabewerten vom Typ GEOGRAPHY wird die Fläche in Quadratmetern angegeben.

  • Bei Eingabewerten vom Typ GEOMETRY wird die Fläche mit den Einheiten berechnet, die zur Definition der Eingabekoordinaten verwendet wurden.

Nutzungshinweise

  • Wenn geography_expression weder ein Polygon noch ein MultiPolygon oder eine GeometryCollection ist, die Polygone enthält, gibt ST_AREA den Wert 0 zurück.

  • Wenn geography_expression eine GeometryCollection ist, gibt ST_AREA die Summe der Flächen der Polygone in der Collection zurück.

Beispiele

GEOGRAPHY-Beispiele

In diesem Beispiel wird die Funktion ST_AREA mit GEOGRAPHY-Objekten verwendet, um die Fläche der Erdoberfläche mit 1 Grad auf jeder Seite zu berechnen, wobei der untere Flächenrand am Äquator liegt:

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

GEOMETRY-Beispiele

Im folgenden Beispiel wird die Funktion ST_AREA mit GEOMETRY-Objekten aufgerufen, die einen Punkt, einen LineString und ein Polygon darstellen.

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