Two questions, and the second one only matters if the first is yes
Do these two files describe the same ground? That is answered from the headers, instantly, before a single point is read. A LAS header carries the bounding box, the point count and the coordinate system, and between those three the common failures are already visible — two tiles that do not touch, a cloud sitting 43 m below its twin because one is ellipsoidal and the other orthometric, a photogrammetric block that floated half a metre east, a dense cloud being checked against a sparse one.
Where and by how much do they disagree? That needs both files read end to end, and it is only worth reading them once the first question has a good answer. A difference computed between two clouds in different coordinate systems is not a small error; it is arithmetic on numbers that do not describe the same place.
Reading the alignment table
The three rows are the three axes, and each one fails in its own way.
| What you see | What it means |
|---|---|
| X and Y spans agree, shifts are near zero | The footprints line up. This is the case you want. |
| X and Y spans agree, shifts are metres | A horizontal registration difference. It does not stay horizontal: on every slope, roof edge and kerb it turns into a vertical difference. A difference map ringed with building outlines is this, not vertical error. |
| Spans differ a lot | Different areas, not the same area moved. Only the shared rectangle gets compared, and the page says what share of each file that is. |
| Z spans agree, Z shift is large | A vertical datum difference, a geoid model difference, or a block with no ground control. The whole cloud moved. Read the offset as a georeferencing fact and the spread around it as the accuracy figure. |
| Z ranges do not meet at all | The same thing, larger — or the wrong pair of files, or feet against metres. |
| Densities differ by more than about 3× | A highest-return comparison will be biased toward the denser cloud over any rough surface. Compare mean height instead. |
Why both clouds go onto one grid
Two point clouds cannot be subtracted point by point — they have no points in common, and nothing says a return from one survey has a counterpart in the other. Something has to turn each cloud into a value per patch of ground first, and the patches have to be the same patches.
So the grid is decided before either file is opened, from the shared footprint and one cell size, and every point of both clouds is dropped into those cells. The two surfaces that come out are already on the same grid, and the difference is a subtraction and nothing else. The alternative — grid each cloud on its own extent, then line the two rasters up — leaves a sub-cell offset between them, and on a 30° slope at 50 cm resolution a half-cell offset is a 29 cm "difference" that is entirely an artefact of sampling.
It is also what makes the size of the files nearly irrelevant. Each cloud is streamed through once and never held, so the memory is set by the site rather than by the survey.
Things worth anticipating
- Density bias is real and it is sneaky. The highest of four points is on average lower than the highest of forty over the same rough ground. Comparing a 40-point-per-square-metre photogrammetric cloud against a 4-point lidar survey by highest return will show the photogrammetry sitting a few centimetres high over every patch of grass, for no reason but the point count. The mean surface removes it.
- Vegetation is the largest honest difference. A photogrammetric surface sits on top of the canopy; lidar's last return reaches into it. Metres of disagreement under trees is two sensors measuring different things, not one of them being wrong.
- Water reads as noise or as a hole. Photogrammetry cannot match texture on moving water and lidar gets little back from it. Expect either enormous differences or nodata over every pond and river.
- Noise returns are dropped, and that is not optional. Points classified 7 or 18, and anything flagged withheld, never reach the grid. A surface built from a maximum is by construction maximally sensitive to exactly the errors that are highest — one return off a bird is not a small error in a cell, it is that cell.
- A surface model and a terrain model are not comparable. Subtracting one from the other gives the height of everything standing on the ground, which is a useful product but is not an accuracy assessment.
Check the map, not only the table
The statistics describe the whole field at once, and a field can average beautifully while being wrong in a way that matters. Look at where the colour is. Difference that is evenly scattered is noise. Difference concentrated in one corner is a tilt. Difference tracing the flight lines is a calibration problem. Difference outlining every building is horizontal registration. Difference following the vegetation is the two sensors doing their jobs. None of those look different in the RMSE.