112{
115 char *input_srs, *output_srs;
117 int rv;
118
119
120 gser = PG_GETARG_GSERIALIZED_P_COPY(0);
121
122
125 result_srid = PG_GETARG_INT32(3);
126
127
130 pfree(input_srs);
131 pfree(output_srs);
132
134 {
135 elog(ERROR, "coordinate transformation failed");
136 PG_RETURN_NULL();
137 }
138
139
140 geom->
srid = result_srid;
143
146 PG_FREE_IF_COPY(gser, 0);
147
148 PG_RETURN_POINTER(gser_result);
149}
LWGEOM * lwgeom_from_gserialized(const GSERIALIZED *g)
Allocate a new LWGEOM from a GSERIALIZED.
void lwgeom_refresh_bbox(LWGEOM *lwgeom)
Drop current bbox and calculate a fresh one.
void lwgeom_free(LWGEOM *geom)
int lwgeom_transform_from_str(LWGEOM *geom, const char *instr, const char *outstr)
char * text_to_cstring(const text *textptr)
GSERIALIZED * geometry_serialize(LWGEOM *lwgeom)