TEST(GDALReaderTest, badfile) { Options ro; ro.add("filename", Support::datapath("png/autzen-foo.png")); GDALReader gr; gr.setOptions(ro); PointTable t; gr.prepare(t); EXPECT_THROW(gr.execute(t), pdal_error); }
TEST(GDALReaderTest, simple) { Options ro; ro.add("filename", Support::datapath("png/autzen-height.png")); GDALReader gr; gr.setOptions(ro); PointTable t; gr.prepare(t); PointViewSet s = gr.execute(t); PointViewPtr v = *s.begin(); PointLayoutPtr l = t.layout(); Dimension::Id::Enum id1 = l->findDim("band-1"); Dimension::Id::Enum id2 = l->findDim("band-2"); Dimension::Id::Enum id3 = l->findDim("band-3"); EXPECT_EQ(v->size(), (size_t)(735 * 973)); auto verify = [v, id1, id2, id3] (PointId idx, double xx, double xy, double xr, double xg, double xb) { double r, g, b, x, y; x = v->getFieldAs<double>(Dimension::Id::X, idx); y = v->getFieldAs<double>(Dimension::Id::Y, idx); r = v->getFieldAs<double>(id1, idx); g = v->getFieldAs<double>(id2, idx); b = v->getFieldAs<double>(id3, idx); EXPECT_DOUBLE_EQ(x, xx); EXPECT_DOUBLE_EQ(y, xy); EXPECT_DOUBLE_EQ(r, xr); EXPECT_DOUBLE_EQ(g, xg); EXPECT_DOUBLE_EQ(b, xb); }; verify(0, .5, .5, 0, 0, 0); verify(120000, 195.5, 163.5, 255, 213, 0); verify(290000, 410.5, 394.5, 0, 255, 206); verify(715154, 734.5, 972.5, 0, 0, 0); }