Lưu ý
Cần có ủy quyền mới truy nhập được vào trang này. Bạn có thể thử đăng nhập hoặc thay đổi thư mục.
Cần có ủy quyền mới truy nhập được vào trang này. Bạn có thể thử thay đổi thư mục.
Applies to:
Databricks Runtime 18.2 and above
Important
This feature is in Public Preview.
Returns a GEOMETRY value representing the 2D axis-aligned envelope (minimum bounding box) defined by the two corner coordinates (x1, y1) and (x2, y2).
Syntax
st_makeenvelope ( x1, y1, x2, y2 )
Arguments
x1: ADOUBLEvalue, representing the X coordinate of the first corner.y1: ADOUBLEvalue, representing the Y coordinate of the first corner.x2: ADOUBLEvalue, representing the X coordinate of the second corner.y2: ADOUBLEvalue, representing the Y coordinate of the second corner.
Returns
A value of type GEOMETRY, representing the 2D axis-aligned envelope of the two input corners. The SRID of the returned geometry is 0.
The input corners may be provided in any order; the resulting envelope is the same as if the corners were normalized to (xmin, ymin) and (xmax, ymax).
The type of the returned geometry depends on the input corners:
- If the box degenerates to a single point (
x1 = x2andy1 = y2), the result is a point. - If the box degenerates to a segment (
x1 = x2ory1 = y2, but not both), the result is a linestring with two points. - Otherwise, the result is a polygon with five vertices (closed ring).
The function returns NULL if any of the inputs is NULL.
Examples
-- Returns the polygon envelope defined by two corners.
> SELECT st_astext(st_makeenvelope(1.0, 2.0, 4.0, 6.0));
POLYGON((1 2,1 6,4 6,4 2,1 2))
-- Corners may be provided in any order.
> SELECT st_astext(st_makeenvelope(4.0, 6.0, 1.0, 2.0));
POLYGON((1 2,1 6,4 6,4 2,1 2))
-- Returns a point when the box degenerates to a point.
> SELECT st_astext(st_makeenvelope(3.0, 5.0, 3.0, 5.0));
POINT(3 5)
-- Returns a linestring when the box degenerates to a horizontal segment.
> SELECT st_astext(st_makeenvelope(1.0, 0.0, 4.0, 0.0));
LINESTRING(1 0,4 0)
-- Returns a linestring when the box degenerates to a vertical segment.
> SELECT st_astext(st_makeenvelope(0.0, 2.0, 0.0, 7.0));
LINESTRING(0 2,0 7)
-- The SRID of the returned geometry is always 0.
> SELECT st_srid(st_makeenvelope(0.0, 0.0, 10.0, 10.0));
0