testqgspdalprovider: Add a simple text reader test

This commit is contained in:
Jean Felder 2025-02-13 19:17:55 +01:00 committed by Loïc Bartoletti
parent ac21a8d3a7
commit 3ee8614932
2 changed files with 360 additions and 2 deletions

View File

@ -61,7 +61,9 @@ class TestQgsPdalProvider : public QgsTest
void querySublayers();
void brokenPath();
void validLayer();
void testCopcGeneration();
void testTextReader();
void testCopcGenerationLasFile();
void testCopcGenerationTextFile();
private:
QString mTestDataDir;
@ -223,7 +225,31 @@ void TestQgsPdalProvider::validLayer()
QCOMPARE( layer->pointCount(), 253 );
}
void TestQgsPdalProvider::testCopcGeneration()
void TestQgsPdalProvider::testTextReader()
{
QgsPointCloudLayer::LayerOptions options;
options.skipIndexGeneration = true;
auto layer = std::make_unique<QgsPointCloudLayer>(
mTestDataDir + QStringLiteral( "point_clouds/text/cloud.txt" ),
QStringLiteral( "layer" ),
QStringLiteral( "pdal" ),
options
);
QVERIFY( layer->isValid() );
QCOMPARE( layer->crs().authid(), "" );
QGSCOMPARENEAR( layer->extent().xMinimum(), 473850.0, 0.1 );
QGSCOMPARENEAR( layer->extent().yMinimum(), 6374925.0, 0.1 );
QGSCOMPARENEAR( layer->extent().xMaximum(), 488625.0, 0.1 );
QGSCOMPARENEAR( layer->extent().yMaximum(), 6375000.0, 0.1 );
QCOMPARE( layer->dataProvider()->polygonBounds().asWkt( 0 ), QStringLiteral( "Polygon ((473850 6374925, 488625 6374925, 488625 6375000, 473850 6375000, 473850 6374925))" ) );
QCOMPARE( layer->dataProvider()->pointCount(), 320 );
QCOMPARE( layer->pointCount(), 320 );
}
void TestQgsPdalProvider::testCopcGenerationLasFile()
{
const QTemporaryDir dir;
QString outputPath = dir.path() + QDir::separator() + "cloud.copc.laz";
@ -234,5 +260,16 @@ void TestQgsPdalProvider::testCopcGeneration()
QVERIFY( fi.exists() );
}
void TestQgsPdalProvider::testCopcGenerationTextFile()
{
const QTemporaryDir dir;
QString outputPath = dir.path() + QDir::separator() + "cloud.copc.txt";
QVERIFY( dir.isValid() );
QgsPdalIndexingTask task( mTestDataDir + QStringLiteral( "point_clouds/text/cloud.txt" ), outputPath );
QVERIFY( task.run() );
const QFileInfo fi( outputPath );
QVERIFY( fi.exists() );
}
QGSTEST_MAIN( TestQgsPdalProvider )
#include "testqgspdalprovider.moc"

View File

@ -0,0 +1,321 @@
X Y Z Red Green Blue
473850.00000000 6375000.00000000 67.79000092 0 246 8
473925.00000000 6375000.00000000 66.69999695 0 240 14
474000.00000000 6375000.00000000 64.73999786 0 231 23
474075.00000000 6375000.00000000 62.77000046 0 221 33
474150.00000000 6375000.00000000 62.00000000 0 217 37
474225.00000000 6375000.00000000 60.90000153 0 212 42
474300.00000000 6375000.00000000 59.74000168 0 207 47
474375.00000000 6375000.00000000 62.63999939 0 220 34
474450.00000000 6375000.00000000 66.01999664 0 237 17
474525.00000000 6375000.00000000 64.69000244 0 231 23
474600.00000000 6375000.00000000 62.33000183 0 219 35
474675.00000000 6375000.00000000 58.59999847 0 201 53
474750.00000000 6375000.00000000 55.54999924 0 186 68
474825.00000000 6375000.00000000 59.72000122 0 206 48
474900.00000000 6375000.00000000 63.74000168 0 225 29
474975.00000000 6375000.00000000 67.34999847 0 243 11
475050.00000000 6375000.00000000 68.08999634 0 247 7
475125.00000000 6375000.00000000 66.02999878 0 237 17
475200.00000000 6375000.00000000 62.97999954 0 222 32
475275.00000000 6375000.00000000 60.75000000 0 211 43
475350.00000000 6375000.00000000 58.29999924 0 199 55
475425.00000000 6375000.00000000 54.54000092 0 181 73
475500.00000000 6375000.00000000 47.81000137 0 148 106
475575.00000000 6375000.00000000 34.58000183 0 85 169
475650.00000000 6375000.00000000 31.90999985 0 71 183
475725.00000000 6375000.00000000 29.48999977 0 60 194
475800.00000000 6375000.00000000 37.54000092 0 99 155
475875.00000000 6375000.00000000 52.86000061 0 173 81
475950.00000000 6375000.00000000 63.41999817 0 224 30
476025.00000000 6375000.00000000 73.98000336 20 255 0
476100.00000000 6375000.00000000 72.77999878 14 255 0
476175.00000000 6375000.00000000 68.81999969 0 250 4
476250.00000000 6375000.00000000 26.06999969 0 44 210
476325.00000000 6375000.00000000 21.81999969 0 23 231
476400.00000000 6375000.00000000 21.40999985 0 21 233
476475.00000000 6375000.00000000 21.47999954 0 21 233
476550.00000000 6375000.00000000 21.65999985 0 22 232
476625.00000000 6375000.00000000 22.15999985 0 24 230
476700.00000000 6375000.00000000 22.38999939 0 26 228
476775.00000000 6375000.00000000 22.17000008 0 24 230
476850.00000000 6375000.00000000 21.04000092 0 19 235
476925.00000000 6375000.00000000 21.26000023 0 20 234
477000.00000000 6375000.00000000 21.12000084 0 20 234
477075.00000000 6375000.00000000 21.67000008 0 22 232
477150.00000000 6375000.00000000 22.22999954 0 25 229
477225.00000000 6375000.00000000 22.04000092 0 24 230
477300.00000000 6375000.00000000 21.95999908 0 23 231
477375.00000000 6375000.00000000 22.42000008 0 26 228
477450.00000000 6375000.00000000 23.00000000 0 29 225
477525.00000000 6375000.00000000 23.64999962 0 32 222
477600.00000000 6375000.00000000 23.21999931 0 29 225
477675.00000000 6375000.00000000 22.43000031 0 26 228
477750.00000000 6375000.00000000 23.37000084 0 30 224
477825.00000000 6375000.00000000 16.94000053 0 0 255
477900.00000000 6375000.00000000 17.04999924 0 0 255
477975.00000000 6375000.00000000 17.20999908 0 0 254
478050.00000000 6375000.00000000 24.23999977 0 35 219
478125.00000000 6375000.00000000 24.17000008 0 34 220
478200.00000000 6375000.00000000 23.40999985 0 30 224
478275.00000000 6375000.00000000 22.27000046 0 25 229
478350.00000000 6375000.00000000 25.79999924 0 42 212
478425.00000000 6375000.00000000 23.01000023 0 29 225
478500.00000000 6375000.00000000 22.81999969 0 28 226
478575.00000000 6375000.00000000 22.78000069 0 27 227
478650.00000000 6375000.00000000 22.54999924 0 26 228
478725.00000000 6375000.00000000 22.70999908 0 27 227
478800.00000000 6375000.00000000 22.69000053 0 27 227
478875.00000000 6375000.00000000 22.62000084 0 26 228
478950.00000000 6375000.00000000 22.55999947 0 26 228
479025.00000000 6375000.00000000 23.13999939 0 29 225
479100.00000000 6375000.00000000 22.68000031 0 27 227
479175.00000000 6375000.00000000 23.02000046 0 29 225
479250.00000000 6375000.00000000 23.46999931 0 31 223
479325.00000000 6375000.00000000 23.31999969 0 30 224
479400.00000000 6375000.00000000 22.52000046 0 26 228
479475.00000000 6375000.00000000 22.78000069 0 27 227
479550.00000000 6375000.00000000 22.79999924 0 28 226
479625.00000000 6375000.00000000 22.79000092 0 27 227
479700.00000000 6375000.00000000 23.55999947 0 31 223
479775.00000000 6375000.00000000 23.61000061 0 32 222
479850.00000000 6375000.00000000 23.84000015 0 32 222
479925.00000000 6375000.00000000 23.93000031 0 33 221
480000.00000000 6375000.00000000 23.79000092 0 32 222
480075.00000000 6375000.00000000 22.71999931 0 27 227
480150.00000000 6375000.00000000 22.82999992 0 28 226
480225.00000000 6375000.00000000 23.00000000 0 29 225
480300.00000000 6375000.00000000 23.23999977 0 29 225
480375.00000000 6375000.00000000 23.02000046 0 29 225
480450.00000000 6375000.00000000 23.14999962 0 29 225
480525.00000000 6375000.00000000 23.17000008 0 29 225
480600.00000000 6375000.00000000 24.23999977 0 35 219
480675.00000000 6375000.00000000 24.25000000 0 35 219
480750.00000000 6375000.00000000 24.90999985 0 38 216
480825.00000000 6375000.00000000 26.90999985 0 47 207
480900.00000000 6375000.00000000 27.34000015 0 50 204
480975.00000000 6375000.00000000 27.34000015 0 50 204
481050.00000000 6375000.00000000 27.70000076 0 51 203
481125.00000000 6375000.00000000 28.20000076 0 53 201
481200.00000000 6375000.00000000 30.79000092 0 66 188
481275.00000000 6375000.00000000 32.84999847 0 77 177
481350.00000000 6375000.00000000 33.25000000 0 78 176
481425.00000000 6375000.00000000 32.00000000 0 72 182
481500.00000000 6375000.00000000 32.29000092 0 74 180
481575.00000000 6375000.00000000 31.53000069 0 70 184
481650.00000000 6375000.00000000 31.14999962 0 68 186
481725.00000000 6375000.00000000 30.98999977 0 68 186
481800.00000000 6375000.00000000 31.81999969 0 71 183
481875.00000000 6375000.00000000 31.34000015 0 69 185
481950.00000000 6375000.00000000 31.12999916 0 68 186
482025.00000000 6375000.00000000 30.38999939 0 65 189
482100.00000000 6375000.00000000 31.09000015 0 68 186
482175.00000000 6375000.00000000 31.26000023 0 68 186
482250.00000000 6375000.00000000 32.22000122 0 73 181
482325.00000000 6375000.00000000 31.92000008 0 72 182
482400.00000000 6375000.00000000 31.54000092 0 70 184
482475.00000000 6375000.00000000 31.94000053 0 72 182
482550.00000000 6375000.00000000 32.36000061 0 74 180
482625.00000000 6375000.00000000 33.18999863 0 78 176
482700.00000000 6375000.00000000 33.65999985 0 80 174
482775.00000000 6375000.00000000 33.90000153 0 81 173
482850.00000000 6375000.00000000 33.95999908 0 82 172
482925.00000000 6375000.00000000 34.50999832 0 84 170
483000.00000000 6375000.00000000 35.54000092 0 89 165
483075.00000000 6375000.00000000 35.90000153 0 91 163
483150.00000000 6375000.00000000 35.90000153 0 91 163
483225.00000000 6375000.00000000 35.90000153 0 91 163
483300.00000000 6375000.00000000 36.08000183 0 91 163
483375.00000000 6375000.00000000 36.31000137 0 93 161
483450.00000000 6375000.00000000 36.56999969 0 94 160
483525.00000000 6375000.00000000 36.86000061 0 95 159
483600.00000000 6375000.00000000 37.18999863 0 97 157
483675.00000000 6375000.00000000 37.52000046 0 99 155
483750.00000000 6375000.00000000 37.74000168 0 100 154
483825.00000000 6375000.00000000 38.00000000 0 101 153
483900.00000000 6375000.00000000 38.29999924 0 103 151
483975.00000000 6375000.00000000 38.70000076 0 104 150
484050.00000000 6375000.00000000 38.79999924 0 105 149
484125.00000000 6375000.00000000 38.79999924 0 105 149
484200.00000000 6375000.00000000 38.75999832 0 105 149
484275.00000000 6375000.00000000 38.84999847 0 105 149
484350.00000000 6375000.00000000 39.04000092 0 106 148
484425.00000000 6375000.00000000 40.27000046 0 112 142
484500.00000000 6375000.00000000 41.65999985 0 119 135
484575.00000000 6375000.00000000 43.20000076 0 127 127
484650.00000000 6375000.00000000 44.56999969 0 133 121
484725.00000000 6375000.00000000 45.77000046 0 139 115
484800.00000000 6375000.00000000 46.65999985 0 143 111
484875.00000000 6375000.00000000 47.22000122 0 146 108
484950.00000000 6375000.00000000 47.95999908 0 149 105
485025.00000000 6375000.00000000 49.15999985 0 155 99
485100.00000000 6375000.00000000 50.90000153 0 163 91
485175.00000000 6375000.00000000 52.88000107 0 173 81
485250.00000000 6375000.00000000 55.02999878 0 183 71
485325.00000000 6375000.00000000 57.40000153 0 195 59
485400.00000000 6375000.00000000 59.34999847 0 204 50
485475.00000000 6375000.00000000 61.95000076 0 217 37
485550.00000000 6375000.00000000 67.25000000 0 243 11
485625.00000000 6375000.00000000 73.06999969 16 255 0
485700.00000000 6375000.00000000 76.20999908 31 255 0
485775.00000000 6375000.00000000 78.11000061 40 255 0
485850.00000000 6375000.00000000 80.44000244 51 255 0
485925.00000000 6375000.00000000 85.00000000 74 255 0
486000.00000000 6375000.00000000 88.66999817 91 255 0
486075.00000000 6375000.00000000 87.88999939 88 255 0
486150.00000000 6375000.00000000 89.86000061 97 255 0
486225.00000000 6375000.00000000 100.01000214 146 255 0
486300.00000000 6375000.00000000 100.48000336 148 255 0
486375.00000000 6375000.00000000 93.68000031 115 255 0
486450.00000000 6375000.00000000 83.30999756 65 255 0
486525.00000000 6375000.00000000 77.65000153 38 255 0
486600.00000000 6375000.00000000 72.38999939 12 255 0
486675.00000000 6375000.00000000 62.70000076 0 221 33
486750.00000000 6375000.00000000 63.16999817 0 223 31
486825.00000000 6375000.00000000 65.23999786 0 233 21
486900.00000000 6375000.00000000 74.98999786 25 255 0
486975.00000000 6375000.00000000 76.87999725 34 255 0
487050.00000000 6375000.00000000 70.37999725 2 255 0
487125.00000000 6375000.00000000 60.25999832 0 209 45
487200.00000000 6375000.00000000 53.79000092 0 177 77
487275.00000000 6375000.00000000 52.70000076 0 172 82
487350.00000000 6375000.00000000 55.95999908 0 188 66
487425.00000000 6375000.00000000 63.45999908 0 225 29
487500.00000000 6375000.00000000 68.66000366 0 249 5
487575.00000000 6375000.00000000 73.09999847 16 255 0
487650.00000000 6375000.00000000 78.26000214 41 255 0
487725.00000000 6375000.00000000 80.37000275 51 255 0
487800.00000000 6375000.00000000 80.25000000 50 255 0
487875.00000000 6375000.00000000 83.62000275 67 255 0
487950.00000000 6375000.00000000 89.29000092 94 255 0
488025.00000000 6375000.00000000 93.68000031 115 255 0
488100.00000000 6375000.00000000 95.50000000 124 255 0
488175.00000000 6375000.00000000 104.62000275 169 255 0
488250.00000000 6375000.00000000 107.26999664 181 255 0
488325.00000000 6375000.00000000 98.66000366 139 255 0
488400.00000000 6375000.00000000 89.34999847 94 255 0
488475.00000000 6375000.00000000 79.72000122 48 255 0
488550.00000000 6375000.00000000 86.18000031 80 255 0
488625.00000000 6375000.00000000 92.69000244 111 255 0
473925.00000000 6374925.00000000 67.66999817 0 245 9
474000.00000000 6374925.00000000 66.59999847 0 240 14
474075.00000000 6374925.00000000 65.23999786 0 233 21
474150.00000000 6374925.00000000 64.41000366 0 229 25
474225.00000000 6374925.00000000 63.25999832 0 223 31
474300.00000000 6374925.00000000 61.31000137 0 214 40
474375.00000000 6374925.00000000 61.74000168 0 216 38
474450.00000000 6374925.00000000 66.18000031 0 237 17
474525.00000000 6374925.00000000 67.04000092 0 242 12
474600.00000000 6374925.00000000 66.02999878 0 237 17
474675.00000000 6374925.00000000 63.13000107 0 222 32
474750.00000000 6374925.00000000 59.18000031 0 204 50
474825.00000000 6374925.00000000 58.11999893 0 198 56
474900.00000000 6374925.00000000 61.00999832 0 213 41
474975.00000000 6374925.00000000 66.87999725 0 241 13
475050.00000000 6374925.00000000 69.01999664 0 252 2
475125.00000000 6374925.00000000 67.48000336 0 244 10
475200.00000000 6374925.00000000 64.62999725 0 230 24
475275.00000000 6374925.00000000 62.31999969 0 219 35
475350.00000000 6374925.00000000 60.09000015 0 208 46
475425.00000000 6374925.00000000 55.54999924 0 186 68
475500.00000000 6374925.00000000 50.83000183 0 163 91
475575.00000000 6374925.00000000 45.15999985 0 136 118
475650.00000000 6374925.00000000 32.22000122 0 73 181
475725.00000000 6374925.00000000 30.43000031 0 65 189
475800.00000000 6374925.00000000 46.43000031 0 142 112
475875.00000000 6374925.00000000 55.13000107 0 184 70
475950.00000000 6374925.00000000 65.04000092 0 232 22
476025.00000000 6374925.00000000 71.38999939 8 255 0
476100.00000000 6374925.00000000 73.61000061 18 255 0
476175.00000000 6374925.00000000 67.86000061 0 246 8
476250.00000000 6374925.00000000 27.93000031 0 53 201
476325.00000000 6374925.00000000 21.68000031 0 22 232
476400.00000000 6374925.00000000 21.70999908 0 22 232
476475.00000000 6374925.00000000 21.87000084 0 23 231
476550.00000000 6374925.00000000 21.88999939 0 23 231
476625.00000000 6374925.00000000 22.37000084 0 26 228
476700.00000000 6374925.00000000 22.29999924 0 25 229
476775.00000000 6374925.00000000 22.61000061 0 26 228
476850.00000000 6374925.00000000 22.85000038 0 28 226
476925.00000000 6374925.00000000 22.95999908 0 29 225
477000.00000000 6374925.00000000 22.77000046 0 27 227
477075.00000000 6374925.00000000 22.63999939 0 27 227
477150.00000000 6374925.00000000 22.94000053 0 28 226
477225.00000000 6374925.00000000 22.86000061 0 28 226
477300.00000000 6374925.00000000 22.72999954 0 27 227
477375.00000000 6374925.00000000 22.51000023 0 26 228
477450.00000000 6374925.00000000 23.19000053 0 29 225
477525.00000000 6374925.00000000 23.22999954 0 29 225
477600.00000000 6374925.00000000 25.62000084 0 41 213
477675.00000000 6374925.00000000 22.97999954 0 29 225
477750.00000000 6374925.00000000 23.14999962 0 29 225
477825.00000000 6374925.00000000 17.21999931 0 0 254
477900.00000000 6374925.00000000 17.17000008 0 0 254
477975.00000000 6374925.00000000 17.12000084 0 0 254
478050.00000000 6374925.00000000 24.62999916 0 36 218
478125.00000000 6374925.00000000 24.38999939 0 35 219
478200.00000000 6374925.00000000 23.80999947 0 32 222
478275.00000000 6374925.00000000 23.48999977 0 31 223
478350.00000000 6374925.00000000 22.45999908 0 26 228
478425.00000000 6374925.00000000 23.09000015 0 29 225
478500.00000000 6374925.00000000 23.19000053 0 29 225
478575.00000000 6374925.00000000 23.05999947 0 29 225
478650.00000000 6374925.00000000 22.88999939 0 28 226
478725.00000000 6374925.00000000 22.48999977 0 26 228
478800.00000000 6374925.00000000 22.45000076 0 26 228
478875.00000000 6374925.00000000 22.95000076 0 29 225
478950.00000000 6374925.00000000 23.03000069 0 29 225
479025.00000000 6374925.00000000 23.03000069 0 29 225
479100.00000000 6374925.00000000 22.92000008 0 28 226
479175.00000000 6374925.00000000 23.04000092 0 29 225
479250.00000000 6374925.00000000 23.05999947 0 29 225
479325.00000000 6374925.00000000 22.60000038 0 26 228
479400.00000000 6374925.00000000 22.73999977 0 27 227
479475.00000000 6374925.00000000 22.78000069 0 27 227
479550.00000000 6374925.00000000 23.21999931 0 29 225
479625.00000000 6374925.00000000 23.12999916 0 29 225
479700.00000000 6374925.00000000 23.51000023 0 31 223
479775.00000000 6374925.00000000 23.73999977 0 32 222
479850.00000000 6374925.00000000 23.70000076 0 32 222
479925.00000000 6374925.00000000 23.80999947 0 32 222
480000.00000000 6374925.00000000 22.95999908 0 29 225
480075.00000000 6374925.00000000 23.35000038 0 30 224
480150.00000000 6374925.00000000 23.19000053 0 29 225
480225.00000000 6374925.00000000 23.38999939 0 30 224
480300.00000000 6374925.00000000 23.25000000 0 29 225
480375.00000000 6374925.00000000 22.94000053 0 28 226
480450.00000000 6374925.00000000 23.39999962 0 30 224
480525.00000000 6374925.00000000 23.57999992 0 32 222
480600.00000000 6374925.00000000 23.87999916 0 33 221
480675.00000000 6374925.00000000 23.36000061 0 30 224
480750.00000000 6374925.00000000 24.26000023 0 35 219
480825.00000000 6374925.00000000 25.17000008 0 39 215
480900.00000000 6374925.00000000 25.92000008 0 43 211
480975.00000000 6374925.00000000 26.44000053 0 45 209
481050.00000000 6374925.00000000 26.53000069 0 46 208
481125.00000000 6374925.00000000 27.15999985 0 49 205
481200.00000000 6374925.00000000 27.25000000 0 49 205
481275.00000000 6374925.00000000 28.89999962 0 57 197
481350.00000000 6374925.00000000 31.04999924 0 68 186
481425.00000000 6374925.00000000 32.40000153 0 74 180
481500.00000000 6374925.00000000 30.59000015 0 65 189
481575.00000000 6374925.00000000 31.46999931 0 70 184
481650.00000000 6374925.00000000 31.17000008 0 68 186
481725.00000000 6374925.00000000 30.63999939 0 65 189
481800.00000000 6374925.00000000 30.69000053 0 66 188
481875.00000000 6374925.00000000 30.38999939 0 65 189
481950.00000000 6374925.00000000 29.20000076 0 59 195
482025.00000000 6374925.00000000 30.28000069 0 64 190
482100.00000000 6374925.00000000 31.11000061 0 68 186
482175.00000000 6374925.00000000 31.59000015 0 70 184
482250.00000000 6374925.00000000 31.55999947 0 70 184
482325.00000000 6374925.00000000 31.02000046 0 68 186
482400.00000000 6374925.00000000 33.34999847 0 79 175
482475.00000000 6374925.00000000 32.59999847 0 75 179
482550.00000000 6374925.00000000 32.47999954 0 74 180
482625.00000000 6374925.00000000 33.09000015 0 77 177
482700.00000000 6374925.00000000 33.58000183 0 80 174
482775.00000000 6374925.00000000 33.90000153 0 81 173
482850.00000000 6374925.00000000 34.00999832 0 82 172
482925.00000000 6374925.00000000 34.38999939 0 84 170
483000.00000000 6374925.00000000 35.29000092 0 88 166