/*
* Geo Engine API
*
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
*
* The version of the OpenAPI document: 0.9.0
* Contact: dev@geoengine.de
* Generated by: https://openapi-generator.tech
*/
use crate::models;
use serde::{Deserialize, Serialize};
/// Statistics : The `Statistics` operator is a _plot operator_ that computes count statistics over - a selection of numerical columns of a single vector dataset, or - multiple raster datasets. The output is a JSON description. For instance, you want to get an overview of a raster data source. Then, you can use this operator to get basic count statistics. ## Vector Data In the case of vector data, the operator generates one statistic for each of the selected numerical attributes. The operator returns an error if one of the selected attributes is not numeric. ## Raster Data For raster data, the operator generates one statistic for each input raster. ## Inputs The operator consumes exactly one _vector_ or multiple _raster_ operators. | Parameter | Type | | --------- | ------------------------------------ | | `source` | `MultipleRasterOrSingleVectorSource` | ## Errors The operator returns an error in the following cases. - Vector data: The `attribute` for one of the given `columnNames` is not numeric. - Vector data: The `attribute` for one of the given `columnNames` does not exist. - Raster data: The length of the `columnNames` parameter does not match the number of input rasters. ### Example Output ```json { \"A\": { \"valueCount\": 6, \"validCount\": 6, \"min\": 1.0, \"max\": 6.0, \"mean\": 3.5, \"stddev\": 1.707, \"percentiles\": [ { \"percentile\": 0.25, \"value\": 2.0 }, { \"percentile\": 0.5, \"value\": 3.5 }, { \"percentile\": 0.75, \"value\": 5.0 } ] } } ```
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct Statistics {
#[serde(rename = "params")]
pub params: Box<models::StatisticsParameters>,
#[serde(rename = "sources")]
pub sources: Box<models::MultipleRasterOrSingleVectorSource>,
#[serde(rename = "type")]
pub r#type: Type,
}
impl Statistics {
/// The `Statistics` operator is a _plot operator_ that computes count statistics over - a selection of numerical columns of a single vector dataset, or - multiple raster datasets. The output is a JSON description. For instance, you want to get an overview of a raster data source. Then, you can use this operator to get basic count statistics. ## Vector Data In the case of vector data, the operator generates one statistic for each of the selected numerical attributes. The operator returns an error if one of the selected attributes is not numeric. ## Raster Data For raster data, the operator generates one statistic for each input raster. ## Inputs The operator consumes exactly one _vector_ or multiple _raster_ operators. | Parameter | Type | | --------- | ------------------------------------ | | `source` | `MultipleRasterOrSingleVectorSource` | ## Errors The operator returns an error in the following cases. - Vector data: The `attribute` for one of the given `columnNames` is not numeric. - Vector data: The `attribute` for one of the given `columnNames` does not exist. - Raster data: The length of the `columnNames` parameter does not match the number of input rasters. ### Example Output ```json { \"A\": { \"valueCount\": 6, \"validCount\": 6, \"min\": 1.0, \"max\": 6.0, \"mean\": 3.5, \"stddev\": 1.707, \"percentiles\": [ { \"percentile\": 0.25, \"value\": 2.0 }, { \"percentile\": 0.5, \"value\": 3.5 }, { \"percentile\": 0.75, \"value\": 5.0 } ] } } ```
pub fn new(params: models::StatisticsParameters, sources: models::MultipleRasterOrSingleVectorSource, r#type: Type) -> Statistics {
Statistics {
params: Box::new(params),
sources: Box::new(sources),
r#type,
}
}
}
///
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Type {
#[serde(rename = "Statistics")]
Statistics,
}
impl Default for Type {
fn default() -> Type {
Self::Statistics
}
}