PostGIS 3.0.6dev-r@@SVN_REVISION@@
Loading...
Searching...
No Matches

◆ LWGEOM_makepoint()

Datum LWGEOM_makepoint ( PG_FUNCTION_ARGS  )

Definition at line 2125 of file lwgeom_functions_basic.c.

2126{
2127 double x, y, z, m;
2128 LWPOINT *point;
2129 GSERIALIZED *result;
2130
2131 POSTGIS_DEBUG(2, "LWGEOM_makepoint called");
2132
2133 x = PG_GETARG_FLOAT8(0);
2134 y = PG_GETARG_FLOAT8(1);
2135
2136 if (PG_NARGS() == 2)
2137 point = lwpoint_make2d(SRID_UNKNOWN, x, y);
2138 else if (PG_NARGS() == 3)
2139 {
2140 z = PG_GETARG_FLOAT8(2);
2141 point = lwpoint_make3dz(SRID_UNKNOWN, x, y, z);
2142 }
2143 else if (PG_NARGS() == 4)
2144 {
2145 z = PG_GETARG_FLOAT8(2);
2146 m = PG_GETARG_FLOAT8(3);
2147 point = lwpoint_make4d(SRID_UNKNOWN, x, y, z, m);
2148 }
2149 else
2150 {
2151 elog(ERROR, "LWGEOM_makepoint: unsupported number of args: %d", PG_NARGS());
2152 PG_RETURN_NULL();
2153 }
2154
2155 result = geometry_serialize((LWGEOM *)point);
2156
2157 PG_RETURN_POINTER(result);
2158}
LWPOINT * lwpoint_make4d(int32_t srid, double x, double y, double z, double m)
Definition lwpoint.c:195
LWPOINT * lwpoint_make3dz(int32_t srid, double x, double y, double z)
Definition lwpoint.c:173
LWPOINT * lwpoint_make2d(int32_t srid, double x, double y)
Definition lwpoint.c:163
#define SRID_UNKNOWN
Unknown SRID value.
Definition liblwgeom.h:229
GSERIALIZED * geometry_serialize(LWGEOM *lwgeom)

References geometry_serialize(), lwpoint_make2d(), lwpoint_make3dz(), lwpoint_make4d(), and SRID_UNKNOWN.

Here is the call graph for this function: