|
| 1 | + |
| 2 | +# GEDIcalibratoR |
| 3 | + |
| 4 | +The goal of GEDIcalibratoR is to facilitate location calibration for |
| 5 | +GEDI. It makes downloading tiles of ALS, DEM, and DEM data easy and |
| 6 | +evaluates possible spatial shifts using user-defined calibration grids. |
| 7 | +The best suitable shift can then be applied to the original data and may |
| 8 | +improve statistical models and following analyses. GEDIcalibratoR also |
| 9 | +provides functions to visualize calibration effects. |
| 10 | + |
| 11 | +## Installation |
| 12 | + |
| 13 | +You can install the development version of GEDIcalibratoR from |
| 14 | +[GitHub](https://github.com/) with: |
| 15 | + |
| 16 | +``` r |
| 17 | +devtools::install_github("joheisig/GEDIcalibratoR") |
| 18 | +``` |
| 19 | + |
| 20 | +## Development Goals |
| 21 | + |
| 22 | +The package is currently usable. GEDI data can be calibrated using |
| 23 | +digital surface and elevation models. More functionality shall be added |
| 24 | +in the future, e.g.: |
| 25 | + |
| 26 | +- support of more complex calibration variables derived from ALS point |
| 27 | + clouds |
| 28 | +- more criteria to select the best shift (besides RMSE) |
| 29 | +- more and more flexible plotting options |
| 30 | + |
| 31 | +## Example |
| 32 | + |
| 33 | +``` r |
| 34 | +library(GEDIcalibratoR) |
| 35 | +library(sf) |
| 36 | +``` |
| 37 | + |
| 38 | + ## Linking to GEOS 3.10.2, GDAL 3.4.1, PROJ 8.2.1; sf_use_s2() is TRUE |
| 39 | + |
| 40 | +``` r |
| 41 | +grid_ext = system.file("demodata/grid_ext.rds", package = "GEDIcalibratoR") |> readRDS() |
| 42 | +shifts = shift_stats(grid_ext) |
| 43 | +head(shifts) |
| 44 | +``` |
| 45 | + |
| 46 | + ## Simple feature collection with 6 features and 8 fields |
| 47 | + ## Geometry type: MULTIPOINT |
| 48 | + ## Dimension: XY |
| 49 | + ## Bounding box: xmin: 245937.5 ymin: 5678698 xmax: 441963.1 ymax: 5701985 |
| 50 | + ## Projected CRS: ETRS89 / UTM zone 33N |
| 51 | + ## # A tibble: 6 × 9 |
| 52 | + ## file step angle n mean_diff sd_diff rmse r2 |
| 53 | + ## <chr> <dbl> <dbl> <int> <dbl> <dbl> <dbl> <dbl> |
| 54 | + ## 1 GEDI02_A_2019249020326_O04149… 0 0 114 2.18 3.08 3.12 0.775 |
| 55 | + ## 2 GEDI02_A_2019249020326_O04149… 3 0 115 2.16 2.95 3.03 0.793 |
| 56 | + ## 3 GEDI02_A_2019249020326_O04149… 3 30 114 2.18 2.95 3.03 0.793 |
| 57 | + ## 4 GEDI02_A_2019249020326_O04149… 3 60 114 2.10 2.89 2.95 0.800 |
| 58 | + ## 5 GEDI02_A_2019249020326_O04149… 3 90 113 2.09 2.88 2.93 0.803 |
| 59 | + ## 6 GEDI02_A_2019249020326_O04149… 3 120 114 2.10 2.90 2.95 0.799 |
| 60 | + ## # … with 1 more variable: geometry <MULTIPOINT [m]> |
| 61 | + |
| 62 | +``` r |
| 63 | +plot_shift_stats(shifts) |
| 64 | +``` |
| 65 | + |
| 66 | +<!-- --> |
| 67 | + |
| 68 | +``` r |
| 69 | +bs = get_best_shift(grid_ext, shifts) |
| 70 | +ns = get_no_shift(grid_ext, shifts) |
| 71 | +plot_calibration(bs, ns, label = c("Best","Ref"), color = c("forestgreen", "firebrick")) |
| 72 | +``` |
| 73 | + |
| 74 | +<!-- --> |
0 commit comments