Categorias:

Funções geoespaciais

ST_XMAX

Retorna a longitude máxima (coordenada X) de todos os pontos contidos no objeto GEOGRAPHY ou GEOMETRY especificado.

Sintaxe

ST_XMAX( <geography_or_geometry_expression> )
Copy

Argumentos

geography_or_geometry_expression

O argumento deve ser uma expressão do tipo GEOGRAPHY ou GEOMETRY.

Retornos

Retorna um valor REAL.

Notas de uso

  • Se o objeto geoespacial estiver no antimeridiano ou o cruzar, a função retornará 180.

Exemplos

Exemplos GEOGRAPHY

Isso mostra um uso simples das funções ST_XMIN, ST_XMAX, ST_YMIN, e ST_YMAX:

CREATE or replace TABLE extreme_point_collection (id INTEGER, g GEOGRAPHY);
INSERT INTO extreme_point_collection (id, g)
    SELECT column1, TO_GEOGRAPHY(column2) FROM VALUES
        (1, 'POINT(-180 0)'),
        (2, 'POINT(180 0)'),
        (3, 'LINESTRING(-179 0, 179 0)'),
        (4, 'LINESTRING(-60 30, 60 30)'),
        (5, 'LINESTRING(-60 -30, 60 -30)');
Copy
SELECT
    g,
    ST_XMIN(g),
    ST_XMAX(g),
    ST_YMIN(g),
    ST_YMAX(g)
  FROM extreme_point_collection
  ORDER BY id;
+----------------------------+------------+------------+-------------------+-------------------+
| G                          | ST_XMIN(G) | ST_XMAX(G) |        ST_YMIN(G) |        ST_YMAX(G) |
|----------------------------+------------+------------+-------------------+-------------------|
| POINT(-180 0)              |       -180 |        180 |   0               |   0               |
| POINT(180 0)               |       -180 |        180 |   0               |   0               |
| LINESTRING(-179 0,179 0)   |       -180 |        180 |  -6.883275617e-14 |   6.883275617e-14 |
| LINESTRING(-60 30,60 30)   |        -60 |         60 |  30               |  49.106605351     |
| LINESTRING(-60 -30,60 -30) |        -60 |         60 | -49.106605351     | -30               |
+----------------------------+------------+------------+-------------------+-------------------+
Copy