Viam SDK
    Preparing search index...

    Class GeoPose

    GeoPose is a GPS position and orientation, optionally with altitude.

    Orientation is expressed in the east-north-up tangent frame at location: +X east, +Y north, +Z up. Viam base axes are +X right, +Y forward, and +Z up, so the identity orientation (o_x, o_y, o_z, theta) = (0, 0, 1, 0) is level and faces north: forward is north and right is east.

    The same rotation as an orientation vector is Viam's Tait-Bryan Euler sequence, intrinsic z-y'-x'' (yaw, then pitch, then roll), in degrees:

    • yaw: right-handed rotation about local up (+Z). Zero faces north. Positive yaw is counterclockwise viewed from above, so a compass heading in degrees clockwise from north is the negation of yaw.
    • pitch: right-handed rotation about the base's forward axis (+Y).
    • roll: right-handed rotation about the base's right axis (+X). With pitch 0, positive roll raises the forward axis; that angle is the elevation of forward above the local horizon.

    Exactly one of heading or orientation_vector is set. heading is only the compass yaw of a level pose (pitch 0, roll 0). It is not added to orientation_vector.

    from message viam.common.v1.GeoPose

    Hierarchy

    Index
    • Parameters

      • Optionaldata: PartialMessage<GeoPose>

      Returns GeoPose

    altitude?: number

    Optional altitude in meters

    from field: optional double altitude = 3;

    location?: commonApi.GeoPoint

    Latitude and longitude in degrees

    from field: viam.common.v1.GeoPoint location = 1;

    orientation:
        | { case: "heading"; value: number }
        | { case: "orientationVector"; value: commonApi.Orientation }
        | { case: undefined; value?: undefined }

    Type Declaration

    • { case: "heading"; value: number }
      • case: "heading"
      • value: number

        Compass heading in degrees, clockwise from north. Level pose: pitch 0, roll 0.

        from field: double heading = 2;

    • { case: "orientationVector"; value: commonApi.Orientation }
      • case: "orientationVector"
      • value: commonApi.Orientation

        Full orientation in the east-north-up tangent frame at location. o_x, o_y, o_z, theta in degrees, same orientation vector as Pose.

        from field: viam.common.v1.Orientation orientation_vector = 4;

    • { case: undefined; value?: undefined }

    from oneof viam.common.v1.GeoPose.orientation

    fields: FieldList
    runtime: ProtoRuntime
    typeName: "viam.common.v1.GeoPose"
    • Create a deep copy.

      Returns GeoPose

    • Compare with a message of the same type. Note that this function disregards extensions and unknown fields.

      Parameters

      Returns boolean

    • Parse from binary data, merging fields.

      Repeated fields are appended. Map entries are added, overwriting existing keys.

      If a message field is already present, it will be merged with the new data.

      Parameters

      • bytes: Uint8Array
      • Optionaloptions: Partial<BinaryReadOptions>

      Returns this

    • Parse a message from a JSON value.

      Parameters

      • jsonValue: JsonValue
      • Optionaloptions: Partial<JsonReadOptions>

      Returns this

    • Parse a message from a JSON string.

      Parameters

      • jsonString: string
      • Optionaloptions: Partial<JsonReadOptions>

      Returns this

    • Retrieve the MessageType of this message - a singleton that represents the protobuf message declaration and provides metadata for reflection- based operations.

      Returns MessageType<GeoPose>

    • Serialize the message to binary data.

      Parameters

      • Optionaloptions: Partial<BinaryWriteOptions>

      Returns Uint8Array

    • Serialize the message to a JSON value, a JavaScript value that can be passed to JSON.stringify().

      Parameters

      • Optionaloptions: Partial<JsonWriteOptions>

      Returns JsonValue

    • Override for serialization behavior. This will be invoked when calling JSON.stringify on this message (i.e. JSON.stringify(msg)).

      Note that this will not serialize google.protobuf.Any with a packed message because the protobuf JSON format specifies that it needs to be unpacked, and this is only possible with a type registry to look up the message type. As a result, attempting to serialize a message with this type will throw an Error.

      This method is protected because you should not need to invoke it directly -- instead use JSON.stringify or toJsonString for stringified JSON. Alternatively, if actual JSON is desired, you should use toJson.

      Returns JsonValue

    • Serialize the message to a JSON string.

      Parameters

      • Optionaloptions: Partial<JsonWriteStringOptions>

      Returns string

    • Parameters

      • bytes: Uint8Array
      • Optionaloptions: Partial<BinaryReadOptions>

      Returns GeoPose

    • Parameters

      • jsonValue: JsonValue
      • Optionaloptions: Partial<JsonReadOptions>

      Returns GeoPose

    • Parameters

      • jsonString: string
      • Optionaloptions: Partial<JsonReadOptions>

      Returns GeoPose