Package com.trx.neon.api.neon.model
Class NeonLocation
- java.lang.Object
-
- com.trx.neon.api.neon.model.NeonLocation
-
- All Implemented Interfaces:
android.os.Parcelable
public class NeonLocation extends java.lang.Object implements android.os.Parcelable
-
-
Field Summary
Fields Modifier and Type Field Description float
altitude
An altitude estimate in meters above mean sea level (MSL).float
altitudeError
An altitude error estimate in meters.float
altitudeHae
The height above the Earth ellipsoid in metersfloat
altitudeHaeError
The error range (in meters) of the height above the Earth ellipsoidjava.lang.Float
altitudeHat
The height above the terrain elevation at this location in meters This value may be null if elevation data is not availablejava.lang.Float
altitudeHatError
The error range (in meters) of the height above the terrain elevation at this location This value may be null if elevation data is not availablebyte
batteryHH
Percent battery life of the android device at the time of this location Valid range 0-100 Outside of range means battery life unknownbyte
batteryTU
Percent battery life of the tracking unit at the time of this location Valid range 0-100 Outside of range means battery life unknownstatic android.os.Parcelable.Creator<NeonLocation>
CREATOR
Used for sending data across bindersdouble
errorLatitude
The latitude of the center point of the computed error bounds on this position Note that this is not always the same as the estimate of the position itself.double
errorLongitude
The longitude of the center point of the computed error bounds on this position Note that this is not always the same as the estimate of the position itself.float
errorRadius
The radius of the computed error bounds on this position (meters) Note that this is around the point specified by ErrorLongitude and ErrorLatitudeboolean
hasAbsoluteAltitude
Whether or not an absolute altitude estimate has been found in meters above mean sea level (MSL).float
heading
The heading of the user (degrees) The heading provided is in the range (-inf, inf) - not limited to the range [0, 360).float
headingError
The heading variance of the user (degrees) 0 represents low variance.boolean
inVehicle
The vehicle mode status at the time of this location Defaults to false Sets to true after a vehicle start detection and resets to false after a vehicle stop detectionint
iteration
This number represents an internal iteration count within the NeonLocationServices.double
latitude
The latitude of the user (degrees)byte
lockStatus
The lock status of the tracking unit at the time of this location Valid range 0-4 where 4 indicates a full lockdouble
longitude
The longitude of the user (degrees)int
serialNumber
The serial number represents the tracking device.int
sessionID
The session ID represents turn on to turn off of the tracking device.java.util.UUID
structureID
java.lang.String
type
This represents the source of the location, example: NEON = fused with Tracker, GPS = Android GPD only no tracker usedlong
unixTimeMs
This timestamp represents the time of validity of the location.java.lang.Float
z
java.lang.Float
zError
-
Constructor Summary
Constructors Constructor Description NeonLocation(int serial, int session, long unixTimeMs, int navIter, java.lang.String type, double longitude, double latitude, float heading, float headingError, double errorLongitude, double errorLatitude, float errorRadius, boolean hasAbsoluteAltitude, float altitude, float altitudeError, java.util.UUID structureID, java.lang.Float z, java.lang.Float zError, byte batteryAndroid, byte batteryTrackingUnit, byte lockStatus, boolean inVehicle, float altitudeHae, float altitudeHaeError, java.lang.Float altitudeHat, java.lang.Float altitudeHatError)
NeonLocation(NeonLocation loc)
Copy constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
describeContents()
java.lang.Float
getFloor()
A convenience method to quickly integrate NeonLocations into applications that understand floating point floor numbersjava.lang.Float
getFloorError()
A convenience method to quickly integrate NeonLocations into applications that understand floating point floor numbersjava.lang.Integer
getNearestFloor()
A convenience method to quickly integrate NeonLocations into applications that understand integer floor numbers.android.location.Location
toLocation()
A convenience method to quickly integrate NeonLocations into applications that use the android.location.Location type.java.lang.String
toString()
void
writeToParcel(android.os.Parcel dest, int flags)
-
-
-
Field Detail
-
serialNumber
public final int serialNumber
The serial number represents the tracking device.
-
sessionID
public final int sessionID
The session ID represents turn on to turn off of the tracking device. A new session ID will be generated each time the tracking unit is restarted, or in the case of tracking on the phone itself, every time the NeonLocationService is bound and then fully unbound by all client applications.
-
unixTimeMs
public final long unixTimeMs
This timestamp represents the time of validity of the location. It is a UTC time in milliseconds. (This is generally the same frame of reference as System.currentTimeMillis())
-
iteration
public final int iteration
This number represents an internal iteration count within the NeonLocationServices. In the case of receiving two device locations with the same time stamp, this value should be used as a tie breaker. Of two NeonLocations with the same time stamp, the one with the higher iteration is a correction to the previously calculated position, based on the newly received constraint input data. Only systems that display paths/trails are likely to care about this number.
-
type
public final java.lang.String type
This represents the source of the location, example: NEON = fused with Tracker, GPS = Android GPD only no tracker used
-
longitude
public final double longitude
The longitude of the user (degrees)
-
latitude
public final double latitude
The latitude of the user (degrees)
-
heading
public final float heading
The heading of the user (degrees) The heading provided is in the range (-inf, inf) - not limited to the range [0, 360). To obtain compass heading the user can perform a mod 360 operation. clockwise. 0 represents north. 90 represents east.
-
headingError
public final float headingError
The heading variance of the user (degrees) 0 represents low variance. 180 represents high variance.
-
errorLongitude
public final double errorLongitude
The longitude of the center point of the computed error bounds on this position Note that this is not always the same as the estimate of the position itself.
-
errorLatitude
public final double errorLatitude
The latitude of the center point of the computed error bounds on this position Note that this is not always the same as the estimate of the position itself.
-
errorRadius
public final float errorRadius
The radius of the computed error bounds on this position (meters) Note that this is around the point specified by ErrorLongitude and ErrorLatitude
-
hasAbsoluteAltitude
public final boolean hasAbsoluteAltitude
Whether or not an absolute altitude estimate has been found in meters above mean sea level (MSL). Altitude will always be set, but in the absence of constraint data, hasAbsoluteAltitude will be false and only deltas will be valid.
-
altitude
public final float altitude
An altitude estimate in meters above mean sea level (MSL). Altitude will always be set, but in the absence of constraint data, hasAbsoluteAltitude will be false and only deltas will be valid.. Client applications should check that the AltitudeError is reasonable for their purposes before displaying the Altitude to the user.
-
altitudeError
public final float altitudeError
An altitude error estimate in meters. The error should be read as a CEP bounds in either direction about the Altitude ie: With 50% probability, [Altitude-AltitudeError, Altitude+AltitudeError] contains the user's current altitude. Client applications should check that this number looks reasonable for their purposes before displaying Altitude to end users. As a rough order of magnitude, a standard building's floor height is around 3.2 meters.
-
structureID
public final java.util.UUID structureID
-
z
public final java.lang.Float z
-
zError
public final java.lang.Float zError
-
batteryHH
public final byte batteryHH
Percent battery life of the android device at the time of this location Valid range 0-100 Outside of range means battery life unknown
-
batteryTU
public final byte batteryTU
Percent battery life of the tracking unit at the time of this location Valid range 0-100 Outside of range means battery life unknown
-
lockStatus
public final byte lockStatus
The lock status of the tracking unit at the time of this location Valid range 0-4 where 4 indicates a full lock
-
inVehicle
public final boolean inVehicle
The vehicle mode status at the time of this location Defaults to false Sets to true after a vehicle start detection and resets to false after a vehicle stop detection
-
altitudeHae
public final float altitudeHae
The height above the Earth ellipsoid in meters
-
altitudeHaeError
public final float altitudeHaeError
The error range (in meters) of the height above the Earth ellipsoid
-
altitudeHat
public final java.lang.Float altitudeHat
The height above the terrain elevation at this location in meters This value may be null if elevation data is not available
-
altitudeHatError
public final java.lang.Float altitudeHatError
The error range (in meters) of the height above the terrain elevation at this location This value may be null if elevation data is not available
-
CREATOR
public static final android.os.Parcelable.Creator<NeonLocation> CREATOR
Used for sending data across binders
-
-
Constructor Detail
-
NeonLocation
public NeonLocation(int serial, int session, long unixTimeMs, int navIter, java.lang.String type, double longitude, double latitude, float heading, float headingError, double errorLongitude, double errorLatitude, float errorRadius, boolean hasAbsoluteAltitude, float altitude, float altitudeError, java.util.UUID structureID, java.lang.Float z, java.lang.Float zError, byte batteryAndroid, byte batteryTrackingUnit, byte lockStatus, boolean inVehicle, float altitudeHae, float altitudeHaeError, java.lang.Float altitudeHat, java.lang.Float altitudeHatError)
-
NeonLocation
public NeonLocation(NeonLocation loc)
Copy constructor
-
-
Method Detail
-
getFloor
public java.lang.Float getFloor()
A convenience method to quickly integrate NeonLocations into applications that understand floating point floor numbers
-
getFloorError
public java.lang.Float getFloorError()
A convenience method to quickly integrate NeonLocations into applications that understand floating point floor numbers
-
getNearestFloor
public java.lang.Integer getNearestFloor()
A convenience method to quickly integrate NeonLocations into applications that understand integer floor numbers.
-
toLocation
public android.location.Location toLocation()
A convenience method to quickly integrate NeonLocations into applications that use the android.location.Location type.
-
describeContents
public int describeContents()
- Specified by:
describeContents
in interfaceandroid.os.Parcelable
-
writeToParcel
public void writeToParcel(android.os.Parcel dest, int flags)
- Specified by:
writeToParcel
in interfaceandroid.os.Parcelable
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-