MCPcopy Create free account
hub / github.com/PDAL/PDAL / compareArrowLasStreaming

Function compareArrowLasStreaming

plugins/arrow/test/ArrowReaderTest.cpp:51–107  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

49{
50
51void compareArrowLasStreaming(const std::string& pcdFilename,
52 const std::string& lasFilename)
53{
54 std::string tempname(Support::temppath("testlas.las"));
55
56 FileUtils::deleteFile(tempname);
57
58 ArrowReader t;
59 Options to;
60 to.add("filename", pcdFilename);
61 t.setOptions(to);
62
63 LasWriter w;
64 Options wo;
65 wo.add("filename", tempname);
66 w.setInput(t);
67 w.setOptions(wo);
68
69 FixedPointTable in(1000);
70 w.prepare(in);
71 w.execute(in);
72
73 LasReader l1;
74 Options l1o;
75 l1o.add("filename", lasFilename);
76 l1.setOptions(l1o);
77
78 LasReader l2;
79 Options l2o;
80 l2o.add("filename", tempname);
81 l2.setOptions(l2o);
82
83 PointTable t1;
84 l1.prepare(t1);
85 PointViewSet s1 = l1.execute(t1);
86 EXPECT_EQ(s1.size(), 1U);
87 PointViewPtr v1 = *s1.begin();
88
89 PointTable t2;
90 l2.prepare(t2);
91 PointViewSet s2 = l2.execute(t2);
92 EXPECT_EQ(s2.size(), 1U);
93 PointViewPtr v2 = *s2.begin();
94
95 EXPECT_EQ(v1->size(), v2->size());
96
97 // Validate some point data.
98 for (PointId i = 0; i < v1->size(); ++i)
99 {
100 EXPECT_DOUBLE_EQ(v1->getFieldAs<float>(Dimension::Id::X, i),
101 v2->getFieldAs<float>(Dimension::Id::X, i));
102 EXPECT_DOUBLE_EQ(v1->getFieldAs<float>(Dimension::Id::Y, i),
103 v2->getFieldAs<float>(Dimension::Id::Y, i));
104 EXPECT_DOUBLE_EQ(v1->getFieldAs<float>(Dimension::Id::Z, i),
105 v2->getFieldAs<float>(Dimension::Id::Z, i));
106 }
107}
108

Callers 1

TESTFunction · 0.85

Calls 8

temppathFunction · 0.85
deleteFileFunction · 0.85
setOptionsMethod · 0.80
addMethod · 0.45
prepareMethod · 0.45
executeMethod · 0.45
sizeMethod · 0.45
beginMethod · 0.45

Tested by

no test coverage detected