geoengine_api_client/models/
gdal_dataset_parameters.rs1use crate::models;
11use serde::{Deserialize, Serialize};
12
13#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct GdalDatasetParameters {
16 #[serde(rename = "allowAlphabandAsMask", skip_serializing_if = "Option::is_none")]
17 pub allow_alphaband_as_mask: Option<bool>,
18 #[serde(rename = "fileNotFoundHandling")]
19 pub file_not_found_handling: models::FileNotFoundHandling,
20 #[serde(rename = "filePath")]
21 pub file_path: String,
22 #[serde(rename = "gdalConfigOptions", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
23 pub gdal_config_options: Option<Option<Vec<Vec<String>>>>,
24 #[serde(rename = "gdalOpenOptions", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
25 pub gdal_open_options: Option<Option<Vec<String>>>,
26 #[serde(rename = "geoTransform")]
27 pub geo_transform: Box<models::GeoTransform>,
28 #[serde(rename = "height")]
29 pub height: i32,
30 #[serde(rename = "noDataValue", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
31 pub no_data_value: Option<Option<f64>>,
32 #[serde(rename = "propertiesMapping", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
33 pub properties_mapping: Option<Option<Vec<models::GdalMetadataMapping>>>,
34 #[serde(rename = "rasterbandChannel")]
35 pub rasterband_channel: i32,
36 #[serde(rename = "width")]
37 pub width: i32,
38}
39
40impl GdalDatasetParameters {
41 pub fn new(file_not_found_handling: models::FileNotFoundHandling, file_path: String, geo_transform: models::GeoTransform, height: i32, rasterband_channel: i32, width: i32) -> GdalDatasetParameters {
43 GdalDatasetParameters {
44 allow_alphaband_as_mask: None,
45 file_not_found_handling,
46 file_path,
47 gdal_config_options: None,
48 gdal_open_options: None,
49 geo_transform: Box::new(geo_transform),
50 height,
51 no_data_value: None,
52 properties_mapping: None,
53 rasterband_channel,
54 width,
55 }
56 }
57}
58