Skip to main content

AgsiObservationExpHole

Enum AgsiObservationExpHole 

Source
pub enum AgsiObservationExpHole {
    Variant0(AgsiObservationExpHoleVariant0),
    Variant1(AgsiObservationExpHoleVariant1),
}
Expand description

An agsiObservationExpHole object provides geometry and common metadata for a single exploratory hole (borehole, trial pit, CPT etc.). Further data can be provided using embedded agsiDataPropertyValue objects if required. Embedded agsiObservationColumn objects may be used to provide a representation of the geology encountered in hole. A link to a supporting data file can be provided using an embedded agsiDataPropertyFromFile object.

JSON schema
{
 "description": "An agsiObservationExpHole object provides geometry and common metadata for a single exploratory hole (borehole, trial pit, CPT etc.). Further data can be provided using embedded agsiDataPropertyValue objects if required. Embedded agsiObservationColumn objects may be used to provide a representation of the geology encountered in hole. A link to a supporting data file can be provided using an embedded agsiDataPropertyFromFile object. ",
 "type": "object",
 "anyOf": [
   {
     "required": [
       "holeID",
       "topCoordinate",
       "verticalHoleDepth"
     ]
   },
   {
     "required": [
       "holeID",
       "profileCoordinates"
     ]
   }
 ],
 "properties": {
   "agsiDataPropertyFromFile": {
     "description": "An embedded agsiDataPropertyFromFile object, which may be used to reference an external supporting data file.",
     "type": "object",
     "$ref": "#/$defs/agsiDataPropertyFromFile"
   },
   "agsiDataPropertyValue": {
     "description": "Array of embedded agsiDataPropertyValue objects. May be used for additional hole metadata or for profiles of test results for this hole, e.g. SPT vs depth/elevation.",
     "type": "array",
     "items": {
       "$ref": "#/$defs/agsiDataPropertyValue"
     }
   },
   "agsiObservationColumn": {
     "description": "Array of embedded agsiObservationColumn objects which are typically used to represent geology within the hole, but can also be used for other data. ",
     "type": "array",
     "items": {
       "$ref": "#/$defs/agsiObservationColumn"
     }
   },
   "date": {
     "description": "Date of exploration. Recommend using start date for holes that take more than one day.",
     "type": "string",
     "format": "date",
     "example": "2018-05-23"
   },
   "holeID": {
     "description": "Identifier that is unique across the project for exploratory holes. Not necessarily the same as the original hole ID (see holeName). If used, identifiers for holeID should be unique within the AGSi file. ",
     "type": "string",
     "example": "A/BH01"
   },
   "holeName": {
     "description": "Current name or ID of the exploratory hole for general use.",
     "type": "string",
     "example": "BH01"
   },
   "holeType": {
     "description": "Type of exploratory hole. Recommend using code from AGS format ABBR code list, e.g. CP+RC, with project specific codes defined using agsProjectCode. Alternatively, short description may be provided, e.g. cable percussion borehole with rotary follow on.",
     "type": "string",
     "example": "CP+RC"
   },
   "holeUUID": {
     "description": "Universal/global unique identifier (UUID) for the hole. This is optional and is not referenced anywhere else in the schema, but it may be beneficial to include this to help with data control and integrity. Other attributes should be used for IDs specific to the producer and/or client (see below).",
     "type": "string",
     "example": "523ad9ed-4f75-4a55-b251-c566a8b998bd"
   },
   "profileCoordinates": {
     "description": "Coordinates of the line of the exploratory hole (3D, including elevation), i.e. top, bottom and intermediate changes in direction if required. Input as ordered list of coordinate tuples starting at the top. Used for holes that are not vertical, or not straight. May be used for straight vertical holes as alternative to topCoordinate and verticalHoleDepth.",
     "type": "array",
     "items": {
       "$ref": "#/$defs/coordinateTuple"
     },
     "example": [
       [
         1275.5,
         2195.0,
         15.25
       ],
       [
         1275.5,
         2195.0,
         -9.75
       ]
     ]
   },
   "remarks": {
     "description": "Additional remarks, if required.",
     "type": "string",
     "example": "Original name on logs: BH1"
   },
   "topCoordinate": {
     "description": "Coordinates of the top of the exploratory hole (3D, including elevation) as a coordinate tuple.",
     "type": "array",
     "$ref": "#/$defs/coordinateTuple",
     "example": [
       1275.5,
       2195.0,
       15.25
     ]
   },
   "verticalHoleDepth": {
     "description": "Final depth of exploratory hole for vertical holes only. For non-vertical or non-straight holes use profileCoordinates instead.",
     "type": "number",
     "example": 25
   }
 },
 "additionalProperties": false
}

Variants§

Trait Implementations§

Source§

impl Clone for AgsiObservationExpHole

Source§

fn clone(&self) -> AgsiObservationExpHole

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 AgsiObservationExpHole

Source§

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

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

impl<'de> Deserialize<'de> for AgsiObservationExpHole

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<&AgsiObservationExpHole> for AgsiObservationExpHole

Source§

fn from(value: &AgsiObservationExpHole) -> Self

Converts to this type from the input type.
Source§

impl From<AgsiObservationExpHoleVariant0> for AgsiObservationExpHole

Source§

fn from(value: AgsiObservationExpHoleVariant0) -> Self

Converts to this type from the input type.
Source§

impl From<AgsiObservationExpHoleVariant1> for AgsiObservationExpHole

Source§

fn from(value: AgsiObservationExpHoleVariant1) -> Self

Converts to this type from the input type.
Source§

impl Serialize for AgsiObservationExpHole

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

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>,