Overlapping LAS tiles
lidR a buffer is loaded on the fly when you process a collection of files by chunk. If some files are overlapping each other you have a warning to alert you about potential problems. The reason you will encounter issues is because you will load twice the points. I can see few classical cases of overlapping files that actually happened to me.
The files are already buffered
In this case
lidR will load twice the buffered region and this will result in some dummy statistic, double tree counting, increasing processing time and probably other troubles. If the buffering is properly done, buffer points are likely to be flagged. For example flagged as
withheld. You can filter them at read time
opt_filter(ctg) <- "-drop_withheld"
The files are flightlines
When a file records a single flight transect, files are overlapping, of course, but this does not create regions with duplicated points. You can process normally and ignore the message. The engine will take care of making independent and buffered chunks.
There are some duplicated files
A few tiles that appears more than once. When plotting, the light blue being transparent, the overlapping regions should appears darker. You must remove these files.
There are plenty of other explanations. Headers may be incorrectly populated, points may have been reprojected (this is likely the case below) and one may find other specific cases I have never thought about.
In your case, the collection looks good. The overlapping is very tiny. You must find why you have overlapping regions and if it was intended by the provider or not. Overlapping is not an issue by itself. The problem is duplicated points. I suggest you to apply few geometry operations to check your catalog and find where are the overlaps. For examples:
library(lidR) #> Le chargement a nécessité le package : raster #> Le chargement a nécessité le package : sp par(mfrow=c(1,2)) # Overlapping ctg1 = readLAScatalog("BCTS/") #> Be careful, some tiles seem to overlap each other. lidR may return incorrect outputs with edge artifacts when processing this catalog. # Not overlapping ctg2 = readLAScatalog("Campbell River/") plot(ctg1) plot(ctg2)
# Not overlapping catalog are expected to be unchange by union spdf1 <- as.spatial(ctg1) contour1 <- rgeos::gUnaryUnion(spdf1) spdf1 <- as.spatial(ctg2) contour2 <- rgeos::gUnaryUnion(spdf1) plot(contour1) plot(contour2)
# Compare the areas round(contour1@polygons[]@area, 4) #>  106817079 round(area(ctg1), 4) #>  111099479 round(contour2@polygons[]@area, 4) #>  22133936 round(area(ctg2), 4) #>  22133936
Created on 2019-12-25 by the reprex package (v0.3.0)