Catégories :

Fonctions géospatiales

ST_ENVELOPE

Returns the minimum bounding box (a rectangular « envelope ») that encloses a specified GEOGRAPHY or GEOMETRY object.

Syntaxe

ST_ENVELOPE( <geography_or_geometry_expression> )

Arguments

geography_or_geometry_expression

The argument must be of type GEOGRAPHY or GEOMETRY.

Renvoie

The function returns a value of type GEOGRAPHY or GEOMETRY that represents the minimum bounding box around the input object.

Notes sur l’utilisation

  • For GEOGRAPHY objects:

    • Si geography_expression est un LineString qui représente un arc méridien (un arc le long d’une ligne de longitude), ST_ENVELOPE renvoie ce LineString.

    • Si geography_expression est un LineString qui représente un arc sur un parallèle (un arc le long d’une ligne de latitude) autre que l’équateur, ST_ENVELOPE renvoie un polygone qui représente la zone de délimitation de l’arc.

    • Si geography_expression est un point unique, ST_ENVELOPE renvoie ce point.

  • For GEOMETRY objects:

    • In degenerate cases (e.g. where the input is a point or a vertical or horizontal line), the function may return a geometry of lower dimension (i.e. a Point or LineString).

    • For GEOMETRY objects, the returned GEOMETRY object has the same SRID as the input.

Exemples

GEOGRAPHY Examples

L’exemple suivant renvoie la zone de délimitation minimale d’un polygone :

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

L’exemple suivant valide un LineString qui représente un arc méridien. La fonction renvoie le même LineString, plutôt qu’un polygone.

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

L’exemple suivant valide un LineString qui représente un arc sur un parallèle qui n’est pas l’équateur. La fonction renvoie un polygone qui représente la zone de délimitation :

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

L’exemple suivant valide un point unique. La fonction renvoie le même point :

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

GEOMETRY Examples

Revenir au début