Convert raster object to data.table
Details
Function to convert a RasterLayer into a data.table. For rasters that cannot be hold in memory, values are written blockwise.
Examples
ras <- raster::raster(nrow = 10, ncol = 10)
raster::values(ras) <- sample(x = c(1, 2, 3), size = 100, replace = TRUE)
as_data_table(x = ras)
#>
> Progress: 1 / 4
#>
> Progress: 2 / 4
#>
> Progress: 3 / 4
#>
> Progress: 4 / 4
#>
#> > Combine results to one data.table
#> x y layer_1
#> 1 -162 81 1
#> 2 -126 81 3
#> 3 -90 81 3
#> 4 -54 81 1
#> 5 -18 81 2
#> 6 18 81 3
#> 7 54 81 3
#> 8 90 81 3
#> 9 126 81 2
#> 10 162 81 1
#> 11 -162 63 1
#> 12 -126 63 1
#> 13 -90 63 3
#> 14 -54 63 3
#> 15 -18 63 1
#> 16 18 63 2
#> 17 54 63 2
#> 18 90 63 3
#> 19 126 63 3
#> 20 162 63 2
#> 21 -162 45 3
#> 22 -126 45 1
#> 23 -90 45 1
#> 24 -54 45 1
#> 25 -18 45 2
#> 26 18 45 2
#> 27 54 45 3
#> 28 90 45 3
#> 29 126 45 2
#> 30 162 45 3
#> 31 -162 27 1
#> 32 -126 27 2
#> 33 -90 27 3
#> 34 -54 27 3
#> 35 -18 27 1
#> 36 18 27 2
#> 37 54 27 1
#> 38 90 27 2
#> 39 126 27 3
#> 40 162 27 2
#> 41 -162 9 1
#> 42 -126 9 2
#> 43 -90 9 1
#> 44 -54 9 2
#> 45 -18 9 3
#> 46 18 9 1
#> 47 54 9 2
#> 48 90 9 2
#> 49 126 9 3
#> 50 162 9 2
#> 51 -162 -9 1
#> 52 -126 -9 1
#> 53 -90 -9 3
#> 54 -54 -9 2
#> 55 -18 -9 1
#> 56 18 -9 1
#> 57 54 -9 3
#> 58 90 -9 3
#> 59 126 -9 2
#> 60 162 -9 3
#> 61 -162 -27 2
#> 62 -126 -27 3
#> 63 -90 -27 2
#> 64 -54 -27 3
#> 65 -18 -27 2
#> 66 18 -27 2
#> 67 54 -27 1
#> 68 90 -27 3
#> 69 126 -27 2
#> 70 162 -27 2
#> 71 -162 -45 3
#> 72 -126 -45 1
#> 73 -90 -45 2
#> 74 -54 -45 1
#> 75 -18 -45 1
#> 76 18 -45 3
#> 77 54 -45 2
#> 78 90 -45 1
#> 79 126 -45 2
#> 80 162 -45 2
#> 81 -162 -63 2
#> 82 -126 -63 3
#> 83 -90 -63 2
#> 84 -54 -63 2
#> 85 -18 -63 2
#> 86 18 -63 1
#> 87 54 -63 3
#> 88 90 -63 3
#> 89 126 -63 1
#> 90 162 -63 1
#> 91 -162 -81 1
#> 92 -126 -81 1
#> 93 -90 -81 2
#> 94 -54 -81 1
#> 95 -18 -81 1
#> 96 18 -81 1
#> 97 54 -81 2
#> 98 90 -81 1
#> 99 126 -81 3
#> 100 162 -81 3