Skip to main content

AgsProjectCoordinateSystem

Struct AgsProjectCoordinateSystem 

Source
pub struct AgsProjectCoordinateSystem {
Show 18 fields pub axis_name_x: Option<String>, pub axis_name_y: Option<String>, pub axis_name_z: Option<String>, pub axis_units_xy: AgsProjectCoordinateSystemAxisUnitsXy, pub axis_units_z: AgsProjectCoordinateSystemAxisUnitsZ, pub description: Option<String>, pub global_xy_system: Option<String>, pub global_z_system: Option<String>, pub remarks: Option<String>, pub system_id: Option<String>, pub system_name_xy: Option<String>, pub system_name_z: Option<String>, pub system_type: Option<AgsProjectCoordinateSystemSystemType>, pub transform_shift_x: Option<f64>, pub transform_shift_y: Option<f64>, pub transform_shift_z: Option<f64>, pub transform_xy_rotation: Option<f64>, pub transform_xy_scale_factor: Option<f64>,
}
Expand description

Defines the spatial coordinate system(s) used by the models. The coordinate system(s) used by the model is considered to be the model coordinate system, although this could be an established regional or national system. A secondary global coordinate system, which will normally be an established regional or national system, may also be defined (for each model system) but this will only exist via transformation from the model coordinate system. Refer to 3.2.2. Coordinate systems for further details.

JSON schema
{
 "description": "Defines the spatial coordinate system(s) used by the models. The coordinate system(s) used by the model is considered to be the model coordinate system, although this could be an established regional or national system. A secondary global coordinate system, which will normally be an established regional or national system, may also be defined (for each model system) but this will only exist via transformation from the model coordinate system. Refer to 3.2.2. Coordinate systems for further details.",
 "type": "object",
 "required": [
   "axisUnitsXY",
   "axisUnitsZ"
 ],
 "properties": {
   "axisNameX": {
     "description": "Axis name for X axis of model coordinate system.",
     "type": "string",
     "example": "Easting"
   },
   "axisNameY": {
     "description": "Axis name for Y axis of model coordinate system.",
     "type": "string",
     "example": "Northing"
   },
   "axisNameZ": {
     "description": "Axis name for Z axis of model coordinate system.",
     "type": "string",
     "example": "Elevation"
   },
   "axisUnitsXY": {
     "description": "Units for X and Y axis (or X axis only if no Y axis). Units are considered to be case sensitive.",
     "type": "string",
     "minLength": 1,
     "example": "m"
   },
   "axisUnitsZ": {
     "description": "Units for Z axis (elevation). May include optional prefix and/or suffix as commonly used to identify the datum used. Considered to be case sensitive.",
     "type": "string",
     "minLength": 1,
     "example": "mOD"
   },
   "description": {
     "description": "Name or short description for this coordinate system.",
     "type": "string",
     "example": "3D model coordinate system: Gotham Metro Grid + OS elevations"
   },
   "globalXYSystem": {
     "description": "Recognised national or regional horizontal coordinate system that the model coordinate system can be mapped to. This is intended to facilitate coordination with data sets in alternative systems and, in particular, encourage legacy use from archive. Transformation information provided in relevant attributes.",
     "type": "string",
     "example": "British National Grid"
   },
   "globalZSystem": {
     "description": "Recognised national or regional vertical coordinate system that the model coordinate system can be mapped to. This is intended to facilitate coordination with data sets in alternative systems and, in particular, encourage legacy use from archive. Transformation information provided in relevant attributes.",
     "type": "string",
     "example": "Ordnance Datum Newlyn"
   },
   "remarks": {
     "description": "Additional remarks if required.",
     "type": "string",
     "example": "Some remarks if required"
   },
   "systemID": {
     "description": "Identifier for this coordinate system.  May be local to this file or a UUID as required/specified. May be referenced by agsiModel. Identifiers for systemID shall be unique within an AGSi file. Optional if only one system is being used. ",
     "type": "string",
     "example": "MetroXYZ"
   },
   "systemNameXY": {
     "description": "Name/description of horizontal coordinate (XY) reference system used for  model coordinate system.",
     "type": "string",
     "example": "Gotham Metro Grid"
   },
   "systemNameZ": {
     "description": "Name/description of vertical coordinate (Z) reference system used for  model coordinate system.",
     "type": "string",
     "example": "Ordnance Datum Newlyn"
   },
   "systemType": {
     "description": "Type of system. Only cartesian systems fully supported at present: XYZ (3D), XZ (2D vertical section), XY (2D map), Z (elevation only, i.e. simple layer profiles). For other types of system input other and describe in description.",
     "type": "string",
     "enum": [
       "XYZ",
       "XZ",
       "XY",
       "Z",
       "other"
     ],
     "example": "XYZ"
   },
   "transformShiftX": {
     "description": "Shift in X (or Easting) direction of origin of model coordinate system relative to global coordinate system, i.e. X value of the model origin in the global system.",
     "type": "number",
     "example": 450000
   },
   "transformShiftY": {
     "description": "Shift in Y (or Northing) direction of origin of model coordinate system relative to global coordinate system, i.e. Y value of the model origin in the global system.",
     "type": "number",
     "example": 125000
   },
   "transformShiftZ": {
     "description": "Shift in Z (or Elevation) direction of origin of model coordinate system relative to global coordinate system, i.e. Z value of the model origin in the global system.",
     "type": "number",
     "example": -100
   },
   "transformXYRotation": {
     "description": "Rotation in anticlockwise direction of model coordinate system XY axes relative to global coordinate system XY axes. Units of rotation are decimal degrees. ",
     "type": "number",
     "example": 1.44450116
   },
   "transformXYScaleFactor": {
     "description": "Scale factor as ratio of distance in global coordinate system to model coordinate system, i.e. global distance divided by model distance.",
     "type": "number",
     "example": 0.9999745653
   }
 },
 "additionalProperties": false
}

Fields§

§axis_name_x: Option<String>

Axis name for X axis of model coordinate system.

§axis_name_y: Option<String>

Axis name for Y axis of model coordinate system.

§axis_name_z: Option<String>

Axis name for Z axis of model coordinate system.

§axis_units_xy: AgsProjectCoordinateSystemAxisUnitsXy

Units for X and Y axis (or X axis only if no Y axis). Units are considered to be case sensitive.

§axis_units_z: AgsProjectCoordinateSystemAxisUnitsZ

Units for Z axis (elevation). May include optional prefix and/or suffix as commonly used to identify the datum used. Considered to be case sensitive.

§description: Option<String>

Name or short description for this coordinate system.

§global_xy_system: Option<String>

Recognised national or regional horizontal coordinate system that the model coordinate system can be mapped to. This is intended to facilitate coordination with data sets in alternative systems and, in particular, encourage legacy use from archive. Transformation information provided in relevant attributes.

§global_z_system: Option<String>

Recognised national or regional vertical coordinate system that the model coordinate system can be mapped to. This is intended to facilitate coordination with data sets in alternative systems and, in particular, encourage legacy use from archive. Transformation information provided in relevant attributes.

§remarks: Option<String>

Additional remarks if required.

§system_id: Option<String>

Identifier for this coordinate system. May be local to this file or a UUID as required/specified. May be referenced by agsiModel. Identifiers for systemID shall be unique within an AGSi file. Optional if only one system is being used.

§system_name_xy: Option<String>

Name/description of horizontal coordinate (XY) reference system used for model coordinate system.

§system_name_z: Option<String>

Name/description of vertical coordinate (Z) reference system used for model coordinate system.

§system_type: Option<AgsProjectCoordinateSystemSystemType>

Type of system. Only cartesian systems fully supported at present: XYZ (3D), XZ (2D vertical section), XY (2D map), Z (elevation only, i.e. simple layer profiles). For other types of system input other and describe in description.

§transform_shift_x: Option<f64>§transform_shift_y: Option<f64>§transform_shift_z: Option<f64>§transform_xy_rotation: Option<f64>§transform_xy_scale_factor: Option<f64>

Implementations§

Trait Implementations§

Source§

impl Clone for AgsProjectCoordinateSystem

Source§

fn clone(&self) -> AgsProjectCoordinateSystem

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for AgsProjectCoordinateSystem

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for AgsProjectCoordinateSystem

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl From<&AgsProjectCoordinateSystem> for AgsProjectCoordinateSystem

Source§

fn from(value: &AgsProjectCoordinateSystem) -> Self

Converts to this type from the input type.
Source§

impl From<AgsProjectCoordinateSystem> for AgsProjectCoordinateSystem

Source§

fn from(value: AgsProjectCoordinateSystem) -> Self

Converts to this type from the input type.
Source§

impl Serialize for AgsProjectCoordinateSystem

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl TryFrom<AgsProjectCoordinateSystem> for AgsProjectCoordinateSystem

Source§

type Error = ConversionError

The type returned in the event of a conversion error.
Source§

fn try_from(value: AgsProjectCoordinateSystem) -> Result<Self, ConversionError>

Performs the conversion.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,