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

◆ LWGEOM_asText()

Datum LWGEOM_asText ( PG_FUNCTION_ARGS  )

Definition at line 821 of file lwgeom_ogc.c.

822{
823 GSERIALIZED *geom;
824 LWGEOM *lwgeom;
825 char *wkt;
826 size_t wkt_size;
827 text *result;
828 int dbl_dig_for_wkt = DBL_DIG;
829
830 POSTGIS_DEBUG(2, "Called.");
831
832 geom = PG_GETARG_GSERIALIZED_P(0);
833 lwgeom = lwgeom_from_gserialized(geom);
834
835 if (PG_NARGS() > 1) dbl_dig_for_wkt = PG_GETARG_INT32(1);
836
837 /* Write to WKT and free the geometry */
838 wkt = lwgeom_to_wkt(lwgeom, WKT_ISO, dbl_dig_for_wkt, &wkt_size);
839 lwgeom_free(lwgeom);
840 POSTGIS_DEBUGF(3, "WKT size = %u, WKT length = %u", (unsigned int)wkt_size, (unsigned int)strlen(wkt));
841
842 /* Write to text and free the WKT */
843 result = cstring_to_text(wkt);
844 lwfree(wkt);
845
846 /* Return the text */
847 PG_FREE_IF_COPY(geom, 0);
848 PG_RETURN_TEXT_P(result);
849}
LWGEOM * lwgeom_from_gserialized(const GSERIALIZED *g)
Allocate a new LWGEOM from a GSERIALIZED.
void lwgeom_free(LWGEOM *geom)
Definition lwgeom.c:1138
char * lwgeom_to_wkt(const LWGEOM *geom, uint8_t variant, int precision, size_t *size_out)
WKT emitter function.
Definition lwout_wkt.c:676
void lwfree(void *mem)
Definition lwutil.c:242
#define WKT_ISO
Definition liblwgeom.h:2130

References lwfree(), lwgeom_free(), lwgeom_from_gserialized(), lwgeom_to_wkt(), and WKT_ISO.

Here is the call graph for this function: