PostGIS  3.4.0dev-r@@SVN_REVISION@@

◆ LWGEOM_makepoint()

Datum LWGEOM_makepoint ( PG_FUNCTION_ARGS  )

Definition at line 2203 of file lwgeom_functions_basic.c.

2204 {
2205  double x, y, z, m;
2206  LWPOINT *point;
2208 
2209  POSTGIS_DEBUG(2, "LWGEOM_makepoint called");
2210 
2211  x = PG_GETARG_FLOAT8(0);
2212  y = PG_GETARG_FLOAT8(1);
2213 
2214  if (PG_NARGS() == 2)
2215  point = lwpoint_make2d(SRID_UNKNOWN, x, y);
2216  else if (PG_NARGS() == 3)
2217  {
2218  z = PG_GETARG_FLOAT8(2);
2219  point = lwpoint_make3dz(SRID_UNKNOWN, x, y, z);
2220  }
2221  else if (PG_NARGS() == 4)
2222  {
2223  z = PG_GETARG_FLOAT8(2);
2224  m = PG_GETARG_FLOAT8(3);
2225  point = lwpoint_make4d(SRID_UNKNOWN, x, y, z, m);
2226  }
2227  else
2228  {
2229  elog(ERROR, "LWGEOM_makepoint: unsupported number of args: %d", PG_NARGS());
2230  PG_RETURN_NULL();
2231  }
2232 
2233  result = geometry_serialize((LWGEOM *)point);
2234 
2235  PG_RETURN_POINTER(result);
2236 }
char result[OUT_DOUBLE_BUFFER_SIZE]
Definition: cu_print.c:262
LWPOINT * lwpoint_make4d(int32_t srid, double x, double y, double z, double m)
Definition: lwpoint.c:195
LWPOINT * lwpoint_make2d(int32_t srid, double x, double y)
Definition: lwpoint.c:163
LWPOINT * lwpoint_make3dz(int32_t srid, double x, double y, double z)
Definition: lwpoint.c:173
#define SRID_UNKNOWN
Unknown SRID value.
Definition: liblwgeom.h:215

References lwpoint_make2d(), lwpoint_make3dz(), lwpoint_make4d(), result, SRID_UNKNOWN, pixval::x, and pixval::y.

Here is the call graph for this function: