R/gdal_gdal2tiles.R

Defines functions gdal_gdal2tiles

Documented in gdal_gdal2tiles

##' QGIS Algorithm provided by GDAL gdal2tiles (gdal:gdal2tiles). ---------------- Arguments ----------------  INPUT: Input layer 	Argument type:	raster 	Acceptable values: 		- Path to a raster layer PROFILE: Tile cutting profile 	Default value:	0 	Argument type:	enum 	Available values: 		- 0: Mercator 		- 1: Geodetic 		- 2: Raster 	Acceptable values: 		- Number of selected option, e.g. '1' 		- Comma separated list of options, e.g. '1,3' ZOOM: Zoom levels to render (optional) 	Default value:	 	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 VIEWER: Web viewer to generate 	Default value:	0 	Argument type:	enum 	Available values: 		- 0: All 		- 1: GoogleMaps 		- 2: OpenLayers 		- 3: Leaflet 		- 4: None 	Acceptable values: 		- Number of selected option, e.g. '1' 		- Comma separated list of options, e.g. '1,3' TITLE: Title of the map (optional) 	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 COPYRIGHT: Copyright of the map (optional) 	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 RESAMPLING: Resampling method 	Default value:	0 	Argument type:	enum 	Available values: 		- 0: Average 		- 1: Nearest Neighbour 		- 2: Bilinear (2x2 Kernel) 		- 3: Cubic (4x4 Kernel) 		- 4: Cubic B-Spline (4x4 Kernel) 		- 5: Lanczos (6x6 Kernel) 		- 6: Antialias 	Acceptable values: 		- Number of selected option, e.g. '1' 		- Comma separated list of options, e.g. '1,3' SOURCE_CRS: The spatial reference system used for the source input data (optional) 	Argument type:	crs 	Acceptable values: 		- CRS as an auth ID (e.g. 'EPSG:3111') 		- CRS as a PROJ4 string (e.g. 'PROJ4:…') 		- CRS as a WKT string (e.g. 'WKT:…') 		- Path to a layer. The CRS of the layer is used. NODATA: Transparency value to assign to the input data (optional) 	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 URL: URL address where the generated tiles are going to be published (optional) 	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 GOOGLE_KEY: Google Maps API key (http://code.google.com/apis/maps/signup.html) (optional) 	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 BING_KEY: Bing Maps API key (https://www.bingmapsportal.com/) (optional) 	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 RESUME: Generate only missing files 	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 KML: Generate KML for Google Earth 	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 NO_KML: Avoid automatic generation of KML files for EPSG:4326 	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 OUTPUT: Output directory 	Argument type:	folderDestination 	Acceptable values: 		- Path for an existing or new folder
##'
##' @title QGIS algorithm - gdal2tiles
##'
##' @param INPUT `raster` - Input layer. Path to a raster layer.
##' @param PROFILE `enum`  of `("Mercator", "Geodetic", "Raster")` - Tile cutting profile. Number of selected option, e.g. '1'. Comma separated list of options, e.g. '1,3'.
##' @param ZOOM `string` - Zoom levels to render. 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 VIEWER `enum`  of `("All", "GoogleMaps", "OpenLayers", "Leaflet", "None")` - Web viewer to generate. Number of selected option, e.g. '1'. Comma separated list of options, e.g. '1,3'.
##' @param TITLE `string` - Title of the map. 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 COPYRIGHT `string` - Copyright of the map. 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 RESAMPLING `enum`  of `("Average", "Nearest Neighbour", "Bilinear (2x2 Kernel)", "Cubic (4x4 Kernel)", "Cubic B-Spline (4x4 Kernel)", "Lanczos (6x6 Kernel)", "Antialias")` - Resampling method. Number of selected option, e.g. '1'. Comma separated list of options, e.g. '1,3'.
##' @param SOURCE_CRS `crs` - The spatial reference system used for the source input data. CRS as an auth ID (e.g. 'EPSG:3111'). CRS as a PROJ4 string (e.g. 'PROJ4:…'). CRS as a WKT string (e.g. 'WKT:…'). Path to a layer. The CRS of the layer is used..
##' @param NODATA `number` - Transparency value to assign to the input data. 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 URL `string` - URL address where the generated tiles are going to be published. 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 GOOGLE_KEY `string` - Google Maps API key (http:\code{/}\code{/}code.google.com\code{/}apis\code{/}maps\code{/}signup.html). 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 BING_KEY `string` - Bing Maps API key (https:\code{/}\code{/}www.bingmapsportal.com\code{/}). 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 RESUME `boolean` - Generate only missing files. 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 KML `boolean` - Generate KML for Google Earth. 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 NO_KML `boolean` - Avoid automatic generation of KML files for EPSG:4326. 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 OUTPUT `folderDestination` - Output directory. Path for an existing or new folder.
##' @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
##' * OUTPUT - outputFolder - Output directory
##'
##'
##' @export
##' @md
##' @importFrom qgisprocess qgis_run_algorithm

gdal_gdal2tiles <- function(INPUT = qgisprocess:::qgis_default_value(), PROFILE = qgisprocess:::qgis_default_value(), ZOOM = qgisprocess:::qgis_default_value(), VIEWER = qgisprocess:::qgis_default_value(), TITLE = qgisprocess:::qgis_default_value(), COPYRIGHT = qgisprocess:::qgis_default_value(), RESAMPLING = qgisprocess:::qgis_default_value(), SOURCE_CRS = qgisprocess:::qgis_default_value(), NODATA = qgisprocess:::qgis_default_value(), URL = qgisprocess:::qgis_default_value(), GOOGLE_KEY = qgisprocess:::qgis_default_value(), BING_KEY = qgisprocess:::qgis_default_value(), RESUME = qgisprocess:::qgis_default_value(), KML = qgisprocess:::qgis_default_value(), NO_KML = qgisprocess:::qgis_default_value(), OUTPUT = qgisprocess:::qgis_default_value(),..., .complete_output = .complete_output_option(), .quiet = .quiet_option(), .messages = .message_option()) {

  check_algorithm_necessities("gdal:gdal2tiles")

  if (.messages){
    output <- qgisprocess::qgis_run_algorithm("gdal:gdal2tiles", `INPUT` = INPUT, `PROFILE` = PROFILE, `ZOOM` = ZOOM, `VIEWER` = VIEWER, `TITLE` = TITLE, `COPYRIGHT` = COPYRIGHT, `RESAMPLING` = RESAMPLING, `SOURCE_CRS` = SOURCE_CRS, `NODATA` = NODATA, `URL` = URL, `GOOGLE_KEY` = GOOGLE_KEY, `BING_KEY` = BING_KEY, `RESUME` = RESUME, `KML` = KML, `NO_KML` = NO_KML, `OUTPUT` = OUTPUT,..., .quiet = .quiet)
  } else {
    suppressMessages(
      output <- qgisprocess::qgis_run_algorithm("gdal:gdal2tiles", `INPUT` = INPUT, `PROFILE` = PROFILE, `ZOOM` = ZOOM, `VIEWER` = VIEWER, `TITLE` = TITLE, `COPYRIGHT` = COPYRIGHT, `RESAMPLING` = RESAMPLING, `SOURCE_CRS` = SOURCE_CRS, `NODATA` = NODATA, `URL` = URL, `GOOGLE_KEY` = GOOGLE_KEY, `BING_KEY` = BING_KEY, `RESUME` = RESUME, `KML` = KML, `NO_KML` = NO_KML, `OUTPUT` = OUTPUT,..., .quiet = .quiet)
      )
  }

  if (.complete_output) {
    return(output)
  }
  else{
    qgisprocess::qgis_extract_output(output, "OUTPUT")
  }
}
JanCaha/r_package_qgis documentation built on April 4, 2024, 8:10 p.m.