use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct SpatialReferenceSpecification {
#[serde(rename = "axisLabels", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub axis_labels: Option<Option<Vec<String>>>,
#[serde(rename = "axisOrder", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub axis_order: Option<Option<models::AxisOrder>>,
#[serde(rename = "extent")]
pub extent: Box<models::BoundingBox2D>,
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "projString")]
pub proj_string: String,
#[serde(rename = "spatialReference")]
pub spatial_reference: String,
}
impl SpatialReferenceSpecification {
pub fn new(extent: models::BoundingBox2D, name: String, proj_string: String, spatial_reference: String) -> SpatialReferenceSpecification {
SpatialReferenceSpecification {
axis_labels: None,
axis_order: None,
extent: Box::new(extent),
name,
proj_string,
spatial_reference,
}
}
}