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

◆ test_gserialized_from_lwgeom()

static void test_gserialized_from_lwgeom ( void  )
static

Definition at line 894 of file cu_geodetic.c.

895{
896 LWGEOM *geom;
897 GSERIALIZED *g;
898 uint32_t type;
899 double *inspect; /* To poke right into the blob. */
900
901 geom = lwgeom_from_wkt("POINT(0 0.2)", LW_PARSER_CHECK_NONE);
902 FLAGS_SET_GEODETIC(geom->flags, 1);
903 g = gserialized_from_lwgeom(geom, 0);
905 CU_ASSERT_EQUAL( type, POINTTYPE );
906 inspect = (double*)g;
907 CU_ASSERT_EQUAL(inspect[3], 0.2);
908 lwgeom_free(geom);
909 lwfree(g);
910
911 geom = lwgeom_from_wkt("POLYGON((-1 -1, -1 2.5, 2 2, 2 -1, -1 -1), (0 0, 0 1, 1 1, 1 0, 0 0))", LW_PARSER_CHECK_NONE);
912 FLAGS_SET_GEODETIC(geom->flags, 1);
913 g = gserialized_from_lwgeom(geom, 0);
915 CU_ASSERT_EQUAL( type, POLYGONTYPE );
916 inspect = (double*)g;
917 CU_ASSERT_EQUAL(inspect[9], 2.5);
918 lwgeom_free(geom);
919 lwfree(g);
920
921 geom = lwgeom_from_wkt("MULTILINESTRING((0 0, 1 1),(0 0.1, 1 1))", LW_PARSER_CHECK_NONE);
922 FLAGS_SET_GEODETIC(geom->flags, 1);
923 g = gserialized_from_lwgeom(geom, 0);
925 CU_ASSERT_EQUAL( type, MULTILINETYPE );
926 inspect = (double*)g;
927 CU_ASSERT_EQUAL(inspect[12], 0.1);
928 lwgeom_free(geom);
929 lwfree(g);
930
931}
GSERIALIZED * gserialized_from_lwgeom(LWGEOM *geom, size_t *size)
Allocate a new GSERIALIZED from an LWGEOM.
uint32_t gserialized_get_type(const GSERIALIZED *g)
Extract the geometry type from the serialized form (it hides in the anonymous data area,...
void lwgeom_free(LWGEOM *geom)
Definition lwgeom.c:1246
#define LW_PARSER_CHECK_NONE
Definition liblwgeom.h:2149
#define MULTILINETYPE
Definition liblwgeom.h:106
#define POINTTYPE
LWTYPE numbers, used internally by PostGIS.
Definition liblwgeom.h:102
void lwfree(void *mem)
Definition lwutil.c:248
#define POLYGONTYPE
Definition liblwgeom.h:104
#define FLAGS_SET_GEODETIC(flags, value)
Definition liblwgeom.h:175
LWGEOM * lwgeom_from_wkt(const char *wkt, const char check)
Definition lwin_wkt.c:940
lwflags_t flags
Definition liblwgeom.h:461

References LWGEOM::flags, FLAGS_SET_GEODETIC, gserialized_from_lwgeom(), gserialized_get_type(), LW_PARSER_CHECK_NONE, lwfree(), lwgeom_free(), lwgeom_from_wkt(), MULTILINETYPE, POINTTYPE, and POLYGONTYPE.

Referenced by geodetic_suite_setup().

Here is the call graph for this function:
Here is the caller graph for this function: