| 95 | | rt_band_set_pixel(band, 3, 1, 1.5); |
| 96 | | rt_band_set_pixel(band, 4, 1, 1.5); |
| 97 | | rt_band_set_pixel(band, 5, 1, 2.5); |
| 98 | | rt_band_set_pixel(band, 2, 2, 1.5); |
| 99 | | rt_band_set_pixel(band, 3, 2, 1.5); |
| 100 | | rt_band_set_pixel(band, 4, 2, 1.5); |
| 101 | | rt_band_set_pixel(band, 5, 2, 2.5); |
| 102 | | rt_band_set_pixel(band, 6, 2, 2.5); |
| 103 | | rt_band_set_pixel(band, 1, 3, 1.5); |
| 104 | | rt_band_set_pixel(band, 2, 3, 1.5); |
| 105 | | rt_band_set_pixel(band, 6, 3, 2.5); |
| 106 | | rt_band_set_pixel(band, 7, 3, 2.5); |
| 107 | | rt_band_set_pixel(band, 1, 4, 1.5); |
| 108 | | rt_band_set_pixel(band, 2, 4, 1.5); |
| 109 | | rt_band_set_pixel(band, 6, 4, 2.5); |
| 110 | | rt_band_set_pixel(band, 7, 4, 2.5); |
| 111 | | rt_band_set_pixel(band, 1, 5, 1.5); |
| 112 | | rt_band_set_pixel(band, 2, 5, 1.5); |
| 113 | | rt_band_set_pixel(band, 6, 5, 2.5); |
| 114 | | rt_band_set_pixel(band, 7, 5, 2.5); |
| 115 | | rt_band_set_pixel(band, 2, 6, 1.5); |
| 116 | | rt_band_set_pixel(band, 3, 6, 1.5); |
| 117 | | rt_band_set_pixel(band, 4, 6, 1.5); |
| 118 | | rt_band_set_pixel(band, 5, 6, 2.5); |
| 119 | | rt_band_set_pixel(band, 6, 6, 2.5); |
| 120 | | rt_band_set_pixel(band, 3, 7, 1.5); |
| 121 | | rt_band_set_pixel(band, 4, 7, 1.5); |
| 122 | | rt_band_set_pixel(band, 5, 7, 2.5); |
| | 95 | rt_band_set_pixel(band, 3, 1, 1.8); |
| | 96 | rt_band_set_pixel(band, 4, 1, 1.8); |
| | 97 | rt_band_set_pixel(band, 5, 1, 2.8); |
| | 98 | rt_band_set_pixel(band, 2, 2, 1.8); |
| | 99 | rt_band_set_pixel(band, 3, 2, 1.8); |
| | 100 | rt_band_set_pixel(band, 4, 2, 1.8); |
| | 101 | rt_band_set_pixel(band, 5, 2, 2.8); |
| | 102 | rt_band_set_pixel(band, 6, 2, 2.8); |
| | 103 | rt_band_set_pixel(band, 1, 3, 1.8); |
| | 104 | rt_band_set_pixel(band, 2, 3, 1.8); |
| | 105 | rt_band_set_pixel(band, 6, 3, 2.8); |
| | 106 | rt_band_set_pixel(band, 7, 3, 2.8); |
| | 107 | rt_band_set_pixel(band, 1, 4, 1.8); |
| | 108 | rt_band_set_pixel(band, 2, 4, 1.8); |
| | 109 | rt_band_set_pixel(band, 6, 4, 2.8); |
| | 110 | rt_band_set_pixel(band, 7, 4, 2.8); |
| | 111 | rt_band_set_pixel(band, 1, 5, 1.8); |
| | 112 | rt_band_set_pixel(band, 2, 5, 1.8); |
| | 113 | rt_band_set_pixel(band, 6, 5, 2.8); |
| | 114 | rt_band_set_pixel(band, 7, 5, 2.8); |
| | 115 | rt_band_set_pixel(band, 2, 6, 1.8); |
| | 116 | rt_band_set_pixel(band, 3, 6, 1.8); |
| | 117 | rt_band_set_pixel(band, 4, 6, 1.8); |
| | 118 | rt_band_set_pixel(band, 5, 6, 2.8); |
| | 119 | rt_band_set_pixel(band, 6, 6, 2.8); |
| | 120 | rt_band_set_pixel(band, 3, 7, 1.8); |
| | 121 | rt_band_set_pixel(band, 4, 7, 1.8); |
| | 122 | rt_band_set_pixel(band, 5, 7, 2.8); |
| 1530 | | CHECK_EQUALS_DOUBLE(gv[0].val, 1.5); |
| 1531 | | CHECK(!strcmp(gv[0].geom, "POLYGON ((3 1,3 2,2 2,2 3,1 3,1 6,2 6,2 7,3 7,3 8,5 8,5 6,3 6,3 3,4 3,5 3,5 1,3 1))")); |
| 1532 | | |
| 1533 | | CHECK_EQUALS_DOUBLE(gv[1].val, 0.0); |
| 1534 | | CHECK(!strcmp(gv[1].geom, "POLYGON ((3 3,3 6,6 6,6 3,3 3))")); |
| 1535 | | |
| 1536 | | CHECK_EQUALS_DOUBLE(gv[2].val, 2.5); |
| 1537 | | CHECK(!strcmp(gv[2].geom, "POLYGON ((5 1,5 3,6 3,6 6,5 6,5 8,6 8,6 7,7 7,7 6,8 6,8 3,7 3,7 2,6 2,6 1,5 1))")); |
| 1538 | | |
| 1539 | | CHECK_EQUALS_DOUBLE(gv[3].val, 0.0); |
| 1540 | | CHECK(!strcmp(gv[3].geom, "POLYGON ((0 0,0 9,9 9,9 0,0 0),(6 7,6 8,3 8,3 7,2 7,2 6,1 6,1 3,2 3,2 2,3 2,3 1,6 1,6 2,7 2,7 3,8 3,8 6,7 6,7 7,6 7))")); |
| | 1530 | #if GDALFPOLYGONIZE == 1 |
| | 1531 | CHECK_EQUALS_DOUBLE(gv[0].val, 1.8); |
| | 1532 | #else |
| | 1533 | CHECK_EQUALS_DOUBLE(gv[0].val, 2.0); |
| | 1534 | #endif |
| | 1535 | |
| | 1536 | CHECK(!strcmp(gv[0].geom, "POLYGON ((3 1,3 2,2 2,2 3,1 3,1 6,2 6,2 7,3 7,3 8,5 8,5 6,3 6,3 3,4 3,5 3,5 1,3 1))")); |
| | 1537 | |
| | 1538 | CHECK_EQUALS_DOUBLE(gv[1].val, 0.0); |
| | 1539 | CHECK(!strcmp(gv[1].geom, "POLYGON ((3 3,3 6,6 6,6 3,3 3))")); |
| | 1540 | |
| | 1541 | #if GDALFPOLYGONIZE == 1 |
| | 1542 | CHECK_EQUALS_DOUBLE(gv[2].val, 2.8); |
| | 1543 | #else |
| | 1544 | CHECK_EQUALS_DOUBLE(gv[2].val, 3.0); |
| | 1545 | #endif |
| | 1546 | |
| | 1547 | CHECK(!strcmp(gv[2].geom, "POLYGON ((5 1,5 3,6 3,6 6,5 6,5 8,6 8,6 7,7 7,7 6,8 6,8 3,7 3,7 2,6 2,6 1,5 1))")); |
| | 1548 | |
| | 1549 | CHECK_EQUALS_DOUBLE(gv[3].val, 0.0); |
| | 1550 | CHECK(!strcmp(gv[3].geom, "POLYGON ((0 0,0 9,9 9,9 0,0 0),(6 7,6 8,3 8,3 7,2 7,2 6,1 6,1 3,2 3,2 2,3 2,3 1,6 1,6 2,7 2,7 3,8 3,8 6,7 6,7 7,6 7))")); |
| 1546 | | /* Second test: NODATA value = 1.5 */ |
| 1547 | | rt = fillRasterToPolygonize(1, 1.5); |
| 1548 | | |
| 1549 | | /* We can check rt_raster_has_no_band here too */ |
| 1550 | | CHECK(!rt_raster_has_no_band(rt, 1)); |
| 1551 | | |
| 1552 | | nPols = 0; |
| 1553 | | |
| 1554 | | gv = (rt_geomval) rt_raster_dump_as_wktpolygons(rt, 1, &nPols); |
| 1555 | | |
| 1556 | | |
| 1557 | | CHECK_EQUALS_DOUBLE(gv[0].val, 0.0); |
| 1558 | | CHECK(!strcmp(gv[0].geom, "POLYGON ((3 3,3 6,6 6,6 3,3 3))")); |
| 1559 | | |
| 1560 | | CHECK_EQUALS_DOUBLE(gv[1].val, 2.5); |
| 1561 | | CHECK(!strcmp(gv[1].geom, "POLYGON ((5 1,5 3,6 3,6 6,5 6,5 8,6 8,6 7,7 7,7 6,8 6,8 3,7 3,7 2,6 2,6 1,5 1))")); |
| 1562 | | |
| 1563 | | CHECK_EQUALS_DOUBLE(gv[2].val, 0.0); |
| 1564 | | CHECK(!strcmp(gv[2].geom, "POLYGON ((0 0,0 9,9 9,9 0,0 0),(6 7,6 8,3 8,3 7,2 7,2 6,1 6,1 3,2 3,2 2,3 2,3 1,6 1,6 2,7 2,7 3,8 3,8 6,7 6,7 7,6 7))")); |
| | 1556 | /* Second test: NODATA value = 1.8 */ |
| | 1557 | #if GDALFPOLYGONIZE == 1 |
| | 1558 | rt = fillRasterToPolygonize(1, 1.8); |
| | 1559 | #else |
| | 1560 | rt = fillRasterToPolygonize(1, 2.0); |
| | 1561 | #endif |
| | 1562 | |
| | 1563 | |
| | 1564 | /* We can check rt_raster_has_no_band here too */ |
| | 1565 | CHECK(!rt_raster_has_no_band(rt, 1)); |
| | 1566 | |
| | 1567 | nPols = 0; |
| | 1568 | |
| | 1569 | gv = (rt_geomval) rt_raster_dump_as_wktpolygons(rt, 1, &nPols); |
| | 1570 | |
| | 1571 | CHECK_EQUALS_DOUBLE(gv[0].val, 0.0); |
| | 1572 | CHECK(!strcmp(gv[0].geom, "POLYGON ((3 3,3 6,6 6,6 3,3 3))")); |
| | 1573 | |
| | 1574 | #if GDALFPOLYGONIZE == 1 |
| | 1575 | CHECK_EQUALS_DOUBLE(gv[1].val, 2.8); |
| | 1576 | #else |
| | 1577 | CHECK_EQUALS_DOUBLE(gv[1].val, 3.0); |
| | 1578 | #endif |
| | 1579 | |
| | 1580 | CHECK(!strcmp(gv[1].geom, "POLYGON ((5 1,5 3,6 3,6 6,5 6,5 8,6 8,6 7,7 7,7 6,8 6,8 3,7 3,7 2,6 2,6 1,5 1))")); |
| | 1581 | |
| | 1582 | CHECK_EQUALS_DOUBLE(gv[2].val, 0.0); |
| | 1583 | CHECK(!strcmp(gv[2].geom, "POLYGON ((0 0,0 9,9 9,9 0,0 0),(6 7,6 8,3 8,3 7,2 7,2 6,1 6,1 3,2 3,2 2,3 2,3 1,6 1,6 2,7 2,7 3,8 3,8 6,7 6,7 7,6 7))")); |
| 1567 | | /* Third test: NODATA value = 2.5 */ |
| 1568 | | rt = fillRasterToPolygonize(1, 2.5); |
| 1569 | | |
| 1570 | | /* We can check rt_raster_has_no_band here too */ |
| 1571 | | CHECK(!rt_raster_has_no_band(rt, 1)); |
| 1572 | | |
| 1573 | | nPols = 0; |
| 1574 | | |
| 1575 | | gv = (rt_geomval) rt_raster_dump_as_wktpolygons(rt, 1, &nPols); |
| 1576 | | |
| 1577 | | CHECK_EQUALS_DOUBLE(gv[0].val, 1.5); |
| 1578 | | CHECK(!strcmp(gv[0].geom, "POLYGON ((3 1,3 2,2 2,2 3,1 3,1 6,2 6,2 7,3 7,3 8,5 8,5 6,3 6,3 3,4 3,5 3,5 1,3 1))")); |
| 1579 | | |
| 1580 | | CHECK_EQUALS_DOUBLE(gv[1].val, 0.0); |
| 1581 | | CHECK(!strcmp(gv[1].geom, "POLYGON ((3 3,3 6,6 6,6 3,3 3))")); |
| 1582 | | |
| 1583 | | CHECK_EQUALS_DOUBLE(gv[2].val, 0.0); |
| 1584 | | CHECK(!strcmp(gv[2].geom, "POLYGON ((0 0,0 9,9 9,9 0,0 0),(6 7,6 8,3 8,3 7,2 7,2 6,1 6,1 3,2 3,2 2,3 2,3 1,6 1,6 2,7 2,7 3,8 3,8 6,7 6,7 7,6 7))")); |
| | 1586 | /* Third test: NODATA value = 2.8 */ |
| | 1587 | #if GDALFPOLYGONIZE == 1 |
| | 1588 | rt = fillRasterToPolygonize(1, 2.8); |
| | 1589 | #else |
| | 1590 | rt = fillRasterToPolygonize(1, 3.0); |
| | 1591 | #endif |
| | 1592 | |
| | 1593 | /* We can check rt_raster_has_no_band here too */ |
| | 1594 | CHECK(!rt_raster_has_no_band(rt, 1)); |
| | 1595 | |
| | 1596 | nPols = 0; |
| | 1597 | |
| | 1598 | gv = (rt_geomval) rt_raster_dump_as_wktpolygons(rt, 1, &nPols); |
| | 1599 | |
| | 1600 | #if GDALFPOLYGONIZE == 1 |
| | 1601 | CHECK_EQUALS_DOUBLE(gv[0].val, 1.8); |
| | 1602 | #else |
| | 1603 | CHECK_EQUALS_DOUBLE(gv[0].val, 2.0); |
| | 1604 | #endif |
| | 1605 | |
| | 1606 | CHECK(!strcmp(gv[0].geom, "POLYGON ((3 1,3 2,2 2,2 3,1 3,1 6,2 6,2 7,3 7,3 8,5 8,5 6,3 6,3 3,4 3,5 3,5 1,3 1))")); |
| | 1607 | |
| | 1608 | CHECK_EQUALS_DOUBLE(gv[1].val, 0.0); |
| | 1609 | CHECK(!strcmp(gv[1].geom, "POLYGON ((3 3,3 6,6 6,6 3,3 3))")); |
| | 1610 | |
| | 1611 | CHECK_EQUALS_DOUBLE(gv[2].val, 0.0); |
| | 1612 | CHECK(!strcmp(gv[2].geom, "POLYGON ((0 0,0 9,9 9,9 0,0 0),(6 7,6 8,3 8,3 7,2 7,2 6,1 6,1 3,2 3,2 2,3 2,3 1,6 1,6 2,7 2,7 3,8 3,8 6,7 6,7 7,6 7))")); |
| 1592 | | CHECK(!rt_raster_has_no_band(rt, 1)); |
| 1593 | | |
| 1594 | | nPols = 0; |
| 1595 | | |
| 1596 | | gv = (rt_geomval) rt_raster_dump_as_wktpolygons(rt, 1, &nPols); |
| 1597 | | |
| 1598 | | CHECK_EQUALS_DOUBLE(gv[0].val, 1.5); |
| 1599 | | CHECK(!strcmp(gv[0].geom, "POLYGON ((3 1,3 2,2 2,2 3,1 3,1 6,2 6,2 7,3 7,3 8,5 8,5 6,3 6,3 3,4 3,5 3,5 1,3 1))")); |
| 1600 | | |
| 1601 | | CHECK_EQUALS_DOUBLE(gv[1].val, 2.5); |
| 1602 | | CHECK(!strcmp(gv[1].geom, "POLYGON ((5 1,5 3,6 3,6 6,5 6,5 8,6 8,6 7,7 7,7 6,8 6,8 3,7 3,7 2,6 2,6 1,5 1))")); |
| 1603 | | |
| 1604 | | rt_raster_destroy(rt); |
| 1605 | | |
| 1606 | | /* Last test: There is no NODATA value (all values are valid) */ |
| 1607 | | rt = fillRasterToPolygonize(0, 0.0); |
| 1608 | | |
| 1609 | | /* We can check rt_raster_has_no_band here too */ |
| 1610 | | CHECK(!rt_raster_has_no_band(rt, 1)); |
| 1611 | | |
| 1612 | | nPols = 0; |
| 1613 | | |
| 1614 | | gv = (rt_geomval) rt_raster_dump_as_wktpolygons(rt, 1, &nPols); |
| 1615 | | |
| 1616 | | CHECK_EQUALS_DOUBLE(gv[0].val, 1.5); |
| 1617 | | CHECK(!strcmp(gv[0].geom, "POLYGON ((3 1,3 2,2 2,2 3,1 3,1 6,2 6,2 7,3 7,3 8,5 8,5 6,3 6,3 3,4 3,5 3,5 1,3 1))")); |
| 1618 | | |
| 1619 | | CHECK_EQUALS_DOUBLE(gv[1].val, 0.0); |
| 1620 | | CHECK(!strcmp(gv[1].geom, "POLYGON ((3 3,3 6,6 6,6 3,3 3))")); |
| 1621 | | |
| 1622 | | CHECK_EQUALS_DOUBLE(gv[2].val, 2.5); |
| 1623 | | CHECK(!strcmp(gv[2].geom, "POLYGON ((5 1,5 3,6 3,6 6,5 6,5 8,6 8,6 7,7 7,7 6,8 6,8 3,7 3,7 2,6 2,6 1,5 1))")); |
| 1624 | | |
| 1625 | | CHECK_EQUALS_DOUBLE(gv[3].val, 0.0); |
| 1626 | | CHECK(!strcmp(gv[3].geom, "POLYGON ((0 0,0 9,9 9,9 0,0 0),(6 7,6 8,3 8,3 7,2 7,2 6,1 6,1 3,2 3,2 2,3 2,3 1,6 1,6 2,7 2,7 3,8 3,8 6,7 6,7 7,6 7))")); |
| 1627 | | rt_raster_destroy(rt); |
| | 1620 | CHECK(!rt_raster_has_no_band(rt, 1)); |
| | 1621 | |
| | 1622 | nPols = 0; |
| | 1623 | |
| | 1624 | gv = (rt_geomval) rt_raster_dump_as_wktpolygons(rt, 1, &nPols); |
| | 1625 | |
| | 1626 | #if GDALFPOLYGONIZE == 1 |
| | 1627 | CHECK_EQUALS_DOUBLE(gv[0].val, 1.8); |
| | 1628 | #else |
| | 1629 | CHECK_EQUALS_DOUBLE(gv[0].val, 2.0); |
| | 1630 | #endif |
| | 1631 | |
| | 1632 | CHECK(!strcmp(gv[0].geom, "POLYGON ((3 1,3 2,2 2,2 3,1 3,1 6,2 6,2 7,3 7,3 8,5 8,5 6,3 6,3 3,4 3,5 3,5 1,3 1))")); |
| | 1633 | |
| | 1634 | #if GDALFPOLYGONIZE == 1 |
| | 1635 | CHECK_EQUALS_DOUBLE(gv[1].val, 2.8); |
| | 1636 | #else |
| | 1637 | CHECK_EQUALS_DOUBLE(gv[1].val, 3.0); |
| | 1638 | #endif |
| | 1639 | |
| | 1640 | CHECK(!strcmp(gv[1].geom, "POLYGON ((5 1,5 3,6 3,6 6,5 6,5 8,6 8,6 7,7 7,7 6,8 6,8 3,7 3,7 2,6 2,6 1,5 1))")); |
| | 1641 | |
| | 1642 | rt_raster_destroy(rt); |
| | 1643 | |
| | 1644 | /* Last test: There is no NODATA value (all values are valid) */ |
| | 1645 | rt = fillRasterToPolygonize(0, 0.0); |
| | 1646 | |
| | 1647 | /* We can check rt_raster_has_no_band here too */ |
| | 1648 | CHECK(!rt_raster_has_no_band(rt, 1)); |
| | 1649 | |
| | 1650 | nPols = 0; |
| | 1651 | |
| | 1652 | gv = (rt_geomval) rt_raster_dump_as_wktpolygons(rt, 1, &nPols); |
| | 1653 | |
| | 1654 | #if GDALFPOLYGONIZE == 1 |
| | 1655 | CHECK_EQUALS_DOUBLE(gv[0].val, 1.8); |
| | 1656 | #else |
| | 1657 | CHECK_EQUALS_DOUBLE(gv[0].val, 2.0); |
| | 1658 | #endif |
| | 1659 | |
| | 1660 | CHECK(!strcmp(gv[0].geom, "POLYGON ((3 1,3 2,2 2,2 3,1 3,1 6,2 6,2 7,3 7,3 8,5 8,5 6,3 6,3 3,4 3,5 3,5 1,3 1))")); |
| | 1661 | |
| | 1662 | CHECK_EQUALS_DOUBLE(gv[1].val, 0.0); |
| | 1663 | CHECK(!strcmp(gv[1].geom, "POLYGON ((3 3,3 6,6 6,6 3,3 3))")); |
| | 1664 | |
| | 1665 | #if GDALFPOLYGONIZE == 1 |
| | 1666 | CHECK_EQUALS_DOUBLE(gv[2].val, 2.8); |
| | 1667 | #else |
| | 1668 | CHECK_EQUALS_DOUBLE(gv[2].val, 3.0); |
| | 1669 | #endif |
| | 1670 | |
| | 1671 | CHECK(!strcmp(gv[2].geom, "POLYGON ((5 1,5 3,6 3,6 6,5 6,5 8,6 8,6 7,7 7,7 6,8 6,8 3,7 3,7 2,6 2,6 1,5 1))")); |
| | 1672 | |
| | 1673 | CHECK_EQUALS_DOUBLE(gv[3].val, 0.0); |
| | 1674 | CHECK(!strcmp(gv[3].geom, "POLYGON ((0 0,0 9,9 9,9 0,0 0),(6 7,6 8,3 8,3 7,2 7,2 6,1 6,1 3,2 3,2 2,3 2,3 1,6 1,6 2,7 2,7 3,8 3,8 6,7 6,7 7,6 7))")); |
| | 1675 | rt_raster_destroy(rt); |