PostGIS  3.0.6dev-r@@SVN_REVISION@@

◆ ST_MakeEnvelope()

Datum ST_MakeEnvelope ( PG_FUNCTION_ARGS  )

Definition at line 2011 of file lwgeom_functions_basic.c.

2012 {
2013  LWPOLY *poly;
2014  GSERIALIZED *result;
2015  double x1, y1, x2, y2;
2016  int32_t srid = SRID_UNKNOWN;
2017 
2018  POSTGIS_DEBUG(2, "ST_MakeEnvelope called");
2019 
2020  x1 = PG_GETARG_FLOAT8(0);
2021  y1 = PG_GETARG_FLOAT8(1);
2022  x2 = PG_GETARG_FLOAT8(2);
2023  y2 = PG_GETARG_FLOAT8(3);
2024  if (PG_NARGS() > 4)
2025  {
2026  srid = PG_GETARG_INT32(4);
2027  }
2028 
2029  poly = lwpoly_construct_envelope(srid, x1, y1, x2, y2);
2030 
2031  result = geometry_serialize(lwpoly_as_lwgeom(poly));
2032  lwpoly_free(poly);
2033 
2034  PG_RETURN_POINTER(result);
2035 }
LWGEOM * lwpoly_as_lwgeom(const LWPOLY *obj)
Definition: lwgeom.c:311
LWPOLY * lwpoly_construct_envelope(int32_t srid, double x1, double y1, double x2, double y2)
Definition: lwpoly.c:98
void lwpoly_free(LWPOLY *poly)
Definition: lwpoly.c:175
#define SRID_UNKNOWN
Unknown SRID value.
Definition: liblwgeom.h:229
GSERIALIZED * geometry_serialize(LWGEOM *lwgeom)

References geometry_serialize(), lwpoly_as_lwgeom(), lwpoly_construct_envelope(), lwpoly_free(), and SRID_UNKNOWN.

Here is the call graph for this function: