##' QGIS Algorithm provided by SAGA Next Gen Top of atmosphere reflectance (sagang:topofatmospherereflectance). ---------------- Arguments ---------------- MSS01: Band 1 (optional) Argument type: raster Acceptable values: - Path to a raster layer MSS02: Band 2 (optional) Argument type: raster Acceptable values: - Path to a raster layer MSS03: Band 3 (optional) Argument type: raster Acceptable values: - Path to a raster layer MSS04: Band 4 (optional) Argument type: raster Acceptable values: - Path to a raster layer TM01: Band 1 (optional) Argument type: raster Acceptable values: - Path to a raster layer TM02: Band 2 (optional) Argument type: raster Acceptable values: - Path to a raster layer TM03: Band 3 (optional) Argument type: raster Acceptable values: - Path to a raster layer TM04: Band 4 (optional) Argument type: raster Acceptable values: - Path to a raster layer TM05: Band 5 (optional) Argument type: raster Acceptable values: - Path to a raster layer TM07: Band 7 (optional) Argument type: raster Acceptable values: - Path to a raster layer ETM01: Band 1 (optional) Argument type: raster Acceptable values: - Path to a raster layer ETM02: Band 2 (optional) Argument type: raster Acceptable values: - Path to a raster layer ETM03: Band 3 (optional) Argument type: raster Acceptable values: - Path to a raster layer ETM04: Band 4 (optional) Argument type: raster Acceptable values: - Path to a raster layer ETM05: Band 5 (optional) Argument type: raster Acceptable values: - Path to a raster layer ETM07: Band 7 (optional) Argument type: raster Acceptable values: - Path to a raster layer OLI01: Band 1 (optional) Argument type: raster Acceptable values: - Path to a raster layer OLI02: Band 2 (optional) Argument type: raster Acceptable values: - Path to a raster layer OLI03: Band 3 (optional) Argument type: raster Acceptable values: - Path to a raster layer OLI04: Band 4 (optional) Argument type: raster Acceptable values: - Path to a raster layer OLI05: Band 5 (optional) Argument type: raster Acceptable values: - Path to a raster layer OLI06: Band 6 (optional) Argument type: raster Acceptable values: - Path to a raster layer OLI07: Band 7 (optional) Argument type: raster Acceptable values: - Path to a raster layer OLI09: Band 9 (optional) Argument type: raster Acceptable values: - Path to a raster layer TM_T06: Band 6 (optional) Argument type: raster Acceptable values: - Path to a raster layer ETM_T61: Band 61 (optional) Argument type: raster Acceptable values: - Path to a raster layer ETM_T62: Band 62 (optional) Argument type: raster Acceptable values: - Path to a raster layer TIRS10: Band 10 (optional) Argument type: raster Acceptable values: - Path to a raster layer TIRS11: Band 11 (optional) Argument type: raster Acceptable values: - Path to a raster layer PAN08: Band 8 (optional) Argument type: raster Acceptable values: - Path to a raster layer SPECTRAL: Spectral Argument type: rasterDestination Acceptable values: - Path for new raster layer THERMAL: Thermal Argument type: rasterDestination Acceptable values: - Path for new raster layer PANBAND: Panchromatic Argument type: rasterDestination Acceptable values: - Path for new raster layer METAFILE: Metadata File Default value: False Argument type: file Acceptable values: - Path to a file SENSOR: Spacecraft Sensor Default value: 7 Argument type: enum Available values: - 0: (0) Landsat-1 MSS - 1: (1) Landsat-2 MSS - 2: (2) Landsat-3 MSS - 3: (3) Landsat-4 MSS - 4: (4) Landsat-5 MSS - 5: (5) Landsat-4 TM - 6: (6) Landsat-5 TM - 7: (7) Landsat-7 ETM+ - 8: (8) Landsat-8 OLI/TIRS Acceptable values: - Number of selected option, e.g. '1' - Comma separated list of options, e.g. '1,3' DATE_ACQU: Image Acquisition Date Default value: 2001-01-01 Argument type: string Acceptable values: - String value - field:FIELD_NAME to use a data defined value taken from the FIELD_NAME field - expression:SOME EXPRESSION to use a data defined value calculated using a custom QGIS expression DATE_PROD: Image Creation Date Default value: 2001-01-01 Argument type: string Acceptable values: - String value - field:FIELD_NAME to use a data defined value taken from the FIELD_NAME field - expression:SOME EXPRESSION to use a data defined value calculated using a custom QGIS expression SUN_HGT: Suns's Height Default value: 45 Argument type: number Acceptable values: - A numeric value - field:FIELD_NAME to use a data defined value taken from the FIELD_NAME field - expression:SOME EXPRESSION to use a data defined value calculated using a custom QGIS expression GRIDS_OUT: Spectral Output as Grid Collection Default value: true Argument type: boolean Acceptable values: - 1 for true/yes - 0 for false/no - field:FIELD_NAME to use a data defined value taken from the FIELD_NAME field - expression:SOME EXPRESSION to use a data defined value calculated using a custom QGIS expression GRIDS_NAME: Name Default value: Landsat Calibrated Argument type: string Acceptable values: - String value - field:FIELD_NAME to use a data defined value taken from the FIELD_NAME field - expression:SOME EXPRESSION to use a data defined value calculated using a custom QGIS expression AS_RAD: At-Sensor Radiance Default value: false Argument type: boolean Acceptable values: - 1 for true/yes - 0 for false/no - field:FIELD_NAME to use a data defined value taken from the FIELD_NAME field - expression:SOME EXPRESSION to use a data defined value calculated using a custom QGIS expression AC_METHOD: Atmospheric Correction Default value: 0 Argument type: enum Available values: - 0: (0) uncorrected - 1: (1) corrected - 2: (2) dark object subtraction 1 - 3: (3) dark object subtraction 2 - 4: (4) dark object subtraction 2b - 5: (5) dark object subtraction 3 - 6: (6) dark object subtraction 4 Acceptable values: - Number of selected option, e.g. '1' - Comma separated list of options, e.g. '1,3' AC_DO_CELLS: Minimum Number of Dark Object Cells Default value: 1000 Argument type: number Acceptable values: - A numeric value - field:FIELD_NAME to use a data defined value taken from the FIELD_NAME field - expression:SOME EXPRESSION to use a data defined value calculated using a custom QGIS expression AC_RAYLEIGH: Rayleigh Scattering Default value: 0 Argument type: number Acceptable values: - A numeric value - field:FIELD_NAME to use a data defined value taken from the FIELD_NAME field - expression:SOME EXPRESSION to use a data defined value calculated using a custom QGIS expression AC_SUN_RAD: Solar Radiance Default value: 1 Argument type: number Acceptable values: - A numeric value - field:FIELD_NAME to use a data defined value taken from the FIELD_NAME field - expression:SOME EXPRESSION to use a data defined value calculated using a custom QGIS expression ETM_GAIN_10: Band 1 Default value: 1 Argument type: enum Available values: - 0: (0) low - 1: (1) high Acceptable values: - Number of selected option, e.g. '1' - Comma separated list of options, e.g. '1,3' ETM_GAIN_20: Band 2 Default value: 1 Argument type: enum Available values: - 0: (0) low - 1: (1) high Acceptable values: - Number of selected option, e.g. '1' - Comma separated list of options, e.g. '1,3' ETM_GAIN_30: Band 3 Default value: 1 Argument type: enum Available values: - 0: (0) low - 1: (1) high Acceptable values: - Number of selected option, e.g. '1' - Comma separated list of options, e.g. '1,3' ETM_GAIN_40: Band 4 Default value: 1 Argument type: enum Available values: - 0: (0) low - 1: (1) high Acceptable values: - Number of selected option, e.g. '1' - Comma separated list of options, e.g. '1,3' ETM_GAIN_50: Band 5 Default value: 1 Argument type: enum Available values: - 0: (0) low - 1: (1) high Acceptable values: - Number of selected option, e.g. '1' - Comma separated list of options, e.g. '1,3' ETM_GAIN_61: Band 61 Default value: 0 Argument type: enum Available values: - 0: (0) low - 1: (1) high Acceptable values: - Number of selected option, e.g. '1' - Comma separated list of options, e.g. '1,3' ETM_GAIN_62: Band 62 Default value: 1 Argument type: enum Available values: - 0: (0) low - 1: (1) high Acceptable values: - Number of selected option, e.g. '1' - Comma separated list of options, e.g. '1,3' ETM_GAIN_70: Band 7 Default value: 1 Argument type: enum Available values: - 0: (0) low - 1: (1) high Acceptable values: - Number of selected option, e.g. '1' - Comma separated list of options, e.g. '1,3' ETM_GAIN_80: Band 8 Default value: 0 Argument type: enum Available values: - 0: (0) low - 1: (1) high Acceptable values: - Number of selected option, e.g. '1' - Comma separated list of options, e.g. '1,3'
##'
##' @title QGIS algorithm - Top of atmosphere reflectance
##'
##' @param MSS01 `raster` - Band 1. Path to a raster layer.
##' @param MSS02 `raster` - Band 2. Path to a raster layer.
##' @param MSS03 `raster` - Band 3. Path to a raster layer.
##' @param MSS04 `raster` - Band 4. Path to a raster layer.
##' @param TM01 `raster` - Band 1. Path to a raster layer.
##' @param TM02 `raster` - Band 2. Path to a raster layer.
##' @param TM03 `raster` - Band 3. Path to a raster layer.
##' @param TM04 `raster` - Band 4. Path to a raster layer.
##' @param TM05 `raster` - Band 5. Path to a raster layer.
##' @param TM07 `raster` - Band 7. Path to a raster layer.
##' @param ETM01 `raster` - Band 1. Path to a raster layer.
##' @param ETM02 `raster` - Band 2. Path to a raster layer.
##' @param ETM03 `raster` - Band 3. Path to a raster layer.
##' @param ETM04 `raster` - Band 4. Path to a raster layer.
##' @param ETM05 `raster` - Band 5. Path to a raster layer.
##' @param ETM07 `raster` - Band 7. Path to a raster layer.
##' @param OLI01 `raster` - Band 1. Path to a raster layer.
##' @param OLI02 `raster` - Band 2. Path to a raster layer.
##' @param OLI03 `raster` - Band 3. Path to a raster layer.
##' @param OLI04 `raster` - Band 4. Path to a raster layer.
##' @param OLI05 `raster` - Band 5. Path to a raster layer.
##' @param OLI06 `raster` - Band 6. Path to a raster layer.
##' @param OLI07 `raster` - Band 7. Path to a raster layer.
##' @param OLI09 `raster` - Band 9. Path to a raster layer.
##' @param TM_T06 `raster` - Band 6. Path to a raster layer.
##' @param ETM_T61 `raster` - Band 61. Path to a raster layer.
##' @param ETM_T62 `raster` - Band 62. Path to a raster layer.
##' @param TIRS10 `raster` - Band 10. Path to a raster layer.
##' @param TIRS11 `raster` - Band 11. Path to a raster layer.
##' @param PAN08 `raster` - Band 8. Path to a raster layer.
##' @param SPECTRAL `rasterDestination` - Spectral. Path for new raster layer.
##' @param THERMAL `rasterDestination` - Thermal. Path for new raster layer.
##' @param PANBAND `rasterDestination` - Panchromatic. Path for new raster layer.
##' @param METAFILE `file` - Metadata File. Path to a file.
##' @param SENSOR `enum` of `("(0) Landsat-1 MSS", "(1) Landsat-2 MSS", "(2) Landsat-3 MSS", "(3) Landsat-4 MSS", "(4) Landsat-5 MSS", "(5) Landsat-4 TM", "(6) Landsat-5 TM", "(7) Landsat-7 ETM+", "(8) Landsat-8 OLI/TIRS")` - Spacecraft Sensor. Number of selected option, e.g. '1'. Comma separated list of options, e.g. '1,3'.
##' @param DATE_ACQU `string` - Image Acquisition Date. String value. field:FIELD_NAME to use a data defined value taken from the FIELD_NAME field. expression:SOME EXPRESSION to use a data defined value calculated using a custom QGIS expression.
##' @param DATE_PROD `string` - Image Creation Date. String value. field:FIELD_NAME to use a data defined value taken from the FIELD_NAME field. expression:SOME EXPRESSION to use a data defined value calculated using a custom QGIS expression.
##' @param SUN_HGT `number` - Suns's Height. A numeric value. field:FIELD_NAME to use a data defined value taken from the FIELD_NAME field. expression:SOME EXPRESSION to use a data defined value calculated using a custom QGIS expression.
##' @param GRIDS_OUT `boolean` - Spectral Output as Grid Collection. 1 for true/yes. 0 for false/no. field:FIELD_NAME to use a data defined value taken from the FIELD_NAME field. expression:SOME EXPRESSION to use a data defined value calculated using a custom QGIS expression.
##' @param GRIDS_NAME `string` - Name. String value. field:FIELD_NAME to use a data defined value taken from the FIELD_NAME field. expression:SOME EXPRESSION to use a data defined value calculated using a custom QGIS expression.
##' @param AS_RAD `boolean` - At-Sensor Radiance. 1 for true/yes. 0 for false/no. field:FIELD_NAME to use a data defined value taken from the FIELD_NAME field. expression:SOME EXPRESSION to use a data defined value calculated using a custom QGIS expression.
##' @param AC_METHOD `enum` of `("(0) uncorrected", "(1) corrected", "(2) dark object subtraction 1", "(3) dark object subtraction 2", "(4) dark object subtraction 2b", "(5) dark object subtraction 3", "(6) dark object subtraction 4")` - Atmospheric Correction. Number of selected option, e.g. '1'. Comma separated list of options, e.g. '1,3'.
##' @param AC_DO_CELLS `number` - Minimum Number of Dark Object Cells. A numeric value. field:FIELD_NAME to use a data defined value taken from the FIELD_NAME field. expression:SOME EXPRESSION to use a data defined value calculated using a custom QGIS expression.
##' @param AC_RAYLEIGH `number` - Rayleigh Scattering. A numeric value. field:FIELD_NAME to use a data defined value taken from the FIELD_NAME field. expression:SOME EXPRESSION to use a data defined value calculated using a custom QGIS expression.
##' @param AC_SUN_RAD `number` - Solar Radiance. A numeric value. field:FIELD_NAME to use a data defined value taken from the FIELD_NAME field. expression:SOME EXPRESSION to use a data defined value calculated using a custom QGIS expression.
##' @param ETM_GAIN_10 `enum` of `("(0) low", "(1) high")` - Band 1. Number of selected option, e.g. '1'. Comma separated list of options, e.g. '1,3'.
##' @param ETM_GAIN_20 `enum` of `("(0) low", "(1) high")` - Band 2. Number of selected option, e.g. '1'. Comma separated list of options, e.g. '1,3'.
##' @param ETM_GAIN_30 `enum` of `("(0) low", "(1) high")` - Band 3. Number of selected option, e.g. '1'. Comma separated list of options, e.g. '1,3'.
##' @param ETM_GAIN_40 `enum` of `("(0) low", "(1) high")` - Band 4. Number of selected option, e.g. '1'. Comma separated list of options, e.g. '1,3'.
##' @param ETM_GAIN_50 `enum` of `("(0) low", "(1) high")` - Band 5. Number of selected option, e.g. '1'. Comma separated list of options, e.g. '1,3'.
##' @param ETM_GAIN_61 `enum` of `("(0) low", "(1) high")` - Band 61. Number of selected option, e.g. '1'. Comma separated list of options, e.g. '1,3'.
##' @param ETM_GAIN_62 `enum` of `("(0) low", "(1) high")` - Band 62. Number of selected option, e.g. '1'. Comma separated list of options, e.g. '1,3'.
##' @param ETM_GAIN_70 `enum` of `("(0) low", "(1) high")` - Band 7. Number of selected option, e.g. '1'. Comma separated list of options, e.g. '1,3'.
##' @param ETM_GAIN_80 `enum` of `("(0) low", "(1) high")` - Band 8. Number of selected option, e.g. '1'. Comma separated list of options, e.g. '1,3'.
##' @param ... further parameters passed to `qgisprocess::qgis_run_algorithm()`
##' @param .complete_output logical specifying if complete out of `qgisprocess::qgis_run_algorithm()` should be used (`TRUE`) or first output (most likely the main) should read (`FALSE`). Default value is `TRUE`.
##' @param .quiet logical specifying if parameter `.quiet` for `qgisprocess::qgis_run_algorithm()` Default value is `TRUE`.
##' @param .messages logical specifying if messages from `qgisprocess::qgis_run_algorithm()` should be printed (`TRUE`) or not (`FALSE`). Default value is `FALSE`.
##'
##' @details
##' ## Outputs description
##' * PANBAND - outputRaster - Panchromatic
##' * SPECTRAL - outputRaster - Spectral
##' * THERMAL - outputRaster - Thermal
##'
##'
##' @export
##' @md
##' @importFrom qgisprocess qgis_run_algorithm
sagang_topofatmospherereflectance <- function(MSS01 = qgisprocess:::qgis_default_value(), MSS02 = qgisprocess:::qgis_default_value(), MSS03 = qgisprocess:::qgis_default_value(), MSS04 = qgisprocess:::qgis_default_value(), TM01 = qgisprocess:::qgis_default_value(), TM02 = qgisprocess:::qgis_default_value(), TM03 = qgisprocess:::qgis_default_value(), TM04 = qgisprocess:::qgis_default_value(), TM05 = qgisprocess:::qgis_default_value(), TM07 = qgisprocess:::qgis_default_value(), ETM01 = qgisprocess:::qgis_default_value(), ETM02 = qgisprocess:::qgis_default_value(), ETM03 = qgisprocess:::qgis_default_value(), ETM04 = qgisprocess:::qgis_default_value(), ETM05 = qgisprocess:::qgis_default_value(), ETM07 = qgisprocess:::qgis_default_value(), OLI01 = qgisprocess:::qgis_default_value(), OLI02 = qgisprocess:::qgis_default_value(), OLI03 = qgisprocess:::qgis_default_value(), OLI04 = qgisprocess:::qgis_default_value(), OLI05 = qgisprocess:::qgis_default_value(), OLI06 = qgisprocess:::qgis_default_value(), OLI07 = qgisprocess:::qgis_default_value(), OLI09 = qgisprocess:::qgis_default_value(), TM_T06 = qgisprocess:::qgis_default_value(), ETM_T61 = qgisprocess:::qgis_default_value(), ETM_T62 = qgisprocess:::qgis_default_value(), TIRS10 = qgisprocess:::qgis_default_value(), TIRS11 = qgisprocess:::qgis_default_value(), PAN08 = qgisprocess:::qgis_default_value(), SPECTRAL = qgisprocess:::qgis_default_value(), THERMAL = qgisprocess:::qgis_default_value(), PANBAND = qgisprocess:::qgis_default_value(), METAFILE = qgisprocess:::qgis_default_value(), SENSOR = qgisprocess:::qgis_default_value(), DATE_ACQU = qgisprocess:::qgis_default_value(), DATE_PROD = qgisprocess:::qgis_default_value(), SUN_HGT = qgisprocess:::qgis_default_value(), GRIDS_OUT = qgisprocess:::qgis_default_value(), GRIDS_NAME = qgisprocess:::qgis_default_value(), AS_RAD = qgisprocess:::qgis_default_value(), AC_METHOD = qgisprocess:::qgis_default_value(), AC_DO_CELLS = qgisprocess:::qgis_default_value(), AC_RAYLEIGH = qgisprocess:::qgis_default_value(), AC_SUN_RAD = qgisprocess:::qgis_default_value(), ETM_GAIN_10 = qgisprocess:::qgis_default_value(), ETM_GAIN_20 = qgisprocess:::qgis_default_value(), ETM_GAIN_30 = qgisprocess:::qgis_default_value(), ETM_GAIN_40 = qgisprocess:::qgis_default_value(), ETM_GAIN_50 = qgisprocess:::qgis_default_value(), ETM_GAIN_61 = qgisprocess:::qgis_default_value(), ETM_GAIN_62 = qgisprocess:::qgis_default_value(), ETM_GAIN_70 = qgisprocess:::qgis_default_value(), ETM_GAIN_80 = qgisprocess:::qgis_default_value(),..., .complete_output = .complete_output_option(), .quiet = .quiet_option(), .messages = .message_option()) {
check_algorithm_necessities("sagang:topofatmospherereflectance")
if (.messages){
output <- qgisprocess::qgis_run_algorithm("sagang:topofatmospherereflectance", `MSS01` = MSS01, `MSS02` = MSS02, `MSS03` = MSS03, `MSS04` = MSS04, `TM01` = TM01, `TM02` = TM02, `TM03` = TM03, `TM04` = TM04, `TM05` = TM05, `TM07` = TM07, `ETM01` = ETM01, `ETM02` = ETM02, `ETM03` = ETM03, `ETM04` = ETM04, `ETM05` = ETM05, `ETM07` = ETM07, `OLI01` = OLI01, `OLI02` = OLI02, `OLI03` = OLI03, `OLI04` = OLI04, `OLI05` = OLI05, `OLI06` = OLI06, `OLI07` = OLI07, `OLI09` = OLI09, `TM_T06` = TM_T06, `ETM_T61` = ETM_T61, `ETM_T62` = ETM_T62, `TIRS10` = TIRS10, `TIRS11` = TIRS11, `PAN08` = PAN08, `SPECTRAL` = SPECTRAL, `THERMAL` = THERMAL, `PANBAND` = PANBAND, `METAFILE` = METAFILE, `SENSOR` = SENSOR, `DATE_ACQU` = DATE_ACQU, `DATE_PROD` = DATE_PROD, `SUN_HGT` = SUN_HGT, `GRIDS_OUT` = GRIDS_OUT, `GRIDS_NAME` = GRIDS_NAME, `AS_RAD` = AS_RAD, `AC_METHOD` = AC_METHOD, `AC_DO_CELLS` = AC_DO_CELLS, `AC_RAYLEIGH` = AC_RAYLEIGH, `AC_SUN_RAD` = AC_SUN_RAD, `ETM_GAIN_10` = ETM_GAIN_10, `ETM_GAIN_20` = ETM_GAIN_20, `ETM_GAIN_30` = ETM_GAIN_30, `ETM_GAIN_40` = ETM_GAIN_40, `ETM_GAIN_50` = ETM_GAIN_50, `ETM_GAIN_61` = ETM_GAIN_61, `ETM_GAIN_62` = ETM_GAIN_62, `ETM_GAIN_70` = ETM_GAIN_70, `ETM_GAIN_80` = ETM_GAIN_80,..., .quiet = .quiet)
} else {
suppressMessages(
output <- qgisprocess::qgis_run_algorithm("sagang:topofatmospherereflectance", `MSS01` = MSS01, `MSS02` = MSS02, `MSS03` = MSS03, `MSS04` = MSS04, `TM01` = TM01, `TM02` = TM02, `TM03` = TM03, `TM04` = TM04, `TM05` = TM05, `TM07` = TM07, `ETM01` = ETM01, `ETM02` = ETM02, `ETM03` = ETM03, `ETM04` = ETM04, `ETM05` = ETM05, `ETM07` = ETM07, `OLI01` = OLI01, `OLI02` = OLI02, `OLI03` = OLI03, `OLI04` = OLI04, `OLI05` = OLI05, `OLI06` = OLI06, `OLI07` = OLI07, `OLI09` = OLI09, `TM_T06` = TM_T06, `ETM_T61` = ETM_T61, `ETM_T62` = ETM_T62, `TIRS10` = TIRS10, `TIRS11` = TIRS11, `PAN08` = PAN08, `SPECTRAL` = SPECTRAL, `THERMAL` = THERMAL, `PANBAND` = PANBAND, `METAFILE` = METAFILE, `SENSOR` = SENSOR, `DATE_ACQU` = DATE_ACQU, `DATE_PROD` = DATE_PROD, `SUN_HGT` = SUN_HGT, `GRIDS_OUT` = GRIDS_OUT, `GRIDS_NAME` = GRIDS_NAME, `AS_RAD` = AS_RAD, `AC_METHOD` = AC_METHOD, `AC_DO_CELLS` = AC_DO_CELLS, `AC_RAYLEIGH` = AC_RAYLEIGH, `AC_SUN_RAD` = AC_SUN_RAD, `ETM_GAIN_10` = ETM_GAIN_10, `ETM_GAIN_20` = ETM_GAIN_20, `ETM_GAIN_30` = ETM_GAIN_30, `ETM_GAIN_40` = ETM_GAIN_40, `ETM_GAIN_50` = ETM_GAIN_50, `ETM_GAIN_61` = ETM_GAIN_61, `ETM_GAIN_62` = ETM_GAIN_62, `ETM_GAIN_70` = ETM_GAIN_70, `ETM_GAIN_80` = ETM_GAIN_80,..., .quiet = .quiet)
)
}
if (.complete_output) {
return(output)
}
else{
qgisprocess::qgis_extract_output(output, "PANBAND")
}
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.