Construct an rt_raster from a text HEXWKB representation.
- Parameters
-
hexwkb | : an hex-encoded stream |
hexwkbsize | : size (in bytes) of the hexwkb stream |
- Returns
- an rt_raster or NULL on error (out of memory or malformed WKB).
Definition at line 406 of file rt_wkb.c.
412 assert(NULL != hexwkb);
417 if (hexwkbsize % 2) {
418 rterror(
"rt_raster_from_hexwkb: Raster HEXWKB input must have an even number of characters");
421 wkbsize = hexwkbsize / 2;
425 rterror(
"rt_raster_from_hexwkb: Out of memory allocating memory for decoding HEXWKB");
430 for (i = 0; i < wkbsize; ++i) {
431 wkb[i] =
parse_hex((
char*) & (hexwkb[i * 2]));
uint8_t parse_hex(char *str)
Convert a single hex digit into the corresponding char.
void rterror(const char *fmt,...)
Wrappers used for reporting errors and info.
void * rtalloc(size_t size)
Wrappers used for managing memory.
#define RASTER_DEBUGF(level, msg,...)
void rtdealloc(void *mem)
rt_raster rt_raster_from_wkb(const uint8_t *wkb, uint32_t wkbsize)
Construct an rt_raster from a binary WKB representation.
References parse_hex(), RASTER_DEBUGF, rt_raster_from_wkb(), rtalloc(), rtdealloc(), and rterror().
Referenced by RASTER_fromHexWKB(), RASTER_in(), and test_raster_wkb().