Kategorien:

Geodatenfunktionen

ST_ENVELOPE

Gibt den minimalen Begrenzungsrahmen (eine rechteckige „Hülle“) zurück, der ein angegebenes GEOGRAPHY-Objekt einschließt.

Syntax

ST_ENVELOPE( <geography_expression> )

Argumente

Geografischer_Ausdruck

Das Argument muss vom Typ GEOGRAPHY sein.

Rückgabewerte

Die Funktion gibt einen Wert vom Typ GEOGRAPHY zurück, der den minimalen Begrenzungsrahmen um das GEOGRAPHY-Eingabeobjekt repräsentiert.

Nutzungshinweise

  • Wenn geografischer_Ausdruck ein LineString-Objekt ist, der einen Meridianbogen (einen Bogen entlang einer Längengradlinie) repräsentiert, gibt ST_ENVELOPE dieses LineString-Objekt zurück.

  • Wenn geografischer_Ausdruck ein LineString ist, der einen Bogen auf einer anderen Parallele (einem Bogen entlang einer Breitengradlinie) als dem Äquator repräsentiert, gibt ST_ENVELOPE ein Polygon zurück, das den Begrenzungsrahmen für den Bogen repräsentiert.

  • Wenn geografischer_Ausdruck ein einzelner Punkt ist, gibt ST_ENVELOPE diesen Punkt zurück.

Beispiele

Im folgenden Beispiel wird der minimale Begrenzungsrahmen für ein Polygon zurückgegeben:

SELECT ST_ENVELOPE(
    TO_GEOGRAPHY(
        'POLYGON((-122.306067 37.55412, -122.32328 37.561801, -122.325879 37.586852, -122.306067 37.55412))'
    )
) as minimum_bounding_box_around_polygon;
+-----------------------------------------------------------------------------------------------------------------------+
| MINIMUM_BOUNDING_BOX_AROUND_POLYGON                                                                                   |
|-----------------------------------------------------------------------------------------------------------------------|
| POLYGON((-122.325879 37.55412,-122.306067 37.55412,-122.306067 37.586852,-122.325879 37.586852,-122.325879 37.55412)) |
+-----------------------------------------------------------------------------------------------------------------------+

Das folgende Beispiel übergibt ein LineString-Objekt, das einen Meridianbogen repräsentiert. Die Funktion gibt dasselbe LineString-Objekt anstelle eines Polygons zurück.

SELECT ST_ENVELOPE(
    TO_GEOGRAPHY(
        'LINESTRING(-122.32328 37.561801, -122.32328 37.562001)'
    )
) as minimum_bounding_box_around_meridian_arc;
+-------------------------------------------------------+
| MINIMUM_BOUNDING_BOX_AROUND_MERIDIAN_ARC              |
|-------------------------------------------------------|
| LINESTRING(-122.32328 37.561801,-122.32328 37.562001) |
+-------------------------------------------------------+

Das folgende Beispiel übergibt ein LineString-Objekt, das einen Bogen auf einer Parallele darstellt, die nicht der Äquator ist. Die Funktion gibt ein Polygon zurück, das den Begrenzungsrahmen repräsentiert:

SELECT ST_ENVELOPE(
    TO_GEOGRAPHY(
        'LINESTRING(-122.32328 37.561801,-122.32351 37.561801)'
    )
) as minimum_bounding_box_around_arc_along_parallel;
+---------------------------------------------------------------------------------------------------------------------+
| MINIMUM_BOUNDING_BOX_AROUND_ARC_ALONG_PARALLEL                                                                      |
|---------------------------------------------------------------------------------------------------------------------|
| POLYGON((-122.32351 37.561801,-122.32328 37.561801,-122.32328 37.561801,-122.32351 37.561801,-122.32351 37.561801)) |
+---------------------------------------------------------------------------------------------------------------------+

Das folgende Beispiel wird in einem einzelnen Punkt übergeben. Die Funktion gibt denselben Punkt zurück:

SELECT ST_ENVELOPE(
    TO_GEOGRAPHY(
        'POINT(-122.32328 37.561801)'
    )
) as minimum_bounding_box_around_point;
+-----------------------------------+
| MINIMUM_BOUNDING_BOX_AROUND_POINT |
|-----------------------------------|
| POINT(-122.32328 37.561801)       |
+-----------------------------------+