#define WKB_INT_SIZE 4
#define WKB_BYTE_SIZE 1
-/**
+/*
* Look-up table for hex writer
*/
static char *hexchr = "0123456789ABCDEF";
-/**
+/*
* Optional SRID
*/
static int lwgeom_wkb_needs_srid(const LWGEOM *geom, uchar variant)
return LW_FALSE;
}
-/**
+/*
* GeometryType
*/
static unsigned int lwgeom_wkb_type(const LWGEOM *geom, uchar variant)
return wkb_type;
}
-/**
+/*
* Endian
*/
static char* endian_to_wkb_buf(char *buf, uchar variant)
}
}
-/**
+/*
* SwapBytes?
*/
static int wkb_swap_bytes(uchar variant)
return LW_TRUE;
}
-/**
+/*
* Integer32
*/
static char* int32_to_wkb_buf(const int ival, char *buf, uchar variant)
}
}
-/**
+/*
* Float64
*/
static char* double_to_wkb_buf(const double d, char *buf, uchar variant)
}
-/**
+/*
* Empty
*/
static size_t empty_to_wkb_size(const LWGEOM *geom, uchar variant)
return buf;
}
-/**
+/*
* POINTARRAY
*/
static size_t ptarray_to_wkb_size(const POINTARRAY *pa, uchar variant)
return buf;
}
-/**
+/*
* POINT
*/
static size_t lwpoint_to_wkb_size(const LWPOINT *pt, uchar variant)
return buf;
}
-/**
+/*
* LINESTRING, CIRCULARSTRING
*/
static size_t lwline_to_wkb_size(const LWLINE *line, uchar variant)
return buf;
}
-/**
+/*
* POLYGON
*/
static size_t lwpoly_to_wkb_size(const LWPOLY *poly, uchar variant)
return buf;
}
-/**
+/*
* MULTIPOINT, MULTILINESTRING, MULTIPOLYGON, GEOMETRYCOLLECTION
* MULTICURVE, COMPOUNDCURVE, MULTISURFACE, CURVEPOLYGON
*/
return buf;
}
-/**
+/*
* GEOMETRY
*/
static size_t lwgeom_to_wkb_size(const LWGEOM *geom, uchar variant)
static void lwgeom_to_wkt_sb(const LWGEOM *geom, stringbuffer_t *sb, int precision, uchar variant);
-/**
+/*
* ISO format uses both Z and M qualifiers.
* Extended format only uses an M qualifier for 3DM variants, where it is not
* clear what the third dimension represents.
}
}
-/**
+/*
* Point array is a list of coordinates. Depending on output mode,
* we may suppress some dimensions. ISO and Extended formats include
* all dimensions. Standard OGC output only includes X/Y coordinates.
stringbuffer_append(sb, ")");
}
-/**
+/*
* A four-dimensional point will have different outputs depending on variant.
* ISO: POINT ZM (0 0 0 0)
* Extended: POINT(0 0 0 0)
ptarray_to_wkt_sb(pt->point, sb, precision, variant);
}
-/**
+/*
* LINESTRING(0 0 0, 1 1 1)
*/
static void lwline_to_wkt_sb(const LWLINE *line, stringbuffer_t *sb, int precision, uchar variant)
ptarray_to_wkt_sb(line->points, sb, precision, variant);
}
-/**
+/*
* POLYGON(0 0 1, 1 0 1, 1 1 1, 0 1 1, 0 0 1)
*/
static void lwpoly_to_wkt_sb(const LWPOLY *poly, stringbuffer_t *sb, int precision, uchar variant)
stringbuffer_append(sb, ")");
}
-/**
+/*
* CIRCULARSTRING
*/
static void lwcircstring_to_wkt_sb(const LWCIRCSTRING *circ, stringbuffer_t *sb, int precision, uchar variant)
}
-/**
+/*
* Multi-points do not wrap their sub-members in parens, unlike other multi-geometries.
* MULTPOINT(0 0, 1 1) instead of MULTIPOINT((0 0),(1 1))
*/
stringbuffer_append(sb, ")");
}
-/**
+/*
* MULTILINESTRING
*/
static void lwmline_to_wkt_sb(const LWMLINE *mline, stringbuffer_t *sb, int precision, uchar variant)
stringbuffer_append(sb, ")");
}
-/**
+/*
* MULTIPOLYGON
*/
static void lwmpoly_to_wkt_sb(const LWMPOLY *mpoly, stringbuffer_t *sb, int precision, uchar variant)
stringbuffer_append(sb, ")");
}
-/**
+/*
* Compound curves provide type information for their curved sub-geometries
* but not their linestring sub-geometries.
* COMPOUNDCURVE((0 0, 1 1), CURVESTRING(1 1, 2 2, 3 3))
stringbuffer_append(sb, ")");
}
-/**
+/*
* Curve polygons provide type information for their curved rings
* but not their linestring rings.
* CURVEPOLYGON((0 0, 1 1, 0 1, 0 0), CURVESTRING(0 0, 1 1, 0 1, 0.5 1, 0 0))
}
-/**
+/*
* Multi-curves provide type information for their curved sub-geometries
* but not their linear sub-geometries.
* MULTICURVE((0 0, 1 1), CURVESTRING(0 0, 1 1, 2 2))
}
-/**
+/*
* Multi-surfaces provide type information for their curved sub-geometries
* but not their linear sub-geometries.
* MULTISURFACE(((0 0, 1 1, 1 0, 0 0)), CURVEPOLYGON(CURVESTRING(0 0, 1 1, 2 2, 0 1, 0 0)))
stringbuffer_append(sb, ")");
}
-/**
+/*
* Geometry collections provide type information for all their curved sub-geometries
* but not their linear sub-geometries.
* GEOMETRYCOLLECTION(POLYGON((0 0, 1 1, 1 0, 0 0)), CURVEPOLYGON(CURVESTRING(0 0, 1 1, 2 2, 0 1, 0 0)))
stringbuffer_append(sb, ")");
}
-/**
+/*
* Generic GEOMETRY
*/
static void lwgeom_to_wkt_sb(const LWGEOM *geom, stringbuffer_t *sb, int precision, uchar variant)