2382 POSTGIS_DEBUG(2,
"LWGEOM_removepoint called.");
2384 pglwg1 = PG_GETARG_GSERIALIZED_P(0);
2385 which = PG_GETARG_INT32(1);
2389 elog(ERROR,
"First argument must be a LINESTRING");
2395 if (which < 0 || (uint32_t)which > line->
points->
npoints - 1)
2397 elog(ERROR,
"Point index out of range (%u..%u)", 0, line->
points->
npoints - 1);
2403 elog(ERROR,
"Can't remove points from a single segment line");
2414 PG_FREE_IF_COPY(pglwg1, 0);
2415 PG_RETURN_POINTER(
result);
char result[OUT_DOUBLE_BUFFER_SIZE]
LWGEOM * lwgeom_from_gserialized(const GSERIALIZED *g)
Allocate a new LWGEOM from a GSERIALIZED.
uint32_t gserialized_get_type(const GSERIALIZED *g)
Extract the geometry type from the serialized form (it hides in the anonymous data area,...
LWLINE * lwgeom_as_lwline(const LWGEOM *lwgeom)
LWLINE * lwline_removepoint(LWLINE *line, uint32_t which)
void lwline_free(LWLINE *line)