659 geom = PG_GETARG_GSERIALIZED_P(0);
662 lwpgerror(
"Argument to ST_Z() must be a point");
675 PG_FREE_IF_COPY(geom, 0);
677 PG_RETURN_FLOAT8(p.
z);
uint32_t gserialized_get_type(const GSERIALIZED *s)
Extract the geometry type from the serialized form (it hides in the anonymous data area...
LWGEOM * lwgeom_from_gserialized(const GSERIALIZED *g)
Allocate a new LWGEOM from a GSERIALIZED.
LWPOINT * lwgeom_as_lwpoint(const LWGEOM *lwgeom)
int gserialized_has_z(const GSERIALIZED *gser)
Check if a GSERIALIZED has a Z ordinate.
int getPoint3dz_p(const POINTARRAY *pa, int n, POINT3DZ *point)
#define POINTTYPE
LWTYPE numbers, used internally by PostGIS.
int lwgeom_is_empty(const LWGEOM *geom)
Return true or false depending on whether a geometry is an "empty" geometry (no vertices members) ...