I am trying to stich a few LAS tiles into a single file. The final retiled LAS appears to be clipped.

How can I fix the clipping issue?

LAS list catalog plot:

enter image description here



# Create a LAS catalog object
LAS_List = readLAScatalog("path")

# Merge LAS files into a single LAS file
opt_chunk_buffer(LAS_List ) = 0
opt_chunk_size(LAS_List ) = 10000
opt_output_files(LAS_List ) = paste0("path2/Final_LAS")
catalog_retile(LAS_List )

# Plot the merged LAS
Final_LAS = readLAScatalog("path2")

plot(Final_LAS , mapview = TRUE,
     map.type = "OpenStreetMap")

Retile output:

enter image description here

Pattern of chunks (chunk size = 500):

enter image description here

  • Using a chunk size 1000000 fixes the problem, it does however a bigger tile including areas outside the input tiles. Commented Sep 21, 2022 at 16:34

2 Answers 2


I don't know. Here is a guess that you will be able to validate. You put 10000 for chunk size. But the alignment of the chunks may have created two chunks. You did not provided any template in the filename so the chunk 1 is written in Final_LAS.las and the second chunk is written in the same file which is erased.

If I'm correct the following code snippet should display two chunks

opt_chunk_buffer(LAS_List ) = 0
opt_chunk_size(LAS_List ) = 10000
plot(LAS_list, chunk = TRUE)

Then you can fix it with opt_chunk_alignment().

If I'm wrong you must provide more information

  • Running opt_chunk_alignment(LAS_list) returns [1] 0 0, does this seem okay? Commented Sep 21, 2022 at 16:45
  • 1
    This is the default. Change it so it aligns differently. Use e.g opt_chunk_alignment(LAS_list) = c(0, 3000)to see how it affects the chunk pattern. It should shift the chunks by y = 3000
    – JRR
    Commented Sep 21, 2022 at 16:52

This solution should also work. Each file in the LASCatalog is processed individually and saved accordingly. The file name template {*}_{XLEFT}_{YBOTTOM} gives each file a unique name and will not be overwritten. You can then calculate a DEM or something similar.

path = "C:/folder/.../"
ctg = readLAScatalog(path, progress = TRUE)

opt_chunk_buffer(ctg) = 0
opt_chunk_size(ctg) = 500
opt_output_files(ctg) = paste0(path, "{*}_{XLEFT}_{YBOTTOM}")

dtm = rasterize_terrain(ctg, 1, tin())

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.