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

◆ BOX2D_out()

Datum BOX2D_out ( PG_FUNCTION_ARGS  )

Definition at line 95 of file lwgeom_box.c.

96{
97 char tmp[500] = {'B', 'O', 'X', '(', 0}; /* big enough */
98 static const int precision = 15;
99 char *result;
100 int size = 0;
101
102 GBOX *box = (GBOX *)PG_GETARG_POINTER(0);
103 /* Avoid unaligned access to the gbox struct */
104 GBOX box_aligned;
105 memcpy(&box_aligned, box, sizeof(GBOX));
106
107 size = 4;
108 size += lwprint_double(box_aligned.xmin, precision, &tmp[size]);
109 tmp[size++] = ' ';
110 size += lwprint_double(box_aligned.ymin, precision, &tmp[size]);
111 tmp[size++] = ',';
112 size += lwprint_double(box_aligned.xmax, precision, &tmp[size]);
113 tmp[size++] = ' ';
114 size += lwprint_double(box_aligned.ymax, precision, &tmp[size]);
115
116 tmp[size++] = ')';
117 size += 1;
118
119 result = palloc(size + 1); /* +1= null term */
120 memcpy(result, tmp, size + 1);
121 result[size] = '\0';
122
123 PG_RETURN_CSTRING(result);
124}
static uint8_t precision
Definition cu_in_twkb.c:25
char result[OUT_DOUBLE_BUFFER_SIZE]
Definition cu_print.c:267
int lwprint_double(double d, int maxdd, char *buf)
Definition lwprint.c:463
double ymax
Definition liblwgeom.h:357
double xmax
Definition liblwgeom.h:355
double ymin
Definition liblwgeom.h:356
double xmin
Definition liblwgeom.h:354

References lwprint_double(), precision, result, GBOX::xmax, GBOX::xmin, GBOX::ymax, and GBOX::ymin.

Here is the call graph for this function: