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

◆ test_lwgeom_is_trajectory()

static void test_lwgeom_is_trajectory ( void  )
static

Definition at line 1540 of file cu_measures.c.

1541{
1542 LWGEOM *g;
1543 int ret;
1544
1545 g = lwgeom_from_wkt("POINT M(0 0 1)", LW_PARSER_CHECK_NONE);
1546 ret = lwgeom_is_trajectory(g);
1547 lwgeom_free(g);
1548 ASSERT_INT_EQUAL(ret, LW_FALSE); /* not a linestring */
1549
1550 g = lwgeom_from_wkt("LINESTRING Z(0 0 1, 0 0 1)", LW_PARSER_CHECK_NONE);
1551 ret = lwgeom_is_trajectory(g);
1552 lwgeom_free(g);
1553 ASSERT_INT_EQUAL(ret, LW_FALSE); /* no measure */
1554
1555 g = lwgeom_from_wkt("LINESTRING M(0 0 1, 0 0 1)", LW_PARSER_CHECK_NONE);
1556 ret = lwgeom_is_trajectory(g);
1557 lwgeom_free(g);
1558 ASSERT_INT_EQUAL(ret, LW_FALSE); /* same measure in two points */
1559
1560 g = lwgeom_from_wkt("LINESTRING M(0 0 1, 0 0 0)", LW_PARSER_CHECK_NONE);
1561 ret = lwgeom_is_trajectory(g);
1562 lwgeom_free(g);
1563 ASSERT_INT_EQUAL(ret, LW_FALSE); /* backward measure */
1564
1565 g = lwgeom_from_wkt("LINESTRING M(0 0 1, 1 0 3, 2 2 2)", LW_PARSER_CHECK_NONE);
1566 ret = lwgeom_is_trajectory(g);
1567 lwgeom_free(g);
1568 ASSERT_INT_EQUAL(ret, LW_FALSE); /* backward measure */
1569
1570 g = lwgeom_from_wkt("LINESTRING M(0 0 1, 0 0 2)", LW_PARSER_CHECK_NONE);
1571 ret = lwgeom_is_trajectory(g);
1572 lwgeom_free(g);
1573 ASSERT_INT_EQUAL(ret, LW_TRUE); /* ok (still) */
1574
1575 g = lwgeom_from_wkt("LINESTRING M EMPTY", LW_PARSER_CHECK_NONE);
1576 ret = lwgeom_is_trajectory(g);
1577 lwgeom_free(g);
1578 ASSERT_INT_EQUAL(ret, LW_TRUE); /* ok (empty) */
1579
1580 g = lwgeom_from_wkt("LINESTRING M (0 0 1)", LW_PARSER_CHECK_NONE);
1581 ret = lwgeom_is_trajectory(g);
1582 lwgeom_free(g);
1583 ASSERT_INT_EQUAL(ret, LW_TRUE); /* ok (corner case) */
1584}
#define ASSERT_INT_EQUAL(o, e)
#define LW_FALSE
Definition liblwgeom.h:94
void lwgeom_free(LWGEOM *geom)
Definition lwgeom.c:1246
#define LW_PARSER_CHECK_NONE
Definition liblwgeom.h:2149
int lwgeom_is_trajectory(const LWGEOM *geom)
Return LW_TRUE or LW_FALSE depending on whether or not a geometry is a linestring with measure value ...
Definition lwgeom.c:2650
#define LW_TRUE
Return types for functions with status returns.
Definition liblwgeom.h:93
LWGEOM * lwgeom_from_wkt(const char *wkt, const char check)
Definition lwin_wkt.c:940

References ASSERT_INT_EQUAL, LW_FALSE, LW_PARSER_CHECK_NONE, LW_TRUE, lwgeom_free(), lwgeom_from_wkt(), and lwgeom_is_trajectory().

Referenced by measures_suite_setup().

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