628 char *encodedpolyline;
632 if ( PG_ARGISNULL(0) ) PG_RETURN_NULL();
634 geom = PG_GETARG_GSERIALIZED_P(0);
636 PG_FREE_IF_COPY(geom, 0);
637 elog(ERROR,
"Only SRID 4326 is supported.");
642 if (PG_NARGS() > 1 && !PG_ARGISNULL(1))
644 precision = PG_GETARG_INT32(1);
645 if ( precision < 0 ) precision = 5;
650 PG_FREE_IF_COPY(geom, 0);
652 result = cstring2text(encodedpolyline);
655 PG_RETURN_TEXT_P(result);
LWGEOM * lwgeom_from_gserialized(const GSERIALIZED *g)
Allocate a new LWGEOM from a GSERIALIZED.
void lwgeom_free(LWGEOM *geom)
char * lwgeom_to_encoded_polyline(const LWGEOM *geom, int precision)
int32_t gserialized_get_srid(const GSERIALIZED *s)
Extract the SRID from the serialized form (it is packed into three bytes so this is a handy function)...