geoengine_api_client/models/statistics.rs
1/*
2 * Geo Engine API
3 *
4 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5 *
6 * Contact: dev@geoengine.de
7 * Generated by: https://openapi-generator.tech
8 */
9
10use crate::models;
11use serde::{Deserialize, Serialize};
12
13/// 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 } ] } } ```
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct Statistics {
16 #[serde(rename = "params")]
17 pub params: Box<models::StatisticsParameters>,
18 #[serde(rename = "sources")]
19 pub sources: Box<models::MultipleRasterOrSingleVectorSource>,
20 #[serde(rename = "type")]
21 pub r#type: Type,
22}
23
24impl Statistics {
25 /// 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 } ] } } ```
26 pub fn new(params: models::StatisticsParameters, sources: models::MultipleRasterOrSingleVectorSource, r#type: Type) -> Statistics {
27 Statistics {
28 params: Box::new(params),
29 sources: Box::new(sources),
30 r#type,
31 }
32 }
33}
34///
35#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
36pub enum Type {
37 #[serde(rename = "Statistics")]
38 Statistics,
39}
40
41impl Default for Type {
42 fn default() -> Type {
43 Self::Statistics
44 }
45}
46