An operation that can be performed on one or more rasters or a mosaic dataset by applying on-the-fly processing. More...
|  Header |  #include <Raster | 
|  Since |  Esri | 
|  Inherits |  Esri | 
This class was introduced in Esri::ArcGISRuntime 100.0.
Public Functions
| Raster | |
| virtual | ~ | 
|  Esri | arguments() const | 
Static Public Members
|  Esri | from | 
Detailed Description
Examples of RasterFunctions include Hillshade, Stretch, Colormap, Mask, and ShadedRelief, among others.
RasterFunctions in ArcGIS Runtime work very similarly to the ArcGIS REST API. The following workflow is a common way to render a raster using a raster function:
- Create a raster function via JSON. For example, the following JSON could be used for a Pansharpen function:
{ "raster_function":{"type":"Pansharpen_function"}, "raster_function_arguments": { "weights":{"double_array":[0.10000000000000001,0.5,0.40000000000000002,0.29999999999999999],"type":"Raster_function_variable"}, "pansharpen_type":{"pansharpen_type":"gram_schmidt","type":"Raster_function_variable"}, "pan_raster":{"name":"pan_raster","is_raster":true,"type":"Raster_function_variable"}, "raster":{"name":"raster","is_raster":true,"type":"Raster_function_variable"}, "type":"Raster_function_arguments" }, "type":"Raster_function_template" }For documentation on the ArcGIS Runtime JSON format and syntax for the different raster functions, please see the Guide topic Add raster data.
 - Construct a RasterFunction object with the JSON created in step 1.
 - Get the RasterFunctionArguments with arguments.
 - Add rasters to the RasterFunctionArguments.
 - Create a new Raster object with this RasterFunction.
 - Create a new RasterLayer with the Raster object.
 - Add the RasterLayer to a map or scene.
 
For further details on raster functions, please see the ArcGIS Desktop documentation.
Use an ImageServiceRaster as an argument for a raster function:
RasterFunction* rasterFunction = new RasterFunction(m_dataPath + "/hillshade_simplified.json", this); RasterFunctionArguments* arguments = rasterFunction->arguments(); arguments->setRaster("raster", m_imageServiceRaster); // create a new raster with the raster function and add to the operational layer Raster* raster = new Raster(rasterFunction, this); RasterLayer* rasterLayer = new RasterLayer(raster, this);
You can see the complete code in the C++ sample Raster Function Service.
Member Function Documentation
RasterFunction::RasterFunction (const QString &path, QObject *parent = nullptr)  
Constructor that takes a path to a local JSON file and an optional parent.
[override virtual] RasterFunction::~RasterFunction  ()  
Destructor.
Esri::ArcGISRuntime::RasterFunctionArguments      *RasterFunction::arguments() const   
Returns the arguments of this raster function.
[static] Esri::ArcGISRuntime::RasterFunction     *RasterFunction::fromJson (const QString &json, QObject *parent = nullptr)   
Creates a new RasterFunction from its JSON representation.
- json - The JSON text.
 - parent - The optional parent.