| 48 | using namespace pdal; |
| 49 | |
| 50 | TEST(NitfReaderTest, test_one) |
| 51 | { |
| 52 | StageFactory f; |
| 53 | |
| 54 | Options nitf_opts; |
| 55 | nitf_opts.add("filename", Support::datapath("nitf/autzen-utm10.ntf")); |
| 56 | nitf_opts.add("count", 750); |
| 57 | |
| 58 | PointTable table; |
| 59 | |
| 60 | Stage* nitf_reader(f.createStage("readers.nitf")); |
| 61 | EXPECT_TRUE(nitf_reader != nullptr); |
| 62 | nitf_reader->setOptions(nitf_opts); |
| 63 | nitf_reader->prepare(table); |
| 64 | PointViewSet pbSet = nitf_reader->execute(table); |
| 65 | EXPECT_EQ(pbSet.size(), 1u); |
| 66 | PointViewPtr view = *pbSet.begin(); |
| 67 | |
| 68 | // check metadata |
| 69 | MetadataNode m = nitf_reader->getMetadata(); |
| 70 | MetadataNode n = m.findChild( |
| 71 | [](MetadataNode& m){ return m.name() == "IM:0.IGEOLO"; } |
| 72 | ); |
| 73 | EXPECT_EQ(n.value(), |
| 74 | "440344N1230429W440344N1230346W440300N1230346W440300N1230429W"); |
| 75 | n = m.findChild("FH.FDT"); |
| 76 | EXPECT_EQ(n.value(), "20120323002946"); |
| 77 | |
| 78 | // |
| 79 | // read LAS |
| 80 | // |
| 81 | Options las_opts; |
| 82 | las_opts.add("count", 750); |
| 83 | las_opts.add("filename", Support::datapath("nitf/autzen-utm10.las")); |
| 84 | |
| 85 | PointTable table2; |
| 86 | |
| 87 | Stage* las_reader(f.createStage("readers.las")); |
| 88 | EXPECT_TRUE(las_reader); |
| 89 | las_reader->setOptions(las_opts); |
| 90 | las_reader->prepare(table2); |
| 91 | PointViewSet pbSet2 = las_reader->execute(table2); |
| 92 | EXPECT_EQ(pbSet2.size(), 1u); |
| 93 | PointViewPtr view2 = *pbSet.begin(); |
| 94 | // |
| 95 | // |
| 96 | // compare the two views |
| 97 | // |
| 98 | EXPECT_EQ(view->size(), view2->size()); |
| 99 | |
| 100 | for (PointId i = 0; i < view2->size(); i++) |
| 101 | { |
| 102 | int32_t nitf_x = view->getFieldAs<int32_t>(Dimension::Id::X, i); |
| 103 | int32_t nitf_y = view->getFieldAs<int32_t>(Dimension::Id::Y, i); |
| 104 | int32_t nitf_z = view->getFieldAs<int32_t>(Dimension::Id::Z, i); |
| 105 | |
| 106 | int32_t las_x = view2->getFieldAs<int32_t>(Dimension::Id::X, i); |
| 107 | int32_t las_y = view2->getFieldAs<int32_t>(Dimension::Id::Y, i); |
nothing calls this directly
no test coverage detected