Geospatial


class Geospatial


Provides localization ability in Earth-relative coordinates.

To use the Geospatial object, configure the session with Config.GeospatialMode.VPS_AND_GPS.

Not all devices support Config.GeospatialMode.VPS_AND_GPS, use ConfigMode.isSupported to check if the current device supports enabling this mode.

The Geospatial object should only be used when its State is State.Running, and otherwise should not be used. Use Geospatial.state to obtain the current State.

Summary

Nested types

Describes the state of Geospatial.

Public companion functions

Geospatial
getInstance(session: Session)

Returns the Geospatial object for the given Session.

Public functions

suspend VpsAvailabilityResult
checkVpsAvailability(latitude: Double, longitude: Double)

Gets the availability of the Visual Positioning System (VPS) at a specified horizontal position.

CreateGeospatialPoseFromPoseResult

Converts the input Pose to a GeospatialPose in the same position as the original pose.

CreatePoseFromGeospatialPoseResult

Converts the input geospatial location and orientation relative to the Earth to a Pose in the same position.

open operator Boolean
equals(other: Any?)
open Int

Public properties

StateFlow<Geospatial.State>

The current State of Geospatial.

Extension functions

ListenableFuture<VpsAvailabilityResult>
Geospatial.checkVpsAvailabilityAsync(
    session: Session,
    latitude: Double,
    longitude: Double
)

Gets the availability of the Visual Positioning System (VPS) at a specified horizontal position.

Extension properties

Flowable<Geospatial.State>

The current State of Geospatial.

Public companion functions

getInstance

Added in 1.0.0-alpha08
fun getInstance(session: Session): Geospatial

Returns the Geospatial object for the given Session.

Parameters
session: Session

the Session to get the Geospatial object from.

Public functions

checkVpsAvailability

suspend fun checkVpsAvailability(latitude: Double, longitude: Double): VpsAvailabilityResult

Gets the availability of the Visual Positioning System (VPS) at a specified horizontal position. The availability of VPS in a given location helps to improve the quality of Geospatial localization and tracking accuracy.

This launches an asynchronous operation used to query the Google Cloud ARCore API. It may be called without calling Session.configure.

Your app must be properly set up to communicate with the Google Cloud ARCore API in order to obtain a result from this call, otherwise the result will be VpsAvailabilityNotAuthorized.

Parameters
latitude: Double

The latitude in degrees.

longitude: Double

The longitude in degrees.

Returns
VpsAvailabilityResult

the result of the VPS availability check.

createGeospatialPoseFromPose

Added in 1.0.0-alpha08
fun createGeospatialPoseFromPose(pose: Pose): CreateGeospatialPoseFromPoseResult

Converts the input Pose to a GeospatialPose in the same position as the original pose.

This method may return a GeospatialPoseNotTracking result if Geospatial is not currently tracking.

Parameters
pose: Pose

the Pose to be converted into a GeospatialPose.

createPoseFromGeospatialPose

Added in 1.0.0-alpha08
fun createPoseFromGeospatialPose(geospatialPose: GeospatialPose): CreatePoseFromGeospatialPoseResult

Converts the input geospatial location and orientation relative to the Earth to a Pose in the same position.

This method may return a PoseNotTracking result if Geospatial is not currently tracking.

Positions near the north pole or south pole is not supported. If the latitude is within 0.1 degrees of the north pole or south pole (90 degrees or -90 degrees), this function will throw an IllegalArgumentException.

Parameters
geospatialPose: GeospatialPose

the GeospatialPose to be converted into a Pose.

Throws
kotlin.IllegalArgumentException

if the latitude is within 0.1 degrees of the north pole or south pole (90 degrees or -90 degrees).

equals

open operator fun equals(other: Any?): Boolean

hashCode

open fun hashCode(): Int

Public properties

state

Added in 1.0.0-alpha08
val stateStateFlow<Geospatial.State>

The current State of Geospatial.

Extension functions

checkVpsAvailabilityAsync

fun Geospatial.checkVpsAvailabilityAsync(
    session: Session,
    latitude: Double,
    longitude: Double
): ListenableFuture<VpsAvailabilityResult>

Gets the availability of the Visual Positioning System (VPS) at a specified horizontal position. The availability of VPS in a given location helps to improve the quality of Geospatial localization and tracking accuracy.

This launches an asynchronous operation used to query the Google Cloud ARCore API. It may be called without calling Session.configure.

Your app must be properly set up to communicate with the Google Cloud ARCore API in order to obtain a result from this call, otherwise the result will be VpsAvailabilityNotAuthorized.

Parameters
session: Session

The current Session.

latitude: Double

The latitude in degrees.

longitude: Double

The longitude in degrees.

Returns
ListenableFuture<VpsAvailabilityResult>

the result of the VPS availability check.

Extension properties