CRAN Package Check Results for Package lidR

Last updated on 2025-12-19 02:49:53 CET.

Flavor Version Tinstall Tcheck Ttotal Status Flags
r-devel-linux-x86_64-debian-clang 4.2.2 144.89 539.10 683.99 OK
r-devel-linux-x86_64-debian-gcc 4.2.2 93.64 329.39 423.03 OK
r-devel-linux-x86_64-fedora-clang 4.2.2 300.00 885.92 1185.92 ERROR
r-devel-linux-x86_64-fedora-gcc 4.2.2 300.00 OK
r-devel-windows-x86_64 4.2.2 153.00 493.00 646.00 OK
r-patched-linux-x86_64 4.2.2 143.95 514.45 658.40 OK
r-release-linux-x86_64 4.2.2 141.69 510.49 652.18 OK
r-release-macos-arm64 4.2.2 OK
r-release-macos-x86_64 4.2.2 92.00 524.00 616.00 OK
r-release-windows-x86_64 4.2.2 157.00 496.00 653.00 OK
r-oldrel-macos-arm64 4.2.2 NOTE
r-oldrel-macos-x86_64 4.2.2 91.00 597.00 688.00 NOTE
r-oldrel-windows-x86_64 4.2.2 192.00 633.00 825.00 ERROR

Check Details

Version: 4.2.2
Check: compiled code
Result: NOTE File ‘lidR/libs/lidR.so’: Found non-API call to R: ‘ATTRIB’ Compiled code should not call non-API entry points in R. See ‘Writing portable packages’ in the ‘Writing R Extensions’ manual, and section ‘Moving into C API compliance’ for issues with the use of non-API entry points. Flavor: r-devel-linux-x86_64-fedora-clang

Version: 4.2.2
Check: examples
Result: ERROR Running examples in ‘lidR-Ex.R’ failed The error most likely occurred in: > ### Name: aggregate > ### Title: Metric derivation at different levels of regularization > ### Aliases: aggregate cloud_metrics crown_metrics hexagon_metrics > ### pixel_metrics plot_metrics polygon_metrics template_metrics > ### voxel_metrics > > ### ** Examples > > LASfile <- system.file("extdata", "Megaplot.laz", package="lidR") > las <- readLAS(LASfile, filter = "-keep_random_fraction 0.5") > col <- sf::sf.colors(15) > fun1 <- ~list(maxz = max(Z)) > fun2 <- ~list(q85 = quantile(Z, probs = 0.85)) > > set_lidr_threads(1) ; data.table::setDTthreads(1) # for cran only > > # ================ > # CLOUD METRICS > # ================ > > cloud_metrics(las, .stdmetrics_z) $zmax [1] 29.11 $zmean [1] 13.27629 $zsd [1] 7.456352 $zskew [1] -0.4764641 $zkurt [1] 2.086569 $zentropy [1] 0.9034754 $pzabovezmean [1] 57.36855 $pzabove2 [1] 85.71007 $zq5 [1] 0 $zq10 [1] 0.09 $zq15 [1] 2.86 $zq20 [1] 5.79 $zq25 [1] 7.81 $zq30 [1] 9.64 $zq35 [1] 11.21 $zq40 [1] 12.63 $zq45 [1] 13.83 $zq50 [1] 14.91 $zq55 [1] 16 $zq60 [1] 16.89 $zq65 [1] 17.71 $zq70 [1] 18.53 $zq75 [1] 19.3 $zq80 [1] 20.09 $zq85 [1] 20.88 $zq90 [1] 21.79 $zq95 [1] 23.05 $zpcum1 [1] 6.52697 $zpcum2 [1] 12.03731 $zpcum3 [1] 20.22982 $zpcum4 [1] 30.04461 $zpcum5 [1] 43.09585 $zpcum6 [1] 59.87833 $zpcum7 [1] 80.14871 $zpcum8 [1] 95.21968 $zpcum9 [1] 99.55928 > > # ================ > # PIXEL METRICS > # ================ > > m <- pixel_metrics(las, fun1, 20) > #plot(m, col = col) > > # ================ > # PLOT METRICS > # ================ > > shpfile <- system.file("extdata", "efi_plot.shp", package="lidR") > inventory <- sf::st_read(shpfile, quiet = TRUE) > inventory # contains an ID and a Value Of Interest (VOI) per plot Simple feature collection with 5 features and 2 fields Geometry type: POINT Dimension: XY Bounding box: xmin: 684838.9 ymin: 5017796 xmax: 684976.6 ymax: 5017958 Projected CRS: NAD83 / UTM zone 17N IDPEP VOI geometry 1 PEPQ1 14.157140 POINT (684976.6 5017821) 2 PEPQ2 12.720584 POINT (684923.9 5017958) 3 PEPQ3 11.396656 POINT (684838.9 5017942) 4 PEPQ4 11.597471 POINT (684855 5017891) 5 PEPQ5 8.263425 POINT (684944 5017796) > > m <- plot_metrics(las, fun2, inventory, radius = 11.28) > #plot(header(las)) > #plot(m["q85"], pch = 19, cex = 3, add = TRUE) > > > # ================ > # VOXEL METRICS > # ================ > > m <- voxel_metrics(las, length(Z), 8) Error in `[.data.table`(by, , `:=`(GRP, .GRP), by = c("Xgrid", "Ygrid", : attempt access index 3/3 in VECTOR_ELT Calls: voxel_metrics -> [ -> [.data.table Execution halted Flavor: r-devel-linux-x86_64-fedora-clang

Version: 4.2.2
Check: tests
Result: ERROR Running ‘testthat.R’ [322s/570s] Running the tests in ‘tests/testthat.R’ failed. Complete output: > Sys.setenv("R_TESTS" = "") > > library(testthat) > library(lidR) > test_check("lidR") Tests using raster: terra Tests using future: TRUE Tests using OpenMP thread: 1 Tests using rlas: 1.8.2 OGR: Unsupported geometry type OGR: Unsupported geometry type Chunk 1 of 1 (100%): state ✓ Saving _problems/test-metrics_voxels-5.R Saving _problems/test-metrics_voxels-14.R Saving _problems/test-metrics_voxels-23.R [ FAIL 3 | WARN 0 | SKIP 46 | PASS 1289 ] ══ Skipped tests (46) ══════════════════════════════════════════════════════════ • On CRAN (41): 'test-apply_automerge.R:99:3', 'test-apply_automerge.R:163:3', 'test-apply_automerge.R:183:3', 'test-apply_automerge.R:196:3', 'test-apply_automerge.R:217:3', 'test-apply_automerge.R:229:3', 'test-apply_automerge.R:263:3', 'test-apply_automerge.R:274:3', 'test-apply_automerge.R:320:3', 'test-apply_automerge.R:335:3', 'test-apply_autoread.R:3:3', 'test-apply_generic.R:22:3', 'test-apply_generic.R:108:3', 'test-catalog_laxindex.R:4:3', 'test-classify_ground.R:62:3', 'test-classify_poi.R:21:3', 'test-concaveman.R:15:3', 'test-concaveman.R:64:3', 'test-fullwaveform.R:2:3', 'test-generic_local_maximum.R:2:3', 'test-metrics_crowns.R:31:3', 'test-metrics_crowns.R:112:3', 'test-metrics_crowns.R:122:3', 'test-plot.R:7:3', 'test-plot.R:15:3', 'test-plot.R:49:3', 'test-plot.R:73:3', 'test-plot.R:79:3', 'test-plot.R:86:3', 'test-plot.R:93:3', 'test-plot.R:100:3', 'test-plot.R:107:3', 'test-plot.R:118:3', 'test-projection.R:82:3', 'test-projection.R:107:3', 'test-rasterize_canopy.R:66:3', 'test-rasterize_terrain.R:145:3', 'test-segment_snags.R:27:2', 'test-segment_trees.R:73:3', 'test-track_sensor.R:45:3', 'test-voxelize_points.R:15:3' • Point metrics disable (1): 'test-segment_shape.R:51:3' • Point metrics disabled (1): 'test-metrics_points.R:9:1' • empty test (3): , , ══ Failed tests ════════════════════════════════════════════════════════════════ ── Error ('test-metrics_voxels.R:5:3'): voxel_metrics returns a named data.frame ── Error in ``[.data.table`(by, , `:=`(GRP, .GRP), by = c("Xgrid", "Ygrid", "Zgrid"))`: attempt access index 3/3 in VECTOR_ELT Backtrace: ▆ 1. └─lidR::voxel_metrics(las, list(Imean = mean(Intensity)), 5) at test-metrics_voxels.R:5:3 2. ├─by[, `:=`(GRP, .GRP), by = c("Xgrid", "Ygrid", "Zgrid")] 3. └─data.table:::`[.data.table`(...) ── Error ('test-metrics_voxels.R:14:3'): voxel_metrics works with all_voxels ─── Error in ``[.data.table`(by, , `:=`(GRP, .GRP), by = c("Xgrid", "Ygrid", "Zgrid"))`: attempt access index 3/3 in VECTOR_ELT Backtrace: ▆ 1. └─lidR::voxel_metrics(las, list(Imean = mean(Intensity)), 5, all_voxels = TRUE) at test-metrics_voxels.R:14:3 2. ├─by[, `:=`(GRP, .GRP), by = c("Xgrid", "Ygrid", "Zgrid")] 3. └─data.table:::`[.data.table`(...) ── Error ('test-metrics_voxels.R:23:3'): voxel_metrics accepts both an expression or a formula ── Error in ``[.data.table`(by, , `:=`(GRP, .GRP), by = c("Xgrid", "Ygrid", "Zgrid"))`: attempt access index 3/3 in VECTOR_ELT Backtrace: ▆ 1. └─lidR::voxel_metrics(las, list(Imean = mean(Intensity)), 5) at test-metrics_voxels.R:23:3 2. ├─by[, `:=`(GRP, .GRP), by = c("Xgrid", "Ygrid", "Zgrid")] 3. └─data.table:::`[.data.table`(...) [ FAIL 3 | WARN 0 | SKIP 46 | PASS 1289 ] Error: ! Test failures. Execution halted Flavor: r-devel-linux-x86_64-fedora-clang

Version: 4.2.2
Check: installed package size
Result: NOTE installed size is 15.3Mb sub-directories of 1Mb or more: R 2.0Mb doc 1.0Mb extdata 1.2Mb libs 10.5Mb Flavors: r-oldrel-macos-arm64, r-oldrel-macos-x86_64, r-oldrel-windows-x86_64

Version: 4.2.2
Check: tests
Result: ERROR Running 'testthat.R' [186s] Running the tests in 'tests/testthat.R' failed. Complete output: > Sys.setenv("R_TESTS" = "") > > library(testthat) > library(lidR) > test_check("lidR") Tests using raster: terra Tests using future: TRUE Tests using OpenMP thread: 1 Tests using rlas: 1.8.2 Saving _problems/test-apply_generic-85.R Saving _problems/test-apply_independent-19.R Saving _problems/test-apply_restart-21.R OGR: Unsupported geometry type OGR: Unsupported geometry type Saving _problems/test-metrics_pixels-163.R Saving _problems/test-metrics_pixels-225.R Chunk 1 of 1 (100%): state ✓ Saving _problems/test-rasterize_canopy-103.R Saving _problems/test-rasterize_canopy-121.R Saving _problems/test-rasterize_density-16.R Saving _problems/test-rasterize_terrain-129.R [ FAIL 9 | WARN 17 | SKIP 46 | PASS 1269 ] ══ Skipped tests (46) ══════════════════════════════════════════════════════════ • On CRAN (41): 'test-apply_automerge.R:99:3', 'test-apply_automerge.R:163:3', 'test-apply_automerge.R:183:3', 'test-apply_automerge.R:196:3', 'test-apply_automerge.R:217:3', 'test-apply_automerge.R:229:3', 'test-apply_automerge.R:263:3', 'test-apply_automerge.R:274:3', 'test-apply_automerge.R:320:3', 'test-apply_automerge.R:335:3', 'test-apply_autoread.R:3:3', 'test-apply_generic.R:22:3', 'test-apply_generic.R:108:3', 'test-catalog_laxindex.R:4:3', 'test-classify_ground.R:62:3', 'test-classify_poi.R:21:3', 'test-concaveman.R:15:3', 'test-concaveman.R:64:3', 'test-fullwaveform.R:2:3', 'test-generic_local_maximum.R:2:3', 'test-metrics_crowns.R:31:3', 'test-metrics_crowns.R:112:3', 'test-metrics_crowns.R:122:3', 'test-plot.R:7:3', 'test-plot.R:15:3', 'test-plot.R:49:3', 'test-plot.R:73:3', 'test-plot.R:79:3', 'test-plot.R:86:3', 'test-plot.R:93:3', 'test-plot.R:100:3', 'test-plot.R:107:3', 'test-plot.R:118:3', 'test-projection.R:82:3', 'test-projection.R:107:3', 'test-rasterize_canopy.R:66:3', 'test-rasterize_terrain.R:145:3', 'test-segment_snags.R:27:2', 'test-segment_trees.R:73:3', 'test-track_sensor.R:45:3', 'test-voxelize_points.R:15:3' • Point metrics disable (1): 'test-segment_shape.R:51:3' • Point metrics disabled (1): 'test-metrics_points.R:9:1' • empty test (3): , , ══ Failed tests ════════════════════════════════════════════════════════════════ ── Error ('test-apply_generic.R:85:3'): catalog_apply fixes chunk alignment even by file ── Error: [rast] empty srs Backtrace: ▆ 1. └─lidR::catalog_sapply(ctg, test, res = res, align = sta) at test-apply_generic.R:85:3 2. └─lidR::catalog_apply(ctg, FUN, ..., .options = .options) 3. └─lidR::engine_apply(...) 4. ├─terra::rast(res) 5. └─terra::rast(res) 6. └─terra (local) .local(x, ...) 7. ├─terra::unwrap(x) 8. └─terra::unwrap(x) 9. └─terra (local) .local(x, ...) 10. ├─base::eval(parse(text = x@definition)) 11. │ └─base::eval(parse(text = x@definition)) 12. ├─terra::rast(...) 13. └─terra::rast(...) 14. └─terra (local) .local(x = x, ...) 15. └─terra:::new_rast(...) 16. └─terra:::messages(r, "rast") 17. └─terra:::error(f, x@pntr$getError()) ── Error ('test-apply_independent.R:19:3'): opt_independent_files built several DTMs without error ── Error: [rast] empty srs Backtrace: ▆ 1. ├─lidR::rasterize_terrain(ctg, 1, tin()) at test-apply_independent.R:19:3 2. └─lidR:::rasterize_terrain.LAScatalog(ctg, 1, tin()) 3. └─lidR::catalog_apply(...) 4. └─lidR::engine_apply(...) 5. ├─terra::rast(res) 6. └─terra::rast(res) 7. └─terra (local) .local(x, ...) 8. ├─terra::unwrap(x) 9. └─terra::unwrap(x) 10. └─terra (local) .local(x, ...) 11. ├─base::eval(parse(text = x@definition)) 12. │ └─base::eval(parse(text = x@definition)) 13. ├─terra::rast(...) 14. └─terra::rast(...) 15. └─terra (local) .local(x = x, ...) 16. └─terra:::new_rast(...) 17. └─terra:::messages(r, "rast") 18. └─terra:::error(f, x@pntr$getError()) ── Error ('test-apply_restart.R:21:3'): catalog engine returns a valid output ── Error: [rast] empty srs Backtrace: ▆ 1. ├─lidR::pixel_metrics(ctg, ~mean(Z), 20) at test-apply_restart.R:21:3 2. └─lidR:::pixel_metrics.LAScatalog(ctg, ~mean(Z), 20) 3. └─lidR::catalog_apply(...) 4. └─lidR::engine_apply(...) 5. ├─terra::rast(res) 6. └─terra::rast(res) 7. └─terra (local) .local(x, ...) 8. ├─terra::unwrap(x) 9. └─terra::unwrap(x) 10. └─terra (local) .local(x, ...) 11. ├─base::eval(parse(text = x@definition)) 12. │ └─base::eval(parse(text = x@definition)) 13. ├─terra::rast(...) 14. └─terra::rast(...) 15. └─terra (local) .local(x = x, ...) 16. └─terra:::new_rast(...) 17. └─terra:::messages(r, "rast") 18. └─terra:::error(f, x@pntr$getError()) ── Error ('test-metrics_pixels.R:163:3'): pixel_metric returns the same both with LAScatalog and LAS ── Error: [rast] empty srs Backtrace: ▆ 1. ├─lidR::pixel_metrics(ctg, f1, 20) at test-metrics_pixels.R:163:3 2. └─lidR:::pixel_metrics.LAScatalog(ctg, f1, 20) 3. └─lidR::catalog_apply(...) 4. └─lidR::engine_apply(...) 5. ├─terra::rast(res) 6. └─terra::rast(res) 7. └─terra (local) .local(x, ...) 8. ├─terra::unwrap(x) 9. └─terra::unwrap(x) 10. └─terra (local) .local(x, ...) 11. ├─base::eval(parse(text = x@definition)) 12. │ └─base::eval(parse(text = x@definition)) 13. ├─terra::rast(...) 14. └─terra::rast(...) 15. └─terra (local) .local(x = x, ...) 16. └─terra:::new_rast(...) 17. └─terra:::messages(r, "rast") 18. └─terra:::error(f, x@pntr$getError()) ── Failure ('test-metrics_pixels.R:225:3'): predefined metric set work both with a LAS and LAScatalog ── `pixel_metrics(ctg, .stdmetrics_z)` threw an error. Message: [rast] empty srs Class: simpleError/error/condition Backtrace: ▆ 1. ├─testthat::expect_error(pixel_metrics(ctg, .stdmetrics_z), NA) at test-metrics_pixels.R:225:3 2. │ └─testthat:::quasi_capture(...) 3. │ ├─testthat (local) .capture(...) 4. │ │ └─base::withCallingHandlers(...) 5. │ └─rlang::eval_bare(quo_get_expr(.quo), quo_get_env(.quo)) 6. ├─lidR::pixel_metrics(ctg, .stdmetrics_z) 7. └─lidR:::pixel_metrics.LAScatalog(ctg, .stdmetrics_z) 8. └─lidR::catalog_apply(...) 9. └─lidR::engine_apply(...) 10. ├─terra::rast(res) 11. └─terra::rast(res) 12. └─terra (local) .local(x, ...) 13. ├─terra::unwrap(x) 14. └─terra::unwrap(x) 15. └─terra (local) .local(x, ...) 16. ├─base::eval(parse(text = x@definition)) 17. │ └─base::eval(parse(text = x@definition)) 18. ├─terra::rast(...) 19. └─terra::rast(...) 20. └─terra (local) .local(x = x, ...) 21. └─terra:::new_rast(...) 22. └─terra:::messages(r, "rast") 23. └─terra:::error(f, x@pntr$getError()) ── Error ('test-rasterize_canopy.R:103:3'): rasterize_canopy tin works both with LAS and LAScatalog ── Error: [rast] empty srs Backtrace: ▆ 1. ├─lidR::rasterize_canopy(ctg, 1, f) at test-rasterize_canopy.R:103:3 2. └─lidR:::rasterize_canopy.LAScatalog(ctg, 1, f) 3. └─lidR::catalog_apply(...) 4. └─lidR::engine_apply(...) 5. ├─terra::rast(res) 6. └─terra::rast(res) 7. └─terra (local) .local(x, ...) 8. ├─terra::unwrap(x) 9. └─terra::unwrap(x) 10. └─terra (local) .local(x, ...) 11. ├─base::eval(parse(text = x@definition)) 12. │ └─base::eval(parse(text = x@definition)) 13. ├─terra::rast(...) 14. └─terra::rast(...) 15. └─terra (local) .local(x = x, ...) 16. └─terra:::new_rast(...) 17. └─terra:::messages(r, "rast") 18. └─terra:::error(f, x@pntr$getError()) ── Error ('test-rasterize_canopy.R:121:3'): rasterize_canopy pit-free works both with LAS and LAScatalog ── Error: [rast] empty srs Backtrace: ▆ 1. ├─lidR::rasterize_canopy(ctg, 1, f) at test-rasterize_canopy.R:121:3 2. └─lidR:::rasterize_canopy.LAScatalog(ctg, 1, f) 3. └─lidR::catalog_apply(...) 4. └─lidR::engine_apply(...) 5. ├─terra::rast(res) 6. └─terra::rast(res) 7. └─terra (local) .local(x, ...) 8. ├─terra::unwrap(x) 9. └─terra::unwrap(x) 10. └─terra (local) .local(x, ...) 11. ├─base::eval(parse(text = x@definition)) 12. │ └─base::eval(parse(text = x@definition)) 13. ├─terra::rast(...) 14. └─terra::rast(...) 15. └─terra (local) .local(x = x, ...) 16. └─terra:::new_rast(...) 17. └─terra:::messages(r, "rast") 18. └─terra:::error(f, x@pntr$getError()) ── Error ('test-rasterize_density.R:16:3'): rasterize_density returns the same both with LAScatalog and LAS ── Error: [rast] empty srs Backtrace: ▆ 1. ├─lidR::rasterize_density(ctg) at test-rasterize_density.R:16:3 2. └─lidR:::rasterize_density.LAScatalog(ctg) 3. └─lidR::catalog_map(las, rasterize_density, res = res, ..., .options = options) 4. └─lidR::catalog_apply(ctg, FUN, ..., .options = .options) 5. └─lidR::engine_apply(...) 6. ├─terra::rast(res) 7. └─terra::rast(res) 8. └─terra (local) .local(x, ...) 9. ├─terra::unwrap(x) 10. └─terra::unwrap(x) 11. └─terra (local) .local(x, ...) 12. ├─base::eval(parse(text = x@definition)) 13. │ └─base::eval(parse(text = x@definition)) 14. ├─terra::rast(...) 15. └─terra::rast(...) 16. └─terra (local) .local(x = x, ...) 17. └─terra:::new_rast(...) 18. └─terra:::messages(r, "rast") 19. └─terra:::error(f, x@pntr$getError()) ── Error ('test-rasterize_terrain.R:129:3'): rasterize_terrain returns the same both with LAScatalog and LAS ── Error: [rast] empty srs Backtrace: ▆ 1. ├─lidR::rasterize_terrain(ctg, 1, tin()) at test-rasterize_terrain.R:129:3 2. └─lidR:::rasterize_terrain.LAScatalog(ctg, 1, tin()) 3. └─lidR::catalog_apply(...) 4. └─lidR::engine_apply(...) 5. ├─terra::rast(res) 6. └─terra::rast(res) 7. └─terra (local) .local(x, ...) 8. ├─terra::unwrap(x) 9. └─terra::unwrap(x) 10. └─terra (local) .local(x, ...) 11. ├─base::eval(parse(text = x@definition)) 12. │ └─base::eval(parse(text = x@definition)) 13. ├─terra::rast(...) 14. └─terra::rast(...) 15. └─terra (local) .local(x = x, ...) 16. └─terra:::new_rast(...) 17. └─terra:::messages(r, "rast") 18. └─terra:::error(f, x@pntr$getError()) [ FAIL 9 | WARN 17 | SKIP 46 | PASS 1269 ] Error: ! Test failures. Execution halted Flavor: r-oldrel-windows-x86_64