- Kategorien:
ST_ENVELOPE¶
Gibt den minimalen Begrenzungsrahmen (eine rechteckige „Hülle“) zurück, der ein angegebenes Objekt vom Typ GEOGRAPHY oder GEOMETRY umschließt.
Syntax¶
ST_ENVELOPE( <geography_or_geometry_expression> )
Argumente¶
geography_or_geometry_expression
Das Argument muss vom Datentyp GEOGRAPHY oder GEOMETRY sein.
Rückgabewerte¶
Die Funktion gibt einen Wert vom Typ GEOGRAPHY oder GEOMETRY zurück, der den minimalen Begrenzungsrahmen um das -Eingabeobjekt repräsentiert.
Nutzungshinweise¶
GEOGRAPHY-Objekte:
Wenn
geography_expression
ein LineString-Objekt ist, der einen Meridianbogen (einen Bogen entlang einer Längengradlinie) repräsentiert, gibt ST_ENVELOPE dieses LineString-Objekt zurück.Wenn
geography_expression
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
geography_expression
ein einzelner Punkt ist, gibt ST_ENVELOPE diesen Punkt zurück.
GEOMETRY-Objekte:
In degenerierten Fällen (z. B. wenn das Eingabeobjekt ein Punkt oder eine vertikale oder horizontale Linie ist) kann die Funktion eine Geometrie niedrigerer Dimension zurückgeben (d. h. einen Punkt oder einen LineString).
Bei GEOMETRY-Objekten hat das zurückgegebene GEOMETRY-Objekt dieselbe SRID wie das Eingabeobjekt.
Beispiele¶
GEOGRAPHY-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) | +-----------------------------------+