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