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

◆ LWGEOM_makepoint()

Datum LWGEOM_makepoint ( PG_FUNCTION_ARGS  )

Definition at line 2169 of file lwgeom_functions_basic.c.

2170{
2171 double x, y, z, m;
2172 LWPOINT *point;
2174
2175 POSTGIS_DEBUG(2, "LWGEOM_makepoint called");
2176
2177 x = PG_GETARG_FLOAT8(0);
2178 y = PG_GETARG_FLOAT8(1);
2179
2180 if (PG_NARGS() == 2)
2181 point = lwpoint_make2d(SRID_UNKNOWN, x, y);
2182 else if (PG_NARGS() == 3)
2183 {
2184 z = PG_GETARG_FLOAT8(2);
2185 point = lwpoint_make3dz(SRID_UNKNOWN, x, y, z);
2186 }
2187 else if (PG_NARGS() == 4)
2188 {
2189 z = PG_GETARG_FLOAT8(2);
2190 m = PG_GETARG_FLOAT8(3);
2191 point = lwpoint_make4d(SRID_UNKNOWN, x, y, z, m);
2192 }
2193 else
2194 {
2195 elog(ERROR, "LWGEOM_makepoint: unsupported number of args: %d", PG_NARGS());
2196 PG_RETURN_NULL();
2197 }
2198
2199 result = geometry_serialize((LWGEOM *)point);
2200
2201 PG_RETURN_POINTER(result);
2202}
char result[OUT_DOUBLE_BUFFER_SIZE]
Definition cu_print.c:267
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:215

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

Here is the call graph for this function: