# GARGeospatialTransform

A representation of a global transform including location, orientation, altitude, and accuracy estimates.

Can be obtained from `https://developers.google.com/ar/reference/ios/interface/GAREarth#camerageospatialtransform`, or from `https://developers.google.com/ar/reference/ios/category/GARSession(Geospatial)#geospatialtransformfromtransform:error:`.

## Summary

### Inheritance

Inherits from: `NSObject`

| ### Properties ||
|---|---|
| `https://developers.google.com/ar/reference/ios/interface/GARGeospatialTransform#altitude` | `CLLocationDistance` Current estimate of altitude in reference to the [WGS84 ellipsoid](https://en.wikipedia.org/wiki/World_Geodetic_System). |
| `https://developers.google.com/ar/reference/ios/interface/GARGeospatialTransform#coordinate` | `CLLocationCoordinate2D` Current estimate of horizontal location, specified using the [WGS84 specification](https://en.wikipedia.org/wiki/World_Geodetic_System). |
| `https://developers.google.com/ar/reference/ios/interface/GARGeospatialTransform#eastupsouthqtarget` | `simd_quatf` The quaternion from the target to East-Up-South (EUS) coordinates (i.e., +X points east, +Y points up, and +Z points south). |
| `https://developers.google.com/ar/reference/ios/interface/GARGeospatialTransform#heading` | `CLLocationDirection` **[Deprecated.](https://developers.google.com/ar/reference/ios/deprecated/deprecated)** Use `https://developers.google.com/ar/reference/ios/interface/GARGeospatialTransform#eastupsouthqtarget` to get the quaternion from target to East-Up-South (EUS) coordinates instead. To determine a value analogous to the heading value, calculate the yaw, pitch, and roll values from `https://developers.google.com/ar/reference/ios/interface/GARGeospatialTransform#eastupsouthqtarget`. When the device is pointing downwards, i.e. perpendicular to the ground, heading is analoguous to roll, and when the device is upright in the device's default orientation mode, heading is analogous to yaw. Current estimate of heading. |
| `https://developers.google.com/ar/reference/ios/interface/GARGeospatialTransform#headingaccuracy` | `CLLocationDirectionAccuracy` **[Deprecated.](https://developers.google.com/ar/reference/ios/deprecated/deprecated)** This is valid only for `https://developers.google.com/ar/reference/ios/interface/GARGeospatialTransform#interface_g_a_r_geospatial_transform` from `https://developers.google.com/ar/reference/ios/interface/GAREarth#camerageospatialtransform`, and is 0 for all other `https://developers.google.com/ar/reference/ios/interface/GARGeospatialTransform#interface_g_a_r_geospatial_transform` objects. To get the yaw uncertainty, use `https://developers.google.com/ar/reference/ios/interface/GARGeospatialTransform#orientationyawaccuracy` instead, which is analogous to the heading accuracy when the device is held upright in the default orientation mode. The radius of uncertainty for `https://developers.google.com/ar/reference/ios/interface/GARGeospatialTransform#heading`, measured in degrees. |
| `https://developers.google.com/ar/reference/ios/interface/GARGeospatialTransform#horizontalaccuracy` | `CLLocationAccuracy` The radius of uncertainty for `https://developers.google.com/ar/reference/ios/interface/GARGeospatialTransform#coordinate`, measured in meters. |
| `https://developers.google.com/ar/reference/ios/interface/GARGeospatialTransform#orientationyawaccuracy` | `CLLocationDirectionAccuracy` Gets the radius of uncertainty for the orientation's yaw angle accuracy, measured in degrees of standard deviation from the estimate. |
| `https://developers.google.com/ar/reference/ios/interface/GARGeospatialTransform#verticalaccuracy` | `CLLocationAccuracy` The radius of uncertainty for `https://developers.google.com/ar/reference/ios/interface/GARGeospatialTransform#altitude`, measured in meters. |

## Properties

### altitude

```
@property(readonly, nonatomic) CLLocationDistance https://developers.google.com/ar/reference/ios/interface/GARGeospatialTransform#altitude;
```
Current estimate of altitude in reference to the [WGS84 ellipsoid](https://en.wikipedia.org/wiki/World_Geodetic_System).

Note: This can be compared to [`CLLocation.ellipsoidalAltitude`](https://developer.apple.com/documentation/corelocation/cllocation/3861801-ellipsoidalaltitude), NOT [`CLLocation.altitude`](https://developer.apple.com/documentation/corelocation/cllocation/1423820-altitude).

### coordinate

```
@property(readonly, nonatomic) CLLocationCoordinate2D https://developers.google.com/ar/reference/ios/interface/GARGeospatialTransform#coordinate;
```
Current estimate of horizontal location, specified using the [WGS84 specification](https://en.wikipedia.org/wiki/World_Geodetic_System).

### eastUpSouthQTarget

```
@property(readonly, nonatomic) simd_quatf https://developers.google.com/ar/reference/ios/interface/GARGeospatialTransform#eastupsouthqtarget;
```
The quaternion from the target to East-Up-South (EUS) coordinates (i.e., +X points east, +Y points up, and +Z points south).

An identity quaternion will have the target frame oriented such that X+ points to the east, Y+ points up away from the center of the earth, and Z+ points to the south.

### heading

```
@property(readonly, nonatomic) CLLocationDirection https://developers.google.com/ar/reference/ios/interface/GARGeospatialTransform#heading;
```
Current estimate of heading.

North is 0°, East is 90°, and the angle continues to increase clockwise. The range is `[0,360)`.

This is valid only for `https://developers.google.com/ar/reference/ios/interface/GARGeospatialTransform#interface_g_a_r_geospatial_transform` from `https://developers.google.com/ar/reference/ios/interface/GAREarth#camerageospatialtransform`, and is 0 for all other `https://developers.google.com/ar/reference/ios/interface/GARGeospatialTransform#interface_g_a_r_geospatial_transform` objects.

**[Deprecated.](https://developers.google.com/ar/reference/ios/deprecated/deprecated)** Use `https://developers.google.com/ar/reference/ios/interface/GARGeospatialTransform#eastupsouthqtarget` to get the quaternion from target to East-Up-South (EUS) coordinates instead. To determine a value analogous to the heading value, calculate the yaw, pitch, and roll values from `https://developers.google.com/ar/reference/ios/interface/GARGeospatialTransform#eastupsouthqtarget`. When the device is pointing downwards, i.e. perpendicular to the ground, heading is analoguous to roll, and when the device is upright in the device's default orientation mode, heading is analogous to yaw.

### headingAccuracy

```
@property(readonly, nonatomic) CLLocationDirectionAccuracy https://developers.google.com/ar/reference/ios/interface/GARGeospatialTransform#headingaccuracy;
```
The radius of uncertainty for `https://developers.google.com/ar/reference/ios/interface/GARGeospatialTransform#heading`, measured in degrees.

The `https://developers.google.com/ar/reference/ios/interface/GARGeospatialTransform#heading` identifies the mean of the heading estimate and this value indicates the standard deviation of the estimate.

**[Deprecated.](https://developers.google.com/ar/reference/ios/deprecated/deprecated)** This is valid only for `https://developers.google.com/ar/reference/ios/interface/GARGeospatialTransform#interface_g_a_r_geospatial_transform` from `https://developers.google.com/ar/reference/ios/interface/GAREarth#camerageospatialtransform`, and is 0 for all other `https://developers.google.com/ar/reference/ios/interface/GARGeospatialTransform#interface_g_a_r_geospatial_transform` objects. To get the yaw uncertainty, use `https://developers.google.com/ar/reference/ios/interface/GARGeospatialTransform#orientationyawaccuracy` instead, which is analogous to the heading accuracy when the device is held upright in the default orientation mode.

### horizontalAccuracy

```
@property(readonly, nonatomic) CLLocationAccuracy https://developers.google.com/ar/reference/ios/interface/GARGeospatialTransform#horizontalaccuracy;
```
The radius of uncertainty for `https://developers.google.com/ar/reference/ios/interface/GARGeospatialTransform#coordinate`, measured in meters.

The `https://developers.google.com/ar/reference/ios/interface/GARGeospatialTransform#coordinate` identifies the center of the circle, and this value indicates the radius of that circle.

### orientationYawAccuracy

```
@property(readonly, nonatomic) CLLocationDirectionAccuracy https://developers.google.com/ar/reference/ios/interface/GARGeospatialTransform#orientationyawaccuracy;
```
Gets the radius of uncertainty for the orientation's yaw angle accuracy, measured in degrees of standard deviation from the estimate.

Yaw rotation is the angle between the transform's compass direction and north, and can be determined from `https://developers.google.com/ar/reference/ios/interface/GARGeospatialTransform#eastupsouthqtarget`.

### verticalAccuracy

```
@property(readonly, nonatomic) CLLocationAccuracy https://developers.google.com/ar/reference/ios/interface/GARGeospatialTransform#verticalaccuracy;
```
The radius of uncertainty for `https://developers.google.com/ar/reference/ios/interface/GARGeospatialTransform#altitude`, measured in meters.

The `https://developers.google.com/ar/reference/ios/interface/GARGeospatialTransform#altitude` identifies the mean of the altitude estimate and this value indicates the standard deviation of the estimate.