Module redvox.api1000.wrapped_redvox_packet.sensors.location
This module provides tools for working with RedVox API M location data and metadata.
Expand source code
"""
This module provides tools for working with RedVox API M location data and metadata.
"""
import enum
from typing import List
import redvox.api1000.common.common as common
from redvox.api1000.common.decorators import wrap_enum
from redvox.api1000.common.generic import ProtoBase, ProtoRepeatedMessage
import redvox.api1000.common.generic
import redvox.api1000.common.typing
from redvox.api1000.proto.redvox_api_m_pb2 import RedvoxPacketM
# noinspection Mypy
@wrap_enum(RedvoxPacketM.Sensors.Location.LocationProvider)
class LocationProvider(enum.Enum):
"""
An enum that represents valid location providers
"""
UNKNOWN: int = 0
NONE: int = 1
USER: int = 2
GPS: int = 3
NETWORK: int = 4
# noinspection Mypy
@wrap_enum(RedvoxPacketM.Sensors.Location.BestLocation.LocationScoreMethod)
class LocationScoreMethod(enum.Enum):
"""
An enum that represents location scoring methods
"""
UNKNOWN_METHOD: int = 0
class BestTimestamp(
redvox.api1000.common.generic.ProtoBase[
RedvoxPacketM.Sensors.Location.BestLocation.BestTimestamp
]
):
"""
This class encapsulates the best timestamps associated with the best location estimates.
"""
def __init__(
self, proto: RedvoxPacketM.Sensors.Location.BestLocation.BestTimestamp
):
super().__init__(proto)
def get_unit(self) -> common.Unit:
"""
:return: The unit of the timestamps.
"""
# noinspection Mypy
# pylint: disable=E1101
return common.Unit.from_proto(self._proto.unit)
def set_default_unit(self) -> "BestTimestamp":
"""
Sets the default timestamp unit.
:return: A modified instance of self
"""
# noinspection PyTypeChecker
return self.set_unit(common.Unit.MICROSECONDS_SINCE_UNIX_EPOCH)
def set_unit(self, unit: common.Unit) -> "BestTimestamp":
"""
Sets the unit of the best timestamps.
:param unit: Unit to set.
:return: A modified instance of self.
"""
redvox.api1000.common.typing.check_type(unit, [common.Unit])
# noinspection Mypy
self._proto.unit = unit.into_proto()
return self
def get_mach(self) -> float:
"""
:return: The best machine timestamp
"""
return self._proto.mach
def set_mach(self, mach: float) -> "BestTimestamp":
"""
Sets the best machine timestamp.
:param mach: Timestamp to set.
:return: A modified instance of self.
"""
redvox.api1000.common.typing.check_type(mach, [int, float])
self._proto.mach = mach
return self
def get_gps(self) -> float:
"""
:return: The best GPS timestamp.
"""
return self._proto.gps
def set_gps(self, gps: float) -> "BestTimestamp":
"""
Sets the best GPS provided timestamp
:param gps: Timestamp to set
:return: A modified instance of self
"""
redvox.api1000.common.typing.check_type(gps, [int, float])
self._proto.gps = gps
return self
class BestLocation(ProtoBase[RedvoxPacketM.Sensors.Location.BestLocation]):
"""
Encapsulates the best location estimates
"""
def __init__(self, proto: RedvoxPacketM.Sensors.Location.BestLocation):
super().__init__(proto)
self._latitude_longitude_timestamp: BestTimestamp = BestTimestamp(
proto.latitude_longitude_timestamp
)
self._altitude_timestamp: BestTimestamp = BestTimestamp(
proto.altitude_timestamp
)
self._speed_timestamp: BestTimestamp = BestTimestamp(proto.speed_timestamp)
self._bearing_timestamp: BestTimestamp = BestTimestamp(proto.bearing_timestamp)
@staticmethod
def new() -> "BestLocation":
"""
:return: A new, empty BestLocation instance
"""
return BestLocation(RedvoxPacketM.Sensors.Location.BestLocation())
def get_latitude_longitude_timestamp(self) -> BestTimestamp:
"""
:return: Best timestamps associated with best latitude and longitude
"""
return self._latitude_longitude_timestamp
def set_latitude_longitude_timestamp(
self, latitude_longitude_timestamp: BestTimestamp
) -> "BestLocation":
"""
Sets the latitude/longitude best timestamp.
:param latitude_longitude_timestamp: The BestTimestamp to set.
:return: A modified instance of self.
"""
common.check_type(latitude_longitude_timestamp, [BestTimestamp])
self.get_proto().latitude_longitude_timestamp.CopyFrom(
latitude_longitude_timestamp.get_proto()
)
self._latitude_longitude_timestamp = BestTimestamp(
self.get_proto().latitude_longitude_timestamp
)
return self
def get_altitude_timestamp(self) -> BestTimestamp:
"""
:return: Best timestamps associated with best altitude
"""
return self._altitude_timestamp
def set_altitude_timestamp(
self, altitude_timestamp: BestTimestamp
) -> "BestLocation":
"""
Sets the altitude timestamp.
:param altitude_timestamp: The BestTimestamp to set.
:return: A modified instance of self.
"""
common.check_type(altitude_timestamp, [BestTimestamp])
self.get_proto().altitude_timestamp.CopyFrom(altitude_timestamp.get_proto())
self._altitude_timestamp = BestTimestamp(self.get_proto().altitude_timestamp)
return self
def get_speed_timestamp(self) -> BestTimestamp:
"""
:return: Best timestamps associated with best speed
"""
return self._speed_timestamp
def set_speed_timestamp(self, speed_timestamp: BestTimestamp) -> "BestLocation":
"""
Sets the speed timestamp.
:param speed_timestamp: The BestTimestamp to set.
:return: A modified instance of self.
"""
common.check_type(speed_timestamp, [BestTimestamp])
self.get_proto().speed_timestamp.CopyFrom(speed_timestamp.get_proto())
self._speed_timestamp = BestTimestamp(self.get_proto().speed_timestamp)
return self
def get_bearing_timestamp(self) -> BestTimestamp:
"""
:return: Best timestamps associated with best bearing
"""
return self._bearing_timestamp
def set_bearing_timestamp(self, bearing_timestamp: BestTimestamp) -> "BestLocation":
"""
Sets the bearing timestamp.
:param bearing_timestamp: The BestTimestamp to set.
:return: A modified instance of self.
"""
common.check_type(bearing_timestamp, [BestTimestamp])
self.get_proto().bearing_timestamp.CopyFrom(bearing_timestamp.get_proto())
self._bearing_timestamp = BestTimestamp(self.get_proto().bearing_timestamp)
return self
def get_latitude_longitude_unit(self) -> common.Unit:
"""
:return: Unit associated with latitude, longitude
"""
# noinspection Mypy
# pylint: disable=E1101
return common.Unit.from_proto(self._proto.latitude_longitude_unit)
def set_latitude_longitude_unit(self, unit: common.Unit) -> "BestLocation":
"""
Sets the unit associated with latitude and longitude
:param unit: Unit to set
:return: A modified instance of self
"""
redvox.api1000.common.typing.check_type(unit, [common.Unit])
# noinspection Mypy
self._proto.latitude_longitude_unit = unit.into_proto()
return self
def get_altitude_unit(self) -> common.Unit:
"""
:return: Unit associated with altitude
"""
# noinspection Mypy
# pylint: disable=E1101
return common.Unit.from_proto(self._proto.altitude_unit)
def set_altitude_unit(self, unit: common.Unit) -> "BestLocation":
"""
Sets the unit associated with altitude
:param unit: Unit to set
:return: A modified instance of self
"""
redvox.api1000.common.typing.check_type(unit, [common.Unit])
# noinspection Mypy
self._proto.altitude_unit = unit.into_proto()
return self
def get_speed_unit(self) -> common.Unit:
"""
:return: Unit associated with altitude
"""
# noinspection Mypy
# pylint: disable=E1101
return common.Unit.from_proto(self._proto.speed_unit)
def set_speed_unit(self, unit: common.Unit) -> "BestLocation":
"""
Sets the unit associated with speed
:param unit: Unit to set
:return: A modified instance of self
"""
redvox.api1000.common.typing.check_type(unit, [common.Unit])
# noinspection Mypy
self._proto.speed_unit = unit.into_proto()
return self
def get_bearing_unit(self) -> common.Unit:
"""
:return: Unit associated with bearing
"""
# noinspection Mypy
# pylint: disable=E1101
return common.Unit.from_proto(self._proto.bearing_unit)
def set_bearing_unit(self, unit: common.Unit) -> "BestLocation":
"""
Sets the unit associated with speed
:param unit: Unit to set
:return: A modified instance of self
"""
redvox.api1000.common.typing.check_type(unit, [common.Unit])
# noinspection Mypy
self._proto.bearing_unit = unit.into_proto()
return self
def get_vertical_accuracy_unit(self) -> common.Unit:
"""
:return: Unit associated with vertical accuracy
"""
# noinspection Mypy
# pylint: disable=E1101
return common.Unit.from_proto(self._proto.vertical_accuracy_unit)
def set_vertical_accuracy_unit(self, unit: common.Unit) -> "BestLocation":
"""
Sets the unit associated with vertical accuracy
:param unit: Unit to set
:return: A modified instance of self
"""
redvox.api1000.common.typing.check_type(unit, [common.Unit])
# noinspection Mypy
self._proto.vertical_accuracy_unit = unit.into_proto()
return self
def get_horizontal_accuracy_unit(self) -> common.Unit:
"""
:return: Unit associated with horizontal accuracy
"""
# noinspection Mypy
# pylint: disable=E1101
return common.Unit.from_proto(self._proto.horizontal_accuracy_unit)
def set_horizontal_accuracy_unit(self, unit: common.Unit) -> "BestLocation":
"""
Sets the unit associated with horizontal accuracy
:param unit: Unit to set
:return: A modified instance of self
"""
redvox.api1000.common.typing.check_type(unit, [common.Unit])
# noinspection Mypy
self._proto.horizontal_accuracy_unit = unit.into_proto()
return self
def get_speed_accuracy_unit(self) -> common.Unit:
"""
:return: Unit associated with speed accuracy
"""
# noinspection Mypy
# pylint: disable=E1101
return common.Unit.from_proto(self._proto.speed_accuracy_unit)
def set_speed_accuracy_unit(self, unit: common.Unit) -> "BestLocation":
"""
Sets the unit associated with speed accuracy
:param unit: Unit to set
:return: A modified instance of self
"""
redvox.api1000.common.typing.check_type(unit, [common.Unit])
# noinspection Mypy
self._proto.speed_accuracy_unit = unit.into_proto()
return self
def get_bearing_accuracy_unit(self) -> common.Unit:
"""
:return: Unit associated with bearing accuracy
"""
# noinspection Mypy
# pylint: disable=E1101
return common.Unit.from_proto(self._proto.bearing_accuracy_unit)
def set_bearing_accuracy_unit(self, unit: common.Unit) -> "BestLocation":
"""
Sets the unit associated with bearing accuracy
:param unit: Unit to set
:return: A modified instance of self
"""
redvox.api1000.common.typing.check_type(unit, [common.Unit])
# noinspection Mypy
self._proto.bearing_accuracy_unit = unit.into_proto()
return self
def get_latitude(self) -> float:
"""
:return: The best latitude
"""
return self._proto.latitude
def set_latitude(self, latitude: float) -> "BestLocation":
"""
Sets the best latitude
:param latitude: Latitude to set
:return: A modified instance of self
"""
redvox.api1000.common.typing.check_type(latitude, [int, float])
self._proto.latitude = latitude
return self
def get_longitude(self) -> float:
"""
:return: The best longitude
"""
return self._proto.longitude
def set_longitude(self, longitude: float) -> "BestLocation":
"""
Sets the best longitude
:param longitude: Longitude to set
:return: A modified instance of self
"""
redvox.api1000.common.typing.check_type(longitude, [int, float])
self._proto.longitude = longitude
return self
def get_altitude(self) -> float:
"""
:return: The best altitude
"""
return self._proto.altitude
def set_altitude(self, altitude: float) -> "BestLocation":
"""
Sets the best altitude
:param altitude: Altitude to set
:return: A modified instance of self
"""
redvox.api1000.common.typing.check_type(altitude, [int, float])
self._proto.altitude = altitude
return self
def get_speed(self) -> float:
"""
:return: The best speed
"""
return self._proto.speed
def set_speed(self, speed: float) -> "BestLocation":
"""
Sets the best speed
:param speed: Speed to set
:return: A modified instance of self
"""
redvox.api1000.common.typing.check_type(speed, [int, float])
self._proto.speed = speed
return self
def get_bearing(self) -> float:
"""
:return: The best bearing
"""
return self._proto.bearing
def set_bearing(self, bearing: float) -> "BestLocation":
"""
Sets the best bearing
:param bearing: Bearing to set
:return: A modified instance of self
"""
redvox.api1000.common.typing.check_type(bearing, [int, float])
self._proto.bearing = bearing
return self
def get_vertical_accuracy(self) -> float:
"""
:return: The best vertical accuracy
"""
return self._proto.vertical_accuracy
def set_vertical_accuracy(self, vertical_accuracy: float) -> "BestLocation":
"""
Sets the best vertical accuracy.
:param vertical_accuracy: Accuracy to set
:return: A modified instance of self
"""
redvox.api1000.common.typing.check_type(vertical_accuracy, [int, float])
self._proto.vertical_accuracy = vertical_accuracy
return self
def get_horizontal_accuracy(self) -> float:
"""
:return: The best horizontal accuracy
"""
return self._proto.horizontal_accuracy
def set_horizontal_accuracy(self, horizontal_accuracy: float) -> "BestLocation":
"""
Sets the best horizontal accuracy
:param horizontal_accuracy: Accuracy to set
:return: A modified instance of self
"""
redvox.api1000.common.typing.check_type(horizontal_accuracy, [int, float])
self._proto.horizontal_accuracy = horizontal_accuracy
return self
def get_speed_accuracy(self) -> float:
"""
:return: The best speed accuracy
"""
return self._proto.speed_accuracy
def set_speed_accuracy(self, speed_accuracy: float) -> "BestLocation":
"""
Sets the best speed accuracy
:param speed_accuracy: Accuracy to set
:return: A modified instance of self
"""
redvox.api1000.common.typing.check_type(speed_accuracy, [int, float])
self._proto.speed_accuracy = speed_accuracy
return self
def get_bearing_accuracy(self) -> float:
"""
:return: The best bearing accuracy
"""
return self._proto.bearing_accuracy
def set_bearing_accuracy(self, bearing_accuracy: float) -> "BestLocation":
"""
Sets the best bearing accuracy
:param bearing_accuracy: Accuracy to set
:return: A modified instance of self
"""
redvox.api1000.common.typing.check_type(bearing_accuracy, [int, float])
self._proto.bearing_accuracy = bearing_accuracy
return self
def get_score(self) -> float:
"""
:return: The best location score
"""
return self._proto.score
def set_score(self, score: float) -> "BestLocation":
"""
Sets the best location score
:param score: Score to set
:return: A modified instance of self
"""
redvox.api1000.common.typing.check_type(score, [int, float])
self._proto.score = score
return self
def get_method(self) -> LocationScoreMethod:
"""
:return: The best location score method
"""
# noinspection Mypy
# pylint: disable=E1101
return LocationScoreMethod.from_proto(self._proto.method)
def set_method(self, method: LocationScoreMethod) -> "BestLocation":
"""
Sets the best location score method.
:param method: Method to set
:return: A modified instance of self
"""
redvox.api1000.common.typing.check_type(method, [LocationScoreMethod])
# noinspection Mypy
self._proto.method = method.into_proto()
return self
def get_location_provider(self) -> LocationProvider:
"""
:return: The location provide associated with the best location.
"""
# noinspection Mypy
# pylint: disable=E1101
return LocationProvider.from_proto(self._proto.location_provider)
def set_location_provider(
self, location_provider: LocationProvider
) -> "BestLocation":
"""
Sets the location provider associated with the best location.
:param location_provider: Location provider to set.
:return: A modified instance of self
"""
redvox.api1000.common.typing.check_type(location_provider, [LocationProvider])
# noinspection Mypy
self._proto.location_provider = location_provider.into_proto()
return self
class Location(redvox.api1000.common.generic.ProtoBase[RedvoxPacketM.Sensors.Location]):
"""
Encapsulates location data and metadata
"""
def __init__(self, proto: RedvoxPacketM.Sensors.Location):
super().__init__(proto)
self._timestamps: common.TimingPayload = common.TimingPayload(proto.timestamps)
self._timestamps_gps: common.TimingPayload = common.TimingPayload(
proto.timestamps_gps
)
self._latitude_samples: common.SamplePayload = common.SamplePayload(
proto.latitude_samples
)
self._longitude_samples: common.SamplePayload = common.SamplePayload(
proto.longitude_samples
)
self._altitude_samples: common.SamplePayload = common.SamplePayload(
proto.altitude_samples
)
self._speed_samples: common.SamplePayload = common.SamplePayload(
proto.speed_samples
)
self._bearing_samples: common.SamplePayload = common.SamplePayload(
proto.bearing_samples
)
self._horizontal_accuracy_samples: common.SamplePayload = common.SamplePayload(
proto.horizontal_accuracy_samples
)
self._vertical_accuracy_samples: common.SamplePayload = common.SamplePayload(
proto.vertical_accuracy_samples
)
self._speed_accuracy_samples: common.SamplePayload = common.SamplePayload(
proto.speed_accuracy_samples
)
self._bearing_accuracy_samples: common.SamplePayload = common.SamplePayload(
proto.bearing_accuracy_samples
)
self._last_best_location: BestLocation = BestLocation(proto.last_best_location)
self._overall_best_location: BestLocation = BestLocation(
proto.overall_best_location
)
# noinspection Mypy
# pylint: disable=E1101
self._location_providers: ProtoRepeatedMessage = ProtoRepeatedMessage(
proto,
proto.location_providers,
"location_providers",
LocationProvider.from_proto,
LocationProvider.into_proto,
)
@staticmethod
def new() -> "Location":
"""
:return: A new, empty Location instance
"""
return Location(RedvoxPacketM.Sensors.Location())
def get_sensor_description(self) -> str:
"""
:return: The location sensor description
"""
return self._proto.sensor_description
def set_sensor_description(self, sensor_description: str) -> "Location":
"""
Sets the location sensor's description
:param sensor_description: Description to set
:return: A modified instance of self
"""
redvox.api1000.common.typing.check_type(sensor_description, [str])
self._proto.sensor_description = sensor_description
return self
def get_timestamps(self) -> common.TimingPayload:
"""
:return: The timing payload (machine timestamps) associated with this sensor's location samples
"""
return self._timestamps
def set_timestamps(self, timestamps: common.TimingPayload) -> "Location":
"""
Sets the timestamps.
:param timestamps: Timing payload to set.
:return: A modified instance of self.
"""
common.check_type(timestamps, [common.TimingPayload])
self.get_proto().timestamps.CopyFrom(timestamps.get_proto())
self._timestamps = common.TimingPayload(self.get_proto().timestamps)
return self
def get_timestamps_gps(self) -> common.TimingPayload:
"""
:return: The timing payload (gps timestamps) associated with this sensor's location samples
"""
return self._timestamps_gps
def set_timestamps_gps(self, timestamps_gps: common.TimingPayload) -> "Location":
"""
Sets the GPS timing samples.
:param timestamps_gps: Payload to set.
:return: A modified instance of self.
"""
common.check_type(timestamps_gps, [common.TimingPayload])
self.get_proto().timestamps_gps.CopyFrom(timestamps_gps.get_proto())
self._timestamps_gps = common.TimingPayload(self.get_proto().timestamps_gps)
return self
def get_latitude_samples(self) -> common.SamplePayload:
"""
:return: The SamplePayload containing latitude samples and statistics
"""
return self._latitude_samples
def set_latitude_samples(
self, latitude_samples: common.SamplePayload
) -> "Location":
"""
Sets the latitude samples.
:param latitude_samples: Payload top set.
:return: A modified instance of self.
"""
common.check_type(latitude_samples, [common.SamplePayload])
# noinspection Mypy
self.get_proto().latitude_samples.CopyFrom(latitude_samples.get_proto())
self._latitude_samples = common.SamplePayload(self.get_proto().latitude_samples)
return self
def get_longitude_samples(self) -> common.SamplePayload:
"""
:return: The SamplePayload containing longitude samples and statistics
"""
return self._longitude_samples
def set_longitude_samples(
self, longitude_samples: common.SamplePayload
) -> "Location":
"""
Sets the longitude samples.
:param longitude_samples: Payload to set.
:return: A modified instance of self.
"""
common.check_type(longitude_samples, [common.SamplePayload])
# noinspection Mypy
self.get_proto().longitude_samples.CopyFrom(longitude_samples.get_proto())
self._longitude_samples = common.SamplePayload(
self.get_proto().longitude_samples
)
return self
def get_altitude_samples(self) -> common.SamplePayload:
"""
:return: The SamplePayload containing altitude samples and statistics
"""
return self._altitude_samples
def set_altitude_samples(
self, altitude_samples: common.SamplePayload
) -> "Location":
"""
Sets the altitude samples.
:param altitude_samples: Payload to set.
:return: A modified instance of self.
"""
common.check_type(altitude_samples, [common.SamplePayload])
# noinspection Mypy
self.get_proto().altitude_samples.CopyFrom(altitude_samples.get_proto())
self._altitude_samples = common.SamplePayload(self.get_proto().altitude_samples)
return self
def get_speed_samples(self) -> common.SamplePayload:
"""
:return: The SamplePayload containing speed samples and statistics
"""
return self._speed_samples
def set_speed_samples(self, speed_samples: common.SamplePayload) -> "Location":
"""
Sets the speed samples.
:param speed_samples: Payload to set.
:return: A modified instance of self.
"""
common.check_type(speed_samples, [common.SamplePayload])
# noinspection Mypy
self.get_proto().speed_samples.CopyFrom(speed_samples.get_proto())
self._speed_samples = common.SamplePayload(self.get_proto().speed_samples)
return self
def get_bearing_samples(self) -> common.SamplePayload:
"""
:return: The SamplePayload containing bearing samples and statistics
"""
return self._bearing_samples
def set_bearing_samples(self, bearing_samples: common.SamplePayload) -> "Location":
"""
Sets the bearing samples.
:param bearing_samples: Payload to set.
:return: A modified instance of self.
"""
common.check_type(bearing_samples, [common.SamplePayload])
# noinspection Mypy
self.get_proto().bearing_samples.CopyFrom(bearing_samples.get_proto())
self._bearing_samples = common.SamplePayload(self.get_proto().bearing_samples)
return self
def get_horizontal_accuracy_samples(self) -> common.SamplePayload:
"""
:return: The SamplePayload containing horizontal accuracy samples and statistics
"""
return self._horizontal_accuracy_samples
def set_horizontal_accuracy_samples(
self, horizontal_accuracy_samples: common.SamplePayload
) -> "Location":
"""
Sets the horizontal accuracy samples.
:param horizontal_accuracy_samples: Payload to set.
:return: A modified instance of self.
"""
common.check_type(horizontal_accuracy_samples, [common.SamplePayload])
# noinspection Mypy
self.get_proto().horizontal_accuracy_samples.CopyFrom(
horizontal_accuracy_samples.get_proto()
)
self._horizontal_accuracy_samples = common.SamplePayload(
self.get_proto().horizontal_accuracy_samples
)
return self
def get_vertical_accuracy_samples(self) -> common.SamplePayload:
"""
:return: The SamplePayload containing vertical accuracy samples and statistics
"""
return self._vertical_accuracy_samples
def set_vertical_accuracy_samples(
self, vertical_accuracy_samples: common.SamplePayload
) -> "Location":
"""
Sets the vertical accuracy samples.
:param vertical_accuracy_samples: Payload to set.
:return: A modified instance of self.
"""
common.check_type(vertical_accuracy_samples, [common.SamplePayload])
# noinspection Mypy
self.get_proto().vertical_accuracy_samples.CopyFrom(
vertical_accuracy_samples.get_proto()
)
self._vertical_accuracy_samples = common.SamplePayload(
self.get_proto().vertical_accuracy_samples
)
return self
def get_speed_accuracy_samples(self) -> common.SamplePayload:
"""
:return: The SamplePayload containing speed accuracy samples and statistics
"""
return self._speed_accuracy_samples
def set_speed_accuracy_samples(
self, speed_accuracy_samples: common.SamplePayload
) -> "Location":
"""
Sets the speed accuracy samples.
:param speed_accuracy_samples: Payload to set.
:return: A modified instance of self.
"""
common.check_type(speed_accuracy_samples, [common.SamplePayload])
# noinspection Mypy
self.get_proto().speed_accuracy_samples.CopyFrom(
speed_accuracy_samples.get_proto()
)
self._speed_accuracy_samples = common.SamplePayload(
self.get_proto().speed_accuracy_samples
)
return self
def get_bearing_accuracy_samples(self) -> common.SamplePayload:
"""
:return: The SamplePayload containing bearing accuracy samples and statistics
"""
return self._bearing_accuracy_samples
def set_bearing_accuracy_samples(
self, bearing_accuracy_samples: common.SamplePayload
) -> "Location":
"""
Sets the samples for the bearing accuracy channel.
:param bearing_accuracy_samples: Samples to set.
:return: A modified instance of self.
"""
common.check_type(bearing_accuracy_samples, [common.SamplePayload])
# noinspection Mypy
self.get_proto().bearing_accuracy_samples.CopyFrom(
bearing_accuracy_samples.get_proto()
)
self._bearing_accuracy_samples = common.SamplePayload(
self.get_proto().bearing_accuracy_samples
)
return self
def get_last_best_location(self) -> BestLocation:
"""
:return: This returns the most recent BestLocation
"""
return self._last_best_location
def set_last_best_location(self, last_best_location: BestLocation) -> "Location":
"""
Sets the most recent best location.
:param last_best_location: The most recent best location to set.
:return: A modified instance of self.
"""
common.check_type(last_best_location, [BestLocation])
self.get_proto().last_best_location.CopyFrom(last_best_location.get_proto())
self._last_best_location = BestLocation(self.get_proto().last_best_location)
return self
def get_overall_best_location(self) -> BestLocation:
"""
:return: This returns the overall best location since the station last moved
"""
return self._overall_best_location
def set_overall_best_location(
self, overall_best_location: BestLocation
) -> "Location":
"""
Sets the overall best location.
:param overall_best_location: BestLocation to set.
:return: A modified instance of self.
"""
common.check_type(overall_best_location, [BestLocation])
self.get_proto().overall_best_location.CopyFrom(
overall_best_location.get_proto()
)
self._overall_best_location = BestLocation(
self.get_proto().overall_best_location
)
return self
def get_location_permissions_granted(self) -> bool:
"""
:return: Have location permissions been granted?
"""
return self._proto.location_permissions_granted
def set_location_permissions_granted(
self, location_permissions_granted: bool
) -> "Location":
"""
Sets if location permissions have been granted.
:param location_permissions_granted: Permissions to set
:return: A modified instance of self
"""
redvox.api1000.common.typing.check_type(location_permissions_granted, [bool])
self._proto.location_permissions_granted = location_permissions_granted
return self
def get_location_services_requested(self) -> bool:
"""
:return: Have location services been requested by the user?
"""
return self._proto.location_services_requested
def set_location_services_requested(
self, location_services_requested: bool
) -> "Location":
"""
Sets if location services have been requested.
:param location_services_requested:
:return:
"""
redvox.api1000.common.typing.check_type(location_services_requested, [bool])
self._proto.location_services_requested = location_services_requested
return self
def get_location_services_enabled(self) -> bool:
"""
:return: If location services are enabled.
"""
return self._proto.location_services_enabled
def set_location_services_enabled(
self, location_services_enabled: bool
) -> "Location":
"""
Sets if location servers are enabled.
:param location_services_enabled: Set enabled or disabled
:return: Modified version of self
"""
redvox.api1000.common.typing.check_type(location_services_enabled, [bool])
self._proto.location_services_enabled = location_services_enabled
return self
def get_location_providers(self) -> ProtoRepeatedMessage:
"""
:return: A list of location providers associated with each location sample
"""
return self._location_providers
def set_location_providers(
self, location_providers: ProtoRepeatedMessage
) -> "Location":
"""
Sets the location provides.
:param location_providers: An instance of a ProtoRepeatedMessage containing the location providers.
:return: A modified instance of self.
"""
common.check_type(location_providers, [ProtoRepeatedMessage])
self._location_providers.clear_values()
self._location_providers.append_values(location_providers.get_values())
return self
def is_only_best_values(self) -> bool:
"""
:return: True if the location does not have data in it and has a last_best_location or overall_best_location
"""
return self.get_location_providers().get_count() < 1 and (
self.get_last_best_location() is not None
or self.get_overall_best_location() is not None
)
def validate_location(loc_sensor: Location) -> List[str]:
"""
Validates the location
:param loc_sensor: Location to validate
:return: A list of validation errors
"""
errors_list = validate_best_location(loc_sensor.get_last_best_location())
errors_list.extend(validate_best_location(loc_sensor.get_overall_best_location()))
if loc_sensor.is_only_best_values():
return errors_list
errors_list.extend(common.validate_timing_payload(loc_sensor.get_timestamps()))
errors_list.extend(
common.validate_sample_payload(loc_sensor.get_latitude_samples(), "Latitude", common.Unit.DECIMAL_DEGREES)
)
if any(loc_sensor.get_latitude_samples().get_values() < -90) \
or any(loc_sensor.get_latitude_samples().get_values() > 90):
errors_list.append("Location sensor latitude value is beyond valid range")
errors_list.extend(
common.validate_sample_payload(loc_sensor.get_longitude_samples(), "Longitude", common.Unit.DECIMAL_DEGREES)
)
if any(loc_sensor.get_longitude_samples().get_values() < -180) \
or any(loc_sensor.get_longitude_samples().get_values() > 180):
errors_list.append("Location sensor longitude value is beyond valid range")
if loc_sensor.get_altitude_samples().get_unit() != common.Unit.METERS:
errors_list.append("Location sensor altitude units are not meters")
if loc_sensor.get_speed_samples().get_unit() != common.Unit.METERS_PER_SECOND:
errors_list.append("Location sensor speed units are not meters per second")
if loc_sensor.get_bearing_samples().get_unit() != common.Unit.DECIMAL_DEGREES:
errors_list.append("Location sensor bearing units are not decimal degrees")
if loc_sensor.get_horizontal_accuracy_samples().get_unit() != common.Unit.METERS:
errors_list.append("Location sensor horizontal accuracy units are not meters")
if loc_sensor.get_vertical_accuracy_samples().get_unit() != common.Unit.METERS:
errors_list.append("Location sensor vertical accuracy units are not meters")
if loc_sensor.get_speed_accuracy_samples().get_unit() != common.Unit.METERS_PER_SECOND:
errors_list.append(
"Location sensor speed accuracy units are not meters per second"
)
if loc_sensor.get_bearing_accuracy_samples().get_unit() != common.Unit.DECIMAL_DEGREES:
errors_list.append(
"Location sensor bearing accuracy units are not decimal degrees"
)
return errors_list
def validate_best_location(best_loc: BestLocation) -> List[str]:
"""
Validates the best location
:param best_loc: Best Location to validate
:return: A list of validation errors
"""
errors_list = []
if best_loc.get_latitude_longitude_timestamp().get_unit() != common.Unit.UNKNOWN:
if best_loc.get_latitude_longitude_timestamp().get_unit() != common.Unit.MICROSECONDS_SINCE_UNIX_EPOCH:
errors_list.append(
"Best location latitude and longitude timestamp is not in microseconds since unix epoch"
)
if best_loc.get_latitude_longitude_unit() != common.Unit.DECIMAL_DEGREES:
errors_list.append(
"Best location latitude and longitude units are not decimal degrees"
)
if best_loc.get_latitude() < -90 or best_loc.get_latitude() > 90:
errors_list.append("Best location latitude value is beyond valid range")
if best_loc.get_longitude() < -180 or best_loc.get_longitude() > 180:
errors_list.append("Best location longitude value is beyond valid range")
if best_loc.get_altitude_timestamp().get_unit() \
not in [common.Unit.MICROSECONDS_SINCE_UNIX_EPOCH, common.Unit.UNKNOWN]:
errors_list.append(
"Best location altitude timestamp is not in microseconds since unix epoch"
)
if best_loc.get_altitude_unit() not in [common.Unit.METERS, common.Unit.UNKNOWN]:
errors_list.append("Best location altitude units are not meters")
if best_loc.get_speed_timestamp().get_unit() \
not in [common.Unit.MICROSECONDS_SINCE_UNIX_EPOCH, common.Unit.UNKNOWN]:
errors_list.append(
"Best location speed timestamp is not in microseconds since unix epoch"
)
if best_loc.get_speed_unit() not in [common.Unit.METERS_PER_SECOND, common.Unit.UNKNOWN]:
errors_list.append("Best location speed units are not meters per second")
if best_loc.get_bearing_timestamp().get_unit() \
not in [common.Unit.MICROSECONDS_SINCE_UNIX_EPOCH, common.Unit.UNKNOWN]:
errors_list.append(
"Best location bearing timestamp is not in microseconds since unix epoch"
)
if best_loc.get_bearing_unit() not in [common.Unit.DECIMAL_DEGREES, common.Unit.UNKNOWN]:
errors_list.append("Best location bearing units are not decimal degrees")
if best_loc.get_horizontal_accuracy_unit() not in [common.Unit.METERS, common.Unit.UNKNOWN]:
errors_list.append("Best location horizontal accuracy units are not meters")
if best_loc.get_vertical_accuracy_unit() not in [common.Unit.METERS, common.Unit.UNKNOWN]:
errors_list.append("Best location vertical accuracy units are not meters")
if best_loc.get_speed_accuracy_unit() not in [common.Unit.METERS_PER_SECOND, common.Unit.UNKNOWN]:
errors_list.append(
"Best location speed accuracy units are not meters per second"
)
if best_loc.get_bearing_accuracy_unit() not in [common.Unit.DECIMAL_DEGREES, common.Unit.UNKNOWN]:
errors_list.append(
"Best location bearing accuracy units are not decimal degrees"
)
if (
best_loc.get_location_provider()
not in LocationProvider.__members__.values()
):
errors_list.append("Best location provider is not valid")
return errors_list
Functions
def validate_best_location(best_loc: BestLocation) ‑> List[str]
-
Validates the best location :param best_loc: Best Location to validate :return: A list of validation errors
Expand source code
def validate_best_location(best_loc: BestLocation) -> List[str]: """ Validates the best location :param best_loc: Best Location to validate :return: A list of validation errors """ errors_list = [] if best_loc.get_latitude_longitude_timestamp().get_unit() != common.Unit.UNKNOWN: if best_loc.get_latitude_longitude_timestamp().get_unit() != common.Unit.MICROSECONDS_SINCE_UNIX_EPOCH: errors_list.append( "Best location latitude and longitude timestamp is not in microseconds since unix epoch" ) if best_loc.get_latitude_longitude_unit() != common.Unit.DECIMAL_DEGREES: errors_list.append( "Best location latitude and longitude units are not decimal degrees" ) if best_loc.get_latitude() < -90 or best_loc.get_latitude() > 90: errors_list.append("Best location latitude value is beyond valid range") if best_loc.get_longitude() < -180 or best_loc.get_longitude() > 180: errors_list.append("Best location longitude value is beyond valid range") if best_loc.get_altitude_timestamp().get_unit() \ not in [common.Unit.MICROSECONDS_SINCE_UNIX_EPOCH, common.Unit.UNKNOWN]: errors_list.append( "Best location altitude timestamp is not in microseconds since unix epoch" ) if best_loc.get_altitude_unit() not in [common.Unit.METERS, common.Unit.UNKNOWN]: errors_list.append("Best location altitude units are not meters") if best_loc.get_speed_timestamp().get_unit() \ not in [common.Unit.MICROSECONDS_SINCE_UNIX_EPOCH, common.Unit.UNKNOWN]: errors_list.append( "Best location speed timestamp is not in microseconds since unix epoch" ) if best_loc.get_speed_unit() not in [common.Unit.METERS_PER_SECOND, common.Unit.UNKNOWN]: errors_list.append("Best location speed units are not meters per second") if best_loc.get_bearing_timestamp().get_unit() \ not in [common.Unit.MICROSECONDS_SINCE_UNIX_EPOCH, common.Unit.UNKNOWN]: errors_list.append( "Best location bearing timestamp is not in microseconds since unix epoch" ) if best_loc.get_bearing_unit() not in [common.Unit.DECIMAL_DEGREES, common.Unit.UNKNOWN]: errors_list.append("Best location bearing units are not decimal degrees") if best_loc.get_horizontal_accuracy_unit() not in [common.Unit.METERS, common.Unit.UNKNOWN]: errors_list.append("Best location horizontal accuracy units are not meters") if best_loc.get_vertical_accuracy_unit() not in [common.Unit.METERS, common.Unit.UNKNOWN]: errors_list.append("Best location vertical accuracy units are not meters") if best_loc.get_speed_accuracy_unit() not in [common.Unit.METERS_PER_SECOND, common.Unit.UNKNOWN]: errors_list.append( "Best location speed accuracy units are not meters per second" ) if best_loc.get_bearing_accuracy_unit() not in [common.Unit.DECIMAL_DEGREES, common.Unit.UNKNOWN]: errors_list.append( "Best location bearing accuracy units are not decimal degrees" ) if ( best_loc.get_location_provider() not in LocationProvider.__members__.values() ): errors_list.append("Best location provider is not valid") return errors_list
def validate_location(loc_sensor: Location) ‑> List[str]
-
Validates the location :param loc_sensor: Location to validate :return: A list of validation errors
Expand source code
def validate_location(loc_sensor: Location) -> List[str]: """ Validates the location :param loc_sensor: Location to validate :return: A list of validation errors """ errors_list = validate_best_location(loc_sensor.get_last_best_location()) errors_list.extend(validate_best_location(loc_sensor.get_overall_best_location())) if loc_sensor.is_only_best_values(): return errors_list errors_list.extend(common.validate_timing_payload(loc_sensor.get_timestamps())) errors_list.extend( common.validate_sample_payload(loc_sensor.get_latitude_samples(), "Latitude", common.Unit.DECIMAL_DEGREES) ) if any(loc_sensor.get_latitude_samples().get_values() < -90) \ or any(loc_sensor.get_latitude_samples().get_values() > 90): errors_list.append("Location sensor latitude value is beyond valid range") errors_list.extend( common.validate_sample_payload(loc_sensor.get_longitude_samples(), "Longitude", common.Unit.DECIMAL_DEGREES) ) if any(loc_sensor.get_longitude_samples().get_values() < -180) \ or any(loc_sensor.get_longitude_samples().get_values() > 180): errors_list.append("Location sensor longitude value is beyond valid range") if loc_sensor.get_altitude_samples().get_unit() != common.Unit.METERS: errors_list.append("Location sensor altitude units are not meters") if loc_sensor.get_speed_samples().get_unit() != common.Unit.METERS_PER_SECOND: errors_list.append("Location sensor speed units are not meters per second") if loc_sensor.get_bearing_samples().get_unit() != common.Unit.DECIMAL_DEGREES: errors_list.append("Location sensor bearing units are not decimal degrees") if loc_sensor.get_horizontal_accuracy_samples().get_unit() != common.Unit.METERS: errors_list.append("Location sensor horizontal accuracy units are not meters") if loc_sensor.get_vertical_accuracy_samples().get_unit() != common.Unit.METERS: errors_list.append("Location sensor vertical accuracy units are not meters") if loc_sensor.get_speed_accuracy_samples().get_unit() != common.Unit.METERS_PER_SECOND: errors_list.append( "Location sensor speed accuracy units are not meters per second" ) if loc_sensor.get_bearing_accuracy_samples().get_unit() != common.Unit.DECIMAL_DEGREES: errors_list.append( "Location sensor bearing accuracy units are not decimal degrees" ) return errors_list
Classes
class BestLocation (proto: src.redvox_api_m.redvox_api_m_pb2.BestLocation)
-
Encapsulates the best location estimates
Expand source code
class BestLocation(ProtoBase[RedvoxPacketM.Sensors.Location.BestLocation]): """ Encapsulates the best location estimates """ def __init__(self, proto: RedvoxPacketM.Sensors.Location.BestLocation): super().__init__(proto) self._latitude_longitude_timestamp: BestTimestamp = BestTimestamp( proto.latitude_longitude_timestamp ) self._altitude_timestamp: BestTimestamp = BestTimestamp( proto.altitude_timestamp ) self._speed_timestamp: BestTimestamp = BestTimestamp(proto.speed_timestamp) self._bearing_timestamp: BestTimestamp = BestTimestamp(proto.bearing_timestamp) @staticmethod def new() -> "BestLocation": """ :return: A new, empty BestLocation instance """ return BestLocation(RedvoxPacketM.Sensors.Location.BestLocation()) def get_latitude_longitude_timestamp(self) -> BestTimestamp: """ :return: Best timestamps associated with best latitude and longitude """ return self._latitude_longitude_timestamp def set_latitude_longitude_timestamp( self, latitude_longitude_timestamp: BestTimestamp ) -> "BestLocation": """ Sets the latitude/longitude best timestamp. :param latitude_longitude_timestamp: The BestTimestamp to set. :return: A modified instance of self. """ common.check_type(latitude_longitude_timestamp, [BestTimestamp]) self.get_proto().latitude_longitude_timestamp.CopyFrom( latitude_longitude_timestamp.get_proto() ) self._latitude_longitude_timestamp = BestTimestamp( self.get_proto().latitude_longitude_timestamp ) return self def get_altitude_timestamp(self) -> BestTimestamp: """ :return: Best timestamps associated with best altitude """ return self._altitude_timestamp def set_altitude_timestamp( self, altitude_timestamp: BestTimestamp ) -> "BestLocation": """ Sets the altitude timestamp. :param altitude_timestamp: The BestTimestamp to set. :return: A modified instance of self. """ common.check_type(altitude_timestamp, [BestTimestamp]) self.get_proto().altitude_timestamp.CopyFrom(altitude_timestamp.get_proto()) self._altitude_timestamp = BestTimestamp(self.get_proto().altitude_timestamp) return self def get_speed_timestamp(self) -> BestTimestamp: """ :return: Best timestamps associated with best speed """ return self._speed_timestamp def set_speed_timestamp(self, speed_timestamp: BestTimestamp) -> "BestLocation": """ Sets the speed timestamp. :param speed_timestamp: The BestTimestamp to set. :return: A modified instance of self. """ common.check_type(speed_timestamp, [BestTimestamp]) self.get_proto().speed_timestamp.CopyFrom(speed_timestamp.get_proto()) self._speed_timestamp = BestTimestamp(self.get_proto().speed_timestamp) return self def get_bearing_timestamp(self) -> BestTimestamp: """ :return: Best timestamps associated with best bearing """ return self._bearing_timestamp def set_bearing_timestamp(self, bearing_timestamp: BestTimestamp) -> "BestLocation": """ Sets the bearing timestamp. :param bearing_timestamp: The BestTimestamp to set. :return: A modified instance of self. """ common.check_type(bearing_timestamp, [BestTimestamp]) self.get_proto().bearing_timestamp.CopyFrom(bearing_timestamp.get_proto()) self._bearing_timestamp = BestTimestamp(self.get_proto().bearing_timestamp) return self def get_latitude_longitude_unit(self) -> common.Unit: """ :return: Unit associated with latitude, longitude """ # noinspection Mypy # pylint: disable=E1101 return common.Unit.from_proto(self._proto.latitude_longitude_unit) def set_latitude_longitude_unit(self, unit: common.Unit) -> "BestLocation": """ Sets the unit associated with latitude and longitude :param unit: Unit to set :return: A modified instance of self """ redvox.api1000.common.typing.check_type(unit, [common.Unit]) # noinspection Mypy self._proto.latitude_longitude_unit = unit.into_proto() return self def get_altitude_unit(self) -> common.Unit: """ :return: Unit associated with altitude """ # noinspection Mypy # pylint: disable=E1101 return common.Unit.from_proto(self._proto.altitude_unit) def set_altitude_unit(self, unit: common.Unit) -> "BestLocation": """ Sets the unit associated with altitude :param unit: Unit to set :return: A modified instance of self """ redvox.api1000.common.typing.check_type(unit, [common.Unit]) # noinspection Mypy self._proto.altitude_unit = unit.into_proto() return self def get_speed_unit(self) -> common.Unit: """ :return: Unit associated with altitude """ # noinspection Mypy # pylint: disable=E1101 return common.Unit.from_proto(self._proto.speed_unit) def set_speed_unit(self, unit: common.Unit) -> "BestLocation": """ Sets the unit associated with speed :param unit: Unit to set :return: A modified instance of self """ redvox.api1000.common.typing.check_type(unit, [common.Unit]) # noinspection Mypy self._proto.speed_unit = unit.into_proto() return self def get_bearing_unit(self) -> common.Unit: """ :return: Unit associated with bearing """ # noinspection Mypy # pylint: disable=E1101 return common.Unit.from_proto(self._proto.bearing_unit) def set_bearing_unit(self, unit: common.Unit) -> "BestLocation": """ Sets the unit associated with speed :param unit: Unit to set :return: A modified instance of self """ redvox.api1000.common.typing.check_type(unit, [common.Unit]) # noinspection Mypy self._proto.bearing_unit = unit.into_proto() return self def get_vertical_accuracy_unit(self) -> common.Unit: """ :return: Unit associated with vertical accuracy """ # noinspection Mypy # pylint: disable=E1101 return common.Unit.from_proto(self._proto.vertical_accuracy_unit) def set_vertical_accuracy_unit(self, unit: common.Unit) -> "BestLocation": """ Sets the unit associated with vertical accuracy :param unit: Unit to set :return: A modified instance of self """ redvox.api1000.common.typing.check_type(unit, [common.Unit]) # noinspection Mypy self._proto.vertical_accuracy_unit = unit.into_proto() return self def get_horizontal_accuracy_unit(self) -> common.Unit: """ :return: Unit associated with horizontal accuracy """ # noinspection Mypy # pylint: disable=E1101 return common.Unit.from_proto(self._proto.horizontal_accuracy_unit) def set_horizontal_accuracy_unit(self, unit: common.Unit) -> "BestLocation": """ Sets the unit associated with horizontal accuracy :param unit: Unit to set :return: A modified instance of self """ redvox.api1000.common.typing.check_type(unit, [common.Unit]) # noinspection Mypy self._proto.horizontal_accuracy_unit = unit.into_proto() return self def get_speed_accuracy_unit(self) -> common.Unit: """ :return: Unit associated with speed accuracy """ # noinspection Mypy # pylint: disable=E1101 return common.Unit.from_proto(self._proto.speed_accuracy_unit) def set_speed_accuracy_unit(self, unit: common.Unit) -> "BestLocation": """ Sets the unit associated with speed accuracy :param unit: Unit to set :return: A modified instance of self """ redvox.api1000.common.typing.check_type(unit, [common.Unit]) # noinspection Mypy self._proto.speed_accuracy_unit = unit.into_proto() return self def get_bearing_accuracy_unit(self) -> common.Unit: """ :return: Unit associated with bearing accuracy """ # noinspection Mypy # pylint: disable=E1101 return common.Unit.from_proto(self._proto.bearing_accuracy_unit) def set_bearing_accuracy_unit(self, unit: common.Unit) -> "BestLocation": """ Sets the unit associated with bearing accuracy :param unit: Unit to set :return: A modified instance of self """ redvox.api1000.common.typing.check_type(unit, [common.Unit]) # noinspection Mypy self._proto.bearing_accuracy_unit = unit.into_proto() return self def get_latitude(self) -> float: """ :return: The best latitude """ return self._proto.latitude def set_latitude(self, latitude: float) -> "BestLocation": """ Sets the best latitude :param latitude: Latitude to set :return: A modified instance of self """ redvox.api1000.common.typing.check_type(latitude, [int, float]) self._proto.latitude = latitude return self def get_longitude(self) -> float: """ :return: The best longitude """ return self._proto.longitude def set_longitude(self, longitude: float) -> "BestLocation": """ Sets the best longitude :param longitude: Longitude to set :return: A modified instance of self """ redvox.api1000.common.typing.check_type(longitude, [int, float]) self._proto.longitude = longitude return self def get_altitude(self) -> float: """ :return: The best altitude """ return self._proto.altitude def set_altitude(self, altitude: float) -> "BestLocation": """ Sets the best altitude :param altitude: Altitude to set :return: A modified instance of self """ redvox.api1000.common.typing.check_type(altitude, [int, float]) self._proto.altitude = altitude return self def get_speed(self) -> float: """ :return: The best speed """ return self._proto.speed def set_speed(self, speed: float) -> "BestLocation": """ Sets the best speed :param speed: Speed to set :return: A modified instance of self """ redvox.api1000.common.typing.check_type(speed, [int, float]) self._proto.speed = speed return self def get_bearing(self) -> float: """ :return: The best bearing """ return self._proto.bearing def set_bearing(self, bearing: float) -> "BestLocation": """ Sets the best bearing :param bearing: Bearing to set :return: A modified instance of self """ redvox.api1000.common.typing.check_type(bearing, [int, float]) self._proto.bearing = bearing return self def get_vertical_accuracy(self) -> float: """ :return: The best vertical accuracy """ return self._proto.vertical_accuracy def set_vertical_accuracy(self, vertical_accuracy: float) -> "BestLocation": """ Sets the best vertical accuracy. :param vertical_accuracy: Accuracy to set :return: A modified instance of self """ redvox.api1000.common.typing.check_type(vertical_accuracy, [int, float]) self._proto.vertical_accuracy = vertical_accuracy return self def get_horizontal_accuracy(self) -> float: """ :return: The best horizontal accuracy """ return self._proto.horizontal_accuracy def set_horizontal_accuracy(self, horizontal_accuracy: float) -> "BestLocation": """ Sets the best horizontal accuracy :param horizontal_accuracy: Accuracy to set :return: A modified instance of self """ redvox.api1000.common.typing.check_type(horizontal_accuracy, [int, float]) self._proto.horizontal_accuracy = horizontal_accuracy return self def get_speed_accuracy(self) -> float: """ :return: The best speed accuracy """ return self._proto.speed_accuracy def set_speed_accuracy(self, speed_accuracy: float) -> "BestLocation": """ Sets the best speed accuracy :param speed_accuracy: Accuracy to set :return: A modified instance of self """ redvox.api1000.common.typing.check_type(speed_accuracy, [int, float]) self._proto.speed_accuracy = speed_accuracy return self def get_bearing_accuracy(self) -> float: """ :return: The best bearing accuracy """ return self._proto.bearing_accuracy def set_bearing_accuracy(self, bearing_accuracy: float) -> "BestLocation": """ Sets the best bearing accuracy :param bearing_accuracy: Accuracy to set :return: A modified instance of self """ redvox.api1000.common.typing.check_type(bearing_accuracy, [int, float]) self._proto.bearing_accuracy = bearing_accuracy return self def get_score(self) -> float: """ :return: The best location score """ return self._proto.score def set_score(self, score: float) -> "BestLocation": """ Sets the best location score :param score: Score to set :return: A modified instance of self """ redvox.api1000.common.typing.check_type(score, [int, float]) self._proto.score = score return self def get_method(self) -> LocationScoreMethod: """ :return: The best location score method """ # noinspection Mypy # pylint: disable=E1101 return LocationScoreMethod.from_proto(self._proto.method) def set_method(self, method: LocationScoreMethod) -> "BestLocation": """ Sets the best location score method. :param method: Method to set :return: A modified instance of self """ redvox.api1000.common.typing.check_type(method, [LocationScoreMethod]) # noinspection Mypy self._proto.method = method.into_proto() return self def get_location_provider(self) -> LocationProvider: """ :return: The location provide associated with the best location. """ # noinspection Mypy # pylint: disable=E1101 return LocationProvider.from_proto(self._proto.location_provider) def set_location_provider( self, location_provider: LocationProvider ) -> "BestLocation": """ Sets the location provider associated with the best location. :param location_provider: Location provider to set. :return: A modified instance of self """ redvox.api1000.common.typing.check_type(location_provider, [LocationProvider]) # noinspection Mypy self._proto.location_provider = location_provider.into_proto() return self
Ancestors
- ProtoBase
- typing.Generic
Static methods
def new() ‑> BestLocation
-
:return: A new, empty BestLocation instance
Expand source code
@staticmethod def new() -> "BestLocation": """ :return: A new, empty BestLocation instance """ return BestLocation(RedvoxPacketM.Sensors.Location.BestLocation())
Methods
def get_altitude(self) ‑> float
-
:return: The best altitude
Expand source code
def get_altitude(self) -> float: """ :return: The best altitude """ return self._proto.altitude
def get_altitude_timestamp(self) ‑> BestTimestamp
-
:return: Best timestamps associated with best altitude
Expand source code
def get_altitude_timestamp(self) -> BestTimestamp: """ :return: Best timestamps associated with best altitude """ return self._altitude_timestamp
def get_altitude_unit(self) ‑> Unit
-
:return: Unit associated with altitude
Expand source code
def get_altitude_unit(self) -> common.Unit: """ :return: Unit associated with altitude """ # noinspection Mypy # pylint: disable=E1101 return common.Unit.from_proto(self._proto.altitude_unit)
def get_bearing(self) ‑> float
-
:return: The best bearing
Expand source code
def get_bearing(self) -> float: """ :return: The best bearing """ return self._proto.bearing
def get_bearing_accuracy(self) ‑> float
-
:return: The best bearing accuracy
Expand source code
def get_bearing_accuracy(self) -> float: """ :return: The best bearing accuracy """ return self._proto.bearing_accuracy
def get_bearing_accuracy_unit(self) ‑> Unit
-
:return: Unit associated with bearing accuracy
Expand source code
def get_bearing_accuracy_unit(self) -> common.Unit: """ :return: Unit associated with bearing accuracy """ # noinspection Mypy # pylint: disable=E1101 return common.Unit.from_proto(self._proto.bearing_accuracy_unit)
def get_bearing_timestamp(self) ‑> BestTimestamp
-
:return: Best timestamps associated with best bearing
Expand source code
def get_bearing_timestamp(self) -> BestTimestamp: """ :return: Best timestamps associated with best bearing """ return self._bearing_timestamp
def get_bearing_unit(self) ‑> Unit
-
:return: Unit associated with bearing
Expand source code
def get_bearing_unit(self) -> common.Unit: """ :return: Unit associated with bearing """ # noinspection Mypy # pylint: disable=E1101 return common.Unit.from_proto(self._proto.bearing_unit)
def get_horizontal_accuracy(self) ‑> float
-
:return: The best horizontal accuracy
Expand source code
def get_horizontal_accuracy(self) -> float: """ :return: The best horizontal accuracy """ return self._proto.horizontal_accuracy
def get_horizontal_accuracy_unit(self) ‑> Unit
-
:return: Unit associated with horizontal accuracy
Expand source code
def get_horizontal_accuracy_unit(self) -> common.Unit: """ :return: Unit associated with horizontal accuracy """ # noinspection Mypy # pylint: disable=E1101 return common.Unit.from_proto(self._proto.horizontal_accuracy_unit)
def get_latitude(self) ‑> float
-
:return: The best latitude
Expand source code
def get_latitude(self) -> float: """ :return: The best latitude """ return self._proto.latitude
def get_latitude_longitude_timestamp(self) ‑> BestTimestamp
-
:return: Best timestamps associated with best latitude and longitude
Expand source code
def get_latitude_longitude_timestamp(self) -> BestTimestamp: """ :return: Best timestamps associated with best latitude and longitude """ return self._latitude_longitude_timestamp
def get_latitude_longitude_unit(self) ‑> Unit
-
:return: Unit associated with latitude, longitude
Expand source code
def get_latitude_longitude_unit(self) -> common.Unit: """ :return: Unit associated with latitude, longitude """ # noinspection Mypy # pylint: disable=E1101 return common.Unit.from_proto(self._proto.latitude_longitude_unit)
def get_location_provider(self) ‑> LocationProvider
-
:return: The location provide associated with the best location.
Expand source code
def get_location_provider(self) -> LocationProvider: """ :return: The location provide associated with the best location. """ # noinspection Mypy # pylint: disable=E1101 return LocationProvider.from_proto(self._proto.location_provider)
def get_longitude(self) ‑> float
-
:return: The best longitude
Expand source code
def get_longitude(self) -> float: """ :return: The best longitude """ return self._proto.longitude
def get_method(self) ‑> LocationScoreMethod
-
:return: The best location score method
Expand source code
def get_method(self) -> LocationScoreMethod: """ :return: The best location score method """ # noinspection Mypy # pylint: disable=E1101 return LocationScoreMethod.from_proto(self._proto.method)
def get_score(self) ‑> float
-
:return: The best location score
Expand source code
def get_score(self) -> float: """ :return: The best location score """ return self._proto.score
def get_speed(self) ‑> float
-
:return: The best speed
Expand source code
def get_speed(self) -> float: """ :return: The best speed """ return self._proto.speed
def get_speed_accuracy(self) ‑> float
-
:return: The best speed accuracy
Expand source code
def get_speed_accuracy(self) -> float: """ :return: The best speed accuracy """ return self._proto.speed_accuracy
def get_speed_accuracy_unit(self) ‑> Unit
-
:return: Unit associated with speed accuracy
Expand source code
def get_speed_accuracy_unit(self) -> common.Unit: """ :return: Unit associated with speed accuracy """ # noinspection Mypy # pylint: disable=E1101 return common.Unit.from_proto(self._proto.speed_accuracy_unit)
def get_speed_timestamp(self) ‑> BestTimestamp
-
:return: Best timestamps associated with best speed
Expand source code
def get_speed_timestamp(self) -> BestTimestamp: """ :return: Best timestamps associated with best speed """ return self._speed_timestamp
def get_speed_unit(self) ‑> Unit
-
:return: Unit associated with altitude
Expand source code
def get_speed_unit(self) -> common.Unit: """ :return: Unit associated with altitude """ # noinspection Mypy # pylint: disable=E1101 return common.Unit.from_proto(self._proto.speed_unit)
def get_vertical_accuracy(self) ‑> float
-
:return: The best vertical accuracy
Expand source code
def get_vertical_accuracy(self) -> float: """ :return: The best vertical accuracy """ return self._proto.vertical_accuracy
def get_vertical_accuracy_unit(self) ‑> Unit
-
:return: Unit associated with vertical accuracy
Expand source code
def get_vertical_accuracy_unit(self) -> common.Unit: """ :return: Unit associated with vertical accuracy """ # noinspection Mypy # pylint: disable=E1101 return common.Unit.from_proto(self._proto.vertical_accuracy_unit)
def set_altitude(self, altitude: float) ‑> BestLocation
-
Sets the best altitude :param altitude: Altitude to set :return: A modified instance of self
Expand source code
def set_altitude(self, altitude: float) -> "BestLocation": """ Sets the best altitude :param altitude: Altitude to set :return: A modified instance of self """ redvox.api1000.common.typing.check_type(altitude, [int, float]) self._proto.altitude = altitude return self
def set_altitude_timestamp(self, altitude_timestamp: BestTimestamp) ‑> BestLocation
-
Sets the altitude timestamp. :param altitude_timestamp: The BestTimestamp to set. :return: A modified instance of self.
Expand source code
def set_altitude_timestamp( self, altitude_timestamp: BestTimestamp ) -> "BestLocation": """ Sets the altitude timestamp. :param altitude_timestamp: The BestTimestamp to set. :return: A modified instance of self. """ common.check_type(altitude_timestamp, [BestTimestamp]) self.get_proto().altitude_timestamp.CopyFrom(altitude_timestamp.get_proto()) self._altitude_timestamp = BestTimestamp(self.get_proto().altitude_timestamp) return self
def set_altitude_unit(self, unit: Unit) ‑> BestLocation
-
Sets the unit associated with altitude :param unit: Unit to set :return: A modified instance of self
Expand source code
def set_altitude_unit(self, unit: common.Unit) -> "BestLocation": """ Sets the unit associated with altitude :param unit: Unit to set :return: A modified instance of self """ redvox.api1000.common.typing.check_type(unit, [common.Unit]) # noinspection Mypy self._proto.altitude_unit = unit.into_proto() return self
def set_bearing(self, bearing: float) ‑> BestLocation
-
Sets the best bearing :param bearing: Bearing to set :return: A modified instance of self
Expand source code
def set_bearing(self, bearing: float) -> "BestLocation": """ Sets the best bearing :param bearing: Bearing to set :return: A modified instance of self """ redvox.api1000.common.typing.check_type(bearing, [int, float]) self._proto.bearing = bearing return self
def set_bearing_accuracy(self, bearing_accuracy: float) ‑> BestLocation
-
Sets the best bearing accuracy :param bearing_accuracy: Accuracy to set :return: A modified instance of self
Expand source code
def set_bearing_accuracy(self, bearing_accuracy: float) -> "BestLocation": """ Sets the best bearing accuracy :param bearing_accuracy: Accuracy to set :return: A modified instance of self """ redvox.api1000.common.typing.check_type(bearing_accuracy, [int, float]) self._proto.bearing_accuracy = bearing_accuracy return self
def set_bearing_accuracy_unit(self, unit: Unit) ‑> BestLocation
-
Sets the unit associated with bearing accuracy :param unit: Unit to set :return: A modified instance of self
Expand source code
def set_bearing_accuracy_unit(self, unit: common.Unit) -> "BestLocation": """ Sets the unit associated with bearing accuracy :param unit: Unit to set :return: A modified instance of self """ redvox.api1000.common.typing.check_type(unit, [common.Unit]) # noinspection Mypy self._proto.bearing_accuracy_unit = unit.into_proto() return self
def set_bearing_timestamp(self, bearing_timestamp: BestTimestamp) ‑> BestLocation
-
Sets the bearing timestamp. :param bearing_timestamp: The BestTimestamp to set. :return: A modified instance of self.
Expand source code
def set_bearing_timestamp(self, bearing_timestamp: BestTimestamp) -> "BestLocation": """ Sets the bearing timestamp. :param bearing_timestamp: The BestTimestamp to set. :return: A modified instance of self. """ common.check_type(bearing_timestamp, [BestTimestamp]) self.get_proto().bearing_timestamp.CopyFrom(bearing_timestamp.get_proto()) self._bearing_timestamp = BestTimestamp(self.get_proto().bearing_timestamp) return self
def set_bearing_unit(self, unit: Unit) ‑> BestLocation
-
Sets the unit associated with speed :param unit: Unit to set :return: A modified instance of self
Expand source code
def set_bearing_unit(self, unit: common.Unit) -> "BestLocation": """ Sets the unit associated with speed :param unit: Unit to set :return: A modified instance of self """ redvox.api1000.common.typing.check_type(unit, [common.Unit]) # noinspection Mypy self._proto.bearing_unit = unit.into_proto() return self
def set_horizontal_accuracy(self, horizontal_accuracy: float) ‑> BestLocation
-
Sets the best horizontal accuracy :param horizontal_accuracy: Accuracy to set :return: A modified instance of self
Expand source code
def set_horizontal_accuracy(self, horizontal_accuracy: float) -> "BestLocation": """ Sets the best horizontal accuracy :param horizontal_accuracy: Accuracy to set :return: A modified instance of self """ redvox.api1000.common.typing.check_type(horizontal_accuracy, [int, float]) self._proto.horizontal_accuracy = horizontal_accuracy return self
def set_horizontal_accuracy_unit(self, unit: Unit) ‑> BestLocation
-
Sets the unit associated with horizontal accuracy :param unit: Unit to set :return: A modified instance of self
Expand source code
def set_horizontal_accuracy_unit(self, unit: common.Unit) -> "BestLocation": """ Sets the unit associated with horizontal accuracy :param unit: Unit to set :return: A modified instance of self """ redvox.api1000.common.typing.check_type(unit, [common.Unit]) # noinspection Mypy self._proto.horizontal_accuracy_unit = unit.into_proto() return self
def set_latitude(self, latitude: float) ‑> BestLocation
-
Sets the best latitude :param latitude: Latitude to set :return: A modified instance of self
Expand source code
def set_latitude(self, latitude: float) -> "BestLocation": """ Sets the best latitude :param latitude: Latitude to set :return: A modified instance of self """ redvox.api1000.common.typing.check_type(latitude, [int, float]) self._proto.latitude = latitude return self
def set_latitude_longitude_timestamp(self, latitude_longitude_timestamp: BestTimestamp) ‑> BestLocation
-
Sets the latitude/longitude best timestamp. :param latitude_longitude_timestamp: The BestTimestamp to set. :return: A modified instance of self.
Expand source code
def set_latitude_longitude_timestamp( self, latitude_longitude_timestamp: BestTimestamp ) -> "BestLocation": """ Sets the latitude/longitude best timestamp. :param latitude_longitude_timestamp: The BestTimestamp to set. :return: A modified instance of self. """ common.check_type(latitude_longitude_timestamp, [BestTimestamp]) self.get_proto().latitude_longitude_timestamp.CopyFrom( latitude_longitude_timestamp.get_proto() ) self._latitude_longitude_timestamp = BestTimestamp( self.get_proto().latitude_longitude_timestamp ) return self
def set_latitude_longitude_unit(self, unit: Unit) ‑> BestLocation
-
Sets the unit associated with latitude and longitude :param unit: Unit to set :return: A modified instance of self
Expand source code
def set_latitude_longitude_unit(self, unit: common.Unit) -> "BestLocation": """ Sets the unit associated with latitude and longitude :param unit: Unit to set :return: A modified instance of self """ redvox.api1000.common.typing.check_type(unit, [common.Unit]) # noinspection Mypy self._proto.latitude_longitude_unit = unit.into_proto() return self
def set_location_provider(self, location_provider: LocationProvider) ‑> BestLocation
-
Sets the location provider associated with the best location. :param location_provider: Location provider to set. :return: A modified instance of self
Expand source code
def set_location_provider( self, location_provider: LocationProvider ) -> "BestLocation": """ Sets the location provider associated with the best location. :param location_provider: Location provider to set. :return: A modified instance of self """ redvox.api1000.common.typing.check_type(location_provider, [LocationProvider]) # noinspection Mypy self._proto.location_provider = location_provider.into_proto() return self
def set_longitude(self, longitude: float) ‑> BestLocation
-
Sets the best longitude :param longitude: Longitude to set :return: A modified instance of self
Expand source code
def set_longitude(self, longitude: float) -> "BestLocation": """ Sets the best longitude :param longitude: Longitude to set :return: A modified instance of self """ redvox.api1000.common.typing.check_type(longitude, [int, float]) self._proto.longitude = longitude return self
def set_method(self, method: LocationScoreMethod) ‑> BestLocation
-
Sets the best location score method. :param method: Method to set :return: A modified instance of self
Expand source code
def set_method(self, method: LocationScoreMethod) -> "BestLocation": """ Sets the best location score method. :param method: Method to set :return: A modified instance of self """ redvox.api1000.common.typing.check_type(method, [LocationScoreMethod]) # noinspection Mypy self._proto.method = method.into_proto() return self
def set_score(self, score: float) ‑> BestLocation
-
Sets the best location score :param score: Score to set :return: A modified instance of self
Expand source code
def set_score(self, score: float) -> "BestLocation": """ Sets the best location score :param score: Score to set :return: A modified instance of self """ redvox.api1000.common.typing.check_type(score, [int, float]) self._proto.score = score return self
def set_speed(self, speed: float) ‑> BestLocation
-
Sets the best speed :param speed: Speed to set :return: A modified instance of self
Expand source code
def set_speed(self, speed: float) -> "BestLocation": """ Sets the best speed :param speed: Speed to set :return: A modified instance of self """ redvox.api1000.common.typing.check_type(speed, [int, float]) self._proto.speed = speed return self
def set_speed_accuracy(self, speed_accuracy: float) ‑> BestLocation
-
Sets the best speed accuracy :param speed_accuracy: Accuracy to set :return: A modified instance of self
Expand source code
def set_speed_accuracy(self, speed_accuracy: float) -> "BestLocation": """ Sets the best speed accuracy :param speed_accuracy: Accuracy to set :return: A modified instance of self """ redvox.api1000.common.typing.check_type(speed_accuracy, [int, float]) self._proto.speed_accuracy = speed_accuracy return self
def set_speed_accuracy_unit(self, unit: Unit) ‑> BestLocation
-
Sets the unit associated with speed accuracy :param unit: Unit to set :return: A modified instance of self
Expand source code
def set_speed_accuracy_unit(self, unit: common.Unit) -> "BestLocation": """ Sets the unit associated with speed accuracy :param unit: Unit to set :return: A modified instance of self """ redvox.api1000.common.typing.check_type(unit, [common.Unit]) # noinspection Mypy self._proto.speed_accuracy_unit = unit.into_proto() return self
def set_speed_timestamp(self, speed_timestamp: BestTimestamp) ‑> BestLocation
-
Sets the speed timestamp. :param speed_timestamp: The BestTimestamp to set. :return: A modified instance of self.
Expand source code
def set_speed_timestamp(self, speed_timestamp: BestTimestamp) -> "BestLocation": """ Sets the speed timestamp. :param speed_timestamp: The BestTimestamp to set. :return: A modified instance of self. """ common.check_type(speed_timestamp, [BestTimestamp]) self.get_proto().speed_timestamp.CopyFrom(speed_timestamp.get_proto()) self._speed_timestamp = BestTimestamp(self.get_proto().speed_timestamp) return self
def set_speed_unit(self, unit: Unit) ‑> BestLocation
-
Sets the unit associated with speed :param unit: Unit to set :return: A modified instance of self
Expand source code
def set_speed_unit(self, unit: common.Unit) -> "BestLocation": """ Sets the unit associated with speed :param unit: Unit to set :return: A modified instance of self """ redvox.api1000.common.typing.check_type(unit, [common.Unit]) # noinspection Mypy self._proto.speed_unit = unit.into_proto() return self
def set_vertical_accuracy(self, vertical_accuracy: float) ‑> BestLocation
-
Sets the best vertical accuracy. :param vertical_accuracy: Accuracy to set :return: A modified instance of self
Expand source code
def set_vertical_accuracy(self, vertical_accuracy: float) -> "BestLocation": """ Sets the best vertical accuracy. :param vertical_accuracy: Accuracy to set :return: A modified instance of self """ redvox.api1000.common.typing.check_type(vertical_accuracy, [int, float]) self._proto.vertical_accuracy = vertical_accuracy return self
def set_vertical_accuracy_unit(self, unit: Unit) ‑> BestLocation
-
Sets the unit associated with vertical accuracy :param unit: Unit to set :return: A modified instance of self
Expand source code
def set_vertical_accuracy_unit(self, unit: common.Unit) -> "BestLocation": """ Sets the unit associated with vertical accuracy :param unit: Unit to set :return: A modified instance of self """ redvox.api1000.common.typing.check_type(unit, [common.Unit]) # noinspection Mypy self._proto.vertical_accuracy_unit = unit.into_proto() return self
Inherited members
class BestTimestamp (proto: src.redvox_api_m.redvox_api_m_pb2.BestTimestamp)
-
This class encapsulates the best timestamps associated with the best location estimates.
Expand source code
class BestTimestamp( redvox.api1000.common.generic.ProtoBase[ RedvoxPacketM.Sensors.Location.BestLocation.BestTimestamp ] ): """ This class encapsulates the best timestamps associated with the best location estimates. """ def __init__( self, proto: RedvoxPacketM.Sensors.Location.BestLocation.BestTimestamp ): super().__init__(proto) def get_unit(self) -> common.Unit: """ :return: The unit of the timestamps. """ # noinspection Mypy # pylint: disable=E1101 return common.Unit.from_proto(self._proto.unit) def set_default_unit(self) -> "BestTimestamp": """ Sets the default timestamp unit. :return: A modified instance of self """ # noinspection PyTypeChecker return self.set_unit(common.Unit.MICROSECONDS_SINCE_UNIX_EPOCH) def set_unit(self, unit: common.Unit) -> "BestTimestamp": """ Sets the unit of the best timestamps. :param unit: Unit to set. :return: A modified instance of self. """ redvox.api1000.common.typing.check_type(unit, [common.Unit]) # noinspection Mypy self._proto.unit = unit.into_proto() return self def get_mach(self) -> float: """ :return: The best machine timestamp """ return self._proto.mach def set_mach(self, mach: float) -> "BestTimestamp": """ Sets the best machine timestamp. :param mach: Timestamp to set. :return: A modified instance of self. """ redvox.api1000.common.typing.check_type(mach, [int, float]) self._proto.mach = mach return self def get_gps(self) -> float: """ :return: The best GPS timestamp. """ return self._proto.gps def set_gps(self, gps: float) -> "BestTimestamp": """ Sets the best GPS provided timestamp :param gps: Timestamp to set :return: A modified instance of self """ redvox.api1000.common.typing.check_type(gps, [int, float]) self._proto.gps = gps return self
Ancestors
- ProtoBase
- typing.Generic
Methods
def get_gps(self) ‑> float
-
:return: The best GPS timestamp.
Expand source code
def get_gps(self) -> float: """ :return: The best GPS timestamp. """ return self._proto.gps
def get_mach(self) ‑> float
-
:return: The best machine timestamp
Expand source code
def get_mach(self) -> float: """ :return: The best machine timestamp """ return self._proto.mach
def get_unit(self) ‑> Unit
-
:return: The unit of the timestamps.
Expand source code
def get_unit(self) -> common.Unit: """ :return: The unit of the timestamps. """ # noinspection Mypy # pylint: disable=E1101 return common.Unit.from_proto(self._proto.unit)
def set_default_unit(self) ‑> BestTimestamp
-
Sets the default timestamp unit. :return: A modified instance of self
Expand source code
def set_default_unit(self) -> "BestTimestamp": """ Sets the default timestamp unit. :return: A modified instance of self """ # noinspection PyTypeChecker return self.set_unit(common.Unit.MICROSECONDS_SINCE_UNIX_EPOCH)
def set_gps(self, gps: float) ‑> BestTimestamp
-
Sets the best GPS provided timestamp :param gps: Timestamp to set :return: A modified instance of self
Expand source code
def set_gps(self, gps: float) -> "BestTimestamp": """ Sets the best GPS provided timestamp :param gps: Timestamp to set :return: A modified instance of self """ redvox.api1000.common.typing.check_type(gps, [int, float]) self._proto.gps = gps return self
def set_mach(self, mach: float) ‑> BestTimestamp
-
Sets the best machine timestamp. :param mach: Timestamp to set. :return: A modified instance of self.
Expand source code
def set_mach(self, mach: float) -> "BestTimestamp": """ Sets the best machine timestamp. :param mach: Timestamp to set. :return: A modified instance of self. """ redvox.api1000.common.typing.check_type(mach, [int, float]) self._proto.mach = mach return self
def set_unit(self, unit: Unit) ‑> BestTimestamp
-
Sets the unit of the best timestamps. :param unit: Unit to set. :return: A modified instance of self.
Expand source code
def set_unit(self, unit: common.Unit) -> "BestTimestamp": """ Sets the unit of the best timestamps. :param unit: Unit to set. :return: A modified instance of self. """ redvox.api1000.common.typing.check_type(unit, [common.Unit]) # noinspection Mypy self._proto.unit = unit.into_proto() return self
Inherited members
class Location (proto: src.redvox_api_m.redvox_api_m_pb2.Location)
-
Encapsulates location data and metadata
Expand source code
class Location(redvox.api1000.common.generic.ProtoBase[RedvoxPacketM.Sensors.Location]): """ Encapsulates location data and metadata """ def __init__(self, proto: RedvoxPacketM.Sensors.Location): super().__init__(proto) self._timestamps: common.TimingPayload = common.TimingPayload(proto.timestamps) self._timestamps_gps: common.TimingPayload = common.TimingPayload( proto.timestamps_gps ) self._latitude_samples: common.SamplePayload = common.SamplePayload( proto.latitude_samples ) self._longitude_samples: common.SamplePayload = common.SamplePayload( proto.longitude_samples ) self._altitude_samples: common.SamplePayload = common.SamplePayload( proto.altitude_samples ) self._speed_samples: common.SamplePayload = common.SamplePayload( proto.speed_samples ) self._bearing_samples: common.SamplePayload = common.SamplePayload( proto.bearing_samples ) self._horizontal_accuracy_samples: common.SamplePayload = common.SamplePayload( proto.horizontal_accuracy_samples ) self._vertical_accuracy_samples: common.SamplePayload = common.SamplePayload( proto.vertical_accuracy_samples ) self._speed_accuracy_samples: common.SamplePayload = common.SamplePayload( proto.speed_accuracy_samples ) self._bearing_accuracy_samples: common.SamplePayload = common.SamplePayload( proto.bearing_accuracy_samples ) self._last_best_location: BestLocation = BestLocation(proto.last_best_location) self._overall_best_location: BestLocation = BestLocation( proto.overall_best_location ) # noinspection Mypy # pylint: disable=E1101 self._location_providers: ProtoRepeatedMessage = ProtoRepeatedMessage( proto, proto.location_providers, "location_providers", LocationProvider.from_proto, LocationProvider.into_proto, ) @staticmethod def new() -> "Location": """ :return: A new, empty Location instance """ return Location(RedvoxPacketM.Sensors.Location()) def get_sensor_description(self) -> str: """ :return: The location sensor description """ return self._proto.sensor_description def set_sensor_description(self, sensor_description: str) -> "Location": """ Sets the location sensor's description :param sensor_description: Description to set :return: A modified instance of self """ redvox.api1000.common.typing.check_type(sensor_description, [str]) self._proto.sensor_description = sensor_description return self def get_timestamps(self) -> common.TimingPayload: """ :return: The timing payload (machine timestamps) associated with this sensor's location samples """ return self._timestamps def set_timestamps(self, timestamps: common.TimingPayload) -> "Location": """ Sets the timestamps. :param timestamps: Timing payload to set. :return: A modified instance of self. """ common.check_type(timestamps, [common.TimingPayload]) self.get_proto().timestamps.CopyFrom(timestamps.get_proto()) self._timestamps = common.TimingPayload(self.get_proto().timestamps) return self def get_timestamps_gps(self) -> common.TimingPayload: """ :return: The timing payload (gps timestamps) associated with this sensor's location samples """ return self._timestamps_gps def set_timestamps_gps(self, timestamps_gps: common.TimingPayload) -> "Location": """ Sets the GPS timing samples. :param timestamps_gps: Payload to set. :return: A modified instance of self. """ common.check_type(timestamps_gps, [common.TimingPayload]) self.get_proto().timestamps_gps.CopyFrom(timestamps_gps.get_proto()) self._timestamps_gps = common.TimingPayload(self.get_proto().timestamps_gps) return self def get_latitude_samples(self) -> common.SamplePayload: """ :return: The SamplePayload containing latitude samples and statistics """ return self._latitude_samples def set_latitude_samples( self, latitude_samples: common.SamplePayload ) -> "Location": """ Sets the latitude samples. :param latitude_samples: Payload top set. :return: A modified instance of self. """ common.check_type(latitude_samples, [common.SamplePayload]) # noinspection Mypy self.get_proto().latitude_samples.CopyFrom(latitude_samples.get_proto()) self._latitude_samples = common.SamplePayload(self.get_proto().latitude_samples) return self def get_longitude_samples(self) -> common.SamplePayload: """ :return: The SamplePayload containing longitude samples and statistics """ return self._longitude_samples def set_longitude_samples( self, longitude_samples: common.SamplePayload ) -> "Location": """ Sets the longitude samples. :param longitude_samples: Payload to set. :return: A modified instance of self. """ common.check_type(longitude_samples, [common.SamplePayload]) # noinspection Mypy self.get_proto().longitude_samples.CopyFrom(longitude_samples.get_proto()) self._longitude_samples = common.SamplePayload( self.get_proto().longitude_samples ) return self def get_altitude_samples(self) -> common.SamplePayload: """ :return: The SamplePayload containing altitude samples and statistics """ return self._altitude_samples def set_altitude_samples( self, altitude_samples: common.SamplePayload ) -> "Location": """ Sets the altitude samples. :param altitude_samples: Payload to set. :return: A modified instance of self. """ common.check_type(altitude_samples, [common.SamplePayload]) # noinspection Mypy self.get_proto().altitude_samples.CopyFrom(altitude_samples.get_proto()) self._altitude_samples = common.SamplePayload(self.get_proto().altitude_samples) return self def get_speed_samples(self) -> common.SamplePayload: """ :return: The SamplePayload containing speed samples and statistics """ return self._speed_samples def set_speed_samples(self, speed_samples: common.SamplePayload) -> "Location": """ Sets the speed samples. :param speed_samples: Payload to set. :return: A modified instance of self. """ common.check_type(speed_samples, [common.SamplePayload]) # noinspection Mypy self.get_proto().speed_samples.CopyFrom(speed_samples.get_proto()) self._speed_samples = common.SamplePayload(self.get_proto().speed_samples) return self def get_bearing_samples(self) -> common.SamplePayload: """ :return: The SamplePayload containing bearing samples and statistics """ return self._bearing_samples def set_bearing_samples(self, bearing_samples: common.SamplePayload) -> "Location": """ Sets the bearing samples. :param bearing_samples: Payload to set. :return: A modified instance of self. """ common.check_type(bearing_samples, [common.SamplePayload]) # noinspection Mypy self.get_proto().bearing_samples.CopyFrom(bearing_samples.get_proto()) self._bearing_samples = common.SamplePayload(self.get_proto().bearing_samples) return self def get_horizontal_accuracy_samples(self) -> common.SamplePayload: """ :return: The SamplePayload containing horizontal accuracy samples and statistics """ return self._horizontal_accuracy_samples def set_horizontal_accuracy_samples( self, horizontal_accuracy_samples: common.SamplePayload ) -> "Location": """ Sets the horizontal accuracy samples. :param horizontal_accuracy_samples: Payload to set. :return: A modified instance of self. """ common.check_type(horizontal_accuracy_samples, [common.SamplePayload]) # noinspection Mypy self.get_proto().horizontal_accuracy_samples.CopyFrom( horizontal_accuracy_samples.get_proto() ) self._horizontal_accuracy_samples = common.SamplePayload( self.get_proto().horizontal_accuracy_samples ) return self def get_vertical_accuracy_samples(self) -> common.SamplePayload: """ :return: The SamplePayload containing vertical accuracy samples and statistics """ return self._vertical_accuracy_samples def set_vertical_accuracy_samples( self, vertical_accuracy_samples: common.SamplePayload ) -> "Location": """ Sets the vertical accuracy samples. :param vertical_accuracy_samples: Payload to set. :return: A modified instance of self. """ common.check_type(vertical_accuracy_samples, [common.SamplePayload]) # noinspection Mypy self.get_proto().vertical_accuracy_samples.CopyFrom( vertical_accuracy_samples.get_proto() ) self._vertical_accuracy_samples = common.SamplePayload( self.get_proto().vertical_accuracy_samples ) return self def get_speed_accuracy_samples(self) -> common.SamplePayload: """ :return: The SamplePayload containing speed accuracy samples and statistics """ return self._speed_accuracy_samples def set_speed_accuracy_samples( self, speed_accuracy_samples: common.SamplePayload ) -> "Location": """ Sets the speed accuracy samples. :param speed_accuracy_samples: Payload to set. :return: A modified instance of self. """ common.check_type(speed_accuracy_samples, [common.SamplePayload]) # noinspection Mypy self.get_proto().speed_accuracy_samples.CopyFrom( speed_accuracy_samples.get_proto() ) self._speed_accuracy_samples = common.SamplePayload( self.get_proto().speed_accuracy_samples ) return self def get_bearing_accuracy_samples(self) -> common.SamplePayload: """ :return: The SamplePayload containing bearing accuracy samples and statistics """ return self._bearing_accuracy_samples def set_bearing_accuracy_samples( self, bearing_accuracy_samples: common.SamplePayload ) -> "Location": """ Sets the samples for the bearing accuracy channel. :param bearing_accuracy_samples: Samples to set. :return: A modified instance of self. """ common.check_type(bearing_accuracy_samples, [common.SamplePayload]) # noinspection Mypy self.get_proto().bearing_accuracy_samples.CopyFrom( bearing_accuracy_samples.get_proto() ) self._bearing_accuracy_samples = common.SamplePayload( self.get_proto().bearing_accuracy_samples ) return self def get_last_best_location(self) -> BestLocation: """ :return: This returns the most recent BestLocation """ return self._last_best_location def set_last_best_location(self, last_best_location: BestLocation) -> "Location": """ Sets the most recent best location. :param last_best_location: The most recent best location to set. :return: A modified instance of self. """ common.check_type(last_best_location, [BestLocation]) self.get_proto().last_best_location.CopyFrom(last_best_location.get_proto()) self._last_best_location = BestLocation(self.get_proto().last_best_location) return self def get_overall_best_location(self) -> BestLocation: """ :return: This returns the overall best location since the station last moved """ return self._overall_best_location def set_overall_best_location( self, overall_best_location: BestLocation ) -> "Location": """ Sets the overall best location. :param overall_best_location: BestLocation to set. :return: A modified instance of self. """ common.check_type(overall_best_location, [BestLocation]) self.get_proto().overall_best_location.CopyFrom( overall_best_location.get_proto() ) self._overall_best_location = BestLocation( self.get_proto().overall_best_location ) return self def get_location_permissions_granted(self) -> bool: """ :return: Have location permissions been granted? """ return self._proto.location_permissions_granted def set_location_permissions_granted( self, location_permissions_granted: bool ) -> "Location": """ Sets if location permissions have been granted. :param location_permissions_granted: Permissions to set :return: A modified instance of self """ redvox.api1000.common.typing.check_type(location_permissions_granted, [bool]) self._proto.location_permissions_granted = location_permissions_granted return self def get_location_services_requested(self) -> bool: """ :return: Have location services been requested by the user? """ return self._proto.location_services_requested def set_location_services_requested( self, location_services_requested: bool ) -> "Location": """ Sets if location services have been requested. :param location_services_requested: :return: """ redvox.api1000.common.typing.check_type(location_services_requested, [bool]) self._proto.location_services_requested = location_services_requested return self def get_location_services_enabled(self) -> bool: """ :return: If location services are enabled. """ return self._proto.location_services_enabled def set_location_services_enabled( self, location_services_enabled: bool ) -> "Location": """ Sets if location servers are enabled. :param location_services_enabled: Set enabled or disabled :return: Modified version of self """ redvox.api1000.common.typing.check_type(location_services_enabled, [bool]) self._proto.location_services_enabled = location_services_enabled return self def get_location_providers(self) -> ProtoRepeatedMessage: """ :return: A list of location providers associated with each location sample """ return self._location_providers def set_location_providers( self, location_providers: ProtoRepeatedMessage ) -> "Location": """ Sets the location provides. :param location_providers: An instance of a ProtoRepeatedMessage containing the location providers. :return: A modified instance of self. """ common.check_type(location_providers, [ProtoRepeatedMessage]) self._location_providers.clear_values() self._location_providers.append_values(location_providers.get_values()) return self def is_only_best_values(self) -> bool: """ :return: True if the location does not have data in it and has a last_best_location or overall_best_location """ return self.get_location_providers().get_count() < 1 and ( self.get_last_best_location() is not None or self.get_overall_best_location() is not None )
Ancestors
- ProtoBase
- typing.Generic
Static methods
def new() ‑> Location
-
:return: A new, empty Location instance
Expand source code
@staticmethod def new() -> "Location": """ :return: A new, empty Location instance """ return Location(RedvoxPacketM.Sensors.Location())
Methods
def get_altitude_samples(self) ‑> SamplePayload
-
:return: The SamplePayload containing altitude samples and statistics
Expand source code
def get_altitude_samples(self) -> common.SamplePayload: """ :return: The SamplePayload containing altitude samples and statistics """ return self._altitude_samples
def get_bearing_accuracy_samples(self) ‑> SamplePayload
-
:return: The SamplePayload containing bearing accuracy samples and statistics
Expand source code
def get_bearing_accuracy_samples(self) -> common.SamplePayload: """ :return: The SamplePayload containing bearing accuracy samples and statistics """ return self._bearing_accuracy_samples
def get_bearing_samples(self) ‑> SamplePayload
-
:return: The SamplePayload containing bearing samples and statistics
Expand source code
def get_bearing_samples(self) -> common.SamplePayload: """ :return: The SamplePayload containing bearing samples and statistics """ return self._bearing_samples
def get_horizontal_accuracy_samples(self) ‑> SamplePayload
-
:return: The SamplePayload containing horizontal accuracy samples and statistics
Expand source code
def get_horizontal_accuracy_samples(self) -> common.SamplePayload: """ :return: The SamplePayload containing horizontal accuracy samples and statistics """ return self._horizontal_accuracy_samples
def get_last_best_location(self) ‑> BestLocation
-
:return: This returns the most recent BestLocation
Expand source code
def get_last_best_location(self) -> BestLocation: """ :return: This returns the most recent BestLocation """ return self._last_best_location
def get_latitude_samples(self) ‑> SamplePayload
-
:return: The SamplePayload containing latitude samples and statistics
Expand source code
def get_latitude_samples(self) -> common.SamplePayload: """ :return: The SamplePayload containing latitude samples and statistics """ return self._latitude_samples
def get_location_permissions_granted(self) ‑> bool
-
:return: Have location permissions been granted?
Expand source code
def get_location_permissions_granted(self) -> bool: """ :return: Have location permissions been granted? """ return self._proto.location_permissions_granted
def get_location_providers(self) ‑> ProtoRepeatedMessage
-
:return: A list of location providers associated with each location sample
Expand source code
def get_location_providers(self) -> ProtoRepeatedMessage: """ :return: A list of location providers associated with each location sample """ return self._location_providers
def get_location_services_enabled(self) ‑> bool
-
:return: If location services are enabled.
Expand source code
def get_location_services_enabled(self) -> bool: """ :return: If location services are enabled. """ return self._proto.location_services_enabled
def get_location_services_requested(self) ‑> bool
-
:return: Have location services been requested by the user?
Expand source code
def get_location_services_requested(self) -> bool: """ :return: Have location services been requested by the user? """ return self._proto.location_services_requested
def get_longitude_samples(self) ‑> SamplePayload
-
:return: The SamplePayload containing longitude samples and statistics
Expand source code
def get_longitude_samples(self) -> common.SamplePayload: """ :return: The SamplePayload containing longitude samples and statistics """ return self._longitude_samples
def get_overall_best_location(self) ‑> BestLocation
-
:return: This returns the overall best location since the station last moved
Expand source code
def get_overall_best_location(self) -> BestLocation: """ :return: This returns the overall best location since the station last moved """ return self._overall_best_location
def get_sensor_description(self) ‑> str
-
:return: The location sensor description
Expand source code
def get_sensor_description(self) -> str: """ :return: The location sensor description """ return self._proto.sensor_description
def get_speed_accuracy_samples(self) ‑> SamplePayload
-
:return: The SamplePayload containing speed accuracy samples and statistics
Expand source code
def get_speed_accuracy_samples(self) -> common.SamplePayload: """ :return: The SamplePayload containing speed accuracy samples and statistics """ return self._speed_accuracy_samples
def get_speed_samples(self) ‑> SamplePayload
-
:return: The SamplePayload containing speed samples and statistics
Expand source code
def get_speed_samples(self) -> common.SamplePayload: """ :return: The SamplePayload containing speed samples and statistics """ return self._speed_samples
def get_timestamps(self) ‑> TimingPayload
-
:return: The timing payload (machine timestamps) associated with this sensor's location samples
Expand source code
def get_timestamps(self) -> common.TimingPayload: """ :return: The timing payload (machine timestamps) associated with this sensor's location samples """ return self._timestamps
def get_timestamps_gps(self) ‑> TimingPayload
-
:return: The timing payload (gps timestamps) associated with this sensor's location samples
Expand source code
def get_timestamps_gps(self) -> common.TimingPayload: """ :return: The timing payload (gps timestamps) associated with this sensor's location samples """ return self._timestamps_gps
def get_vertical_accuracy_samples(self) ‑> SamplePayload
-
:return: The SamplePayload containing vertical accuracy samples and statistics
Expand source code
def get_vertical_accuracy_samples(self) -> common.SamplePayload: """ :return: The SamplePayload containing vertical accuracy samples and statistics """ return self._vertical_accuracy_samples
def is_only_best_values(self) ‑> bool
-
:return: True if the location does not have data in it and has a last_best_location or overall_best_location
Expand source code
def is_only_best_values(self) -> bool: """ :return: True if the location does not have data in it and has a last_best_location or overall_best_location """ return self.get_location_providers().get_count() < 1 and ( self.get_last_best_location() is not None or self.get_overall_best_location() is not None )
def set_altitude_samples(self, altitude_samples: SamplePayload) ‑> Location
-
Sets the altitude samples. :param altitude_samples: Payload to set. :return: A modified instance of self.
Expand source code
def set_altitude_samples( self, altitude_samples: common.SamplePayload ) -> "Location": """ Sets the altitude samples. :param altitude_samples: Payload to set. :return: A modified instance of self. """ common.check_type(altitude_samples, [common.SamplePayload]) # noinspection Mypy self.get_proto().altitude_samples.CopyFrom(altitude_samples.get_proto()) self._altitude_samples = common.SamplePayload(self.get_proto().altitude_samples) return self
def set_bearing_accuracy_samples(self, bearing_accuracy_samples: SamplePayload) ‑> Location
-
Sets the samples for the bearing accuracy channel. :param bearing_accuracy_samples: Samples to set. :return: A modified instance of self.
Expand source code
def set_bearing_accuracy_samples( self, bearing_accuracy_samples: common.SamplePayload ) -> "Location": """ Sets the samples for the bearing accuracy channel. :param bearing_accuracy_samples: Samples to set. :return: A modified instance of self. """ common.check_type(bearing_accuracy_samples, [common.SamplePayload]) # noinspection Mypy self.get_proto().bearing_accuracy_samples.CopyFrom( bearing_accuracy_samples.get_proto() ) self._bearing_accuracy_samples = common.SamplePayload( self.get_proto().bearing_accuracy_samples ) return self
def set_bearing_samples(self, bearing_samples: SamplePayload) ‑> Location
-
Sets the bearing samples. :param bearing_samples: Payload to set. :return: A modified instance of self.
Expand source code
def set_bearing_samples(self, bearing_samples: common.SamplePayload) -> "Location": """ Sets the bearing samples. :param bearing_samples: Payload to set. :return: A modified instance of self. """ common.check_type(bearing_samples, [common.SamplePayload]) # noinspection Mypy self.get_proto().bearing_samples.CopyFrom(bearing_samples.get_proto()) self._bearing_samples = common.SamplePayload(self.get_proto().bearing_samples) return self
def set_horizontal_accuracy_samples(self, horizontal_accuracy_samples: SamplePayload) ‑> Location
-
Sets the horizontal accuracy samples. :param horizontal_accuracy_samples: Payload to set. :return: A modified instance of self.
Expand source code
def set_horizontal_accuracy_samples( self, horizontal_accuracy_samples: common.SamplePayload ) -> "Location": """ Sets the horizontal accuracy samples. :param horizontal_accuracy_samples: Payload to set. :return: A modified instance of self. """ common.check_type(horizontal_accuracy_samples, [common.SamplePayload]) # noinspection Mypy self.get_proto().horizontal_accuracy_samples.CopyFrom( horizontal_accuracy_samples.get_proto() ) self._horizontal_accuracy_samples = common.SamplePayload( self.get_proto().horizontal_accuracy_samples ) return self
def set_last_best_location(self, last_best_location: BestLocation) ‑> Location
-
Sets the most recent best location. :param last_best_location: The most recent best location to set. :return: A modified instance of self.
Expand source code
def set_last_best_location(self, last_best_location: BestLocation) -> "Location": """ Sets the most recent best location. :param last_best_location: The most recent best location to set. :return: A modified instance of self. """ common.check_type(last_best_location, [BestLocation]) self.get_proto().last_best_location.CopyFrom(last_best_location.get_proto()) self._last_best_location = BestLocation(self.get_proto().last_best_location) return self
def set_latitude_samples(self, latitude_samples: SamplePayload) ‑> Location
-
Sets the latitude samples. :param latitude_samples: Payload top set. :return: A modified instance of self.
Expand source code
def set_latitude_samples( self, latitude_samples: common.SamplePayload ) -> "Location": """ Sets the latitude samples. :param latitude_samples: Payload top set. :return: A modified instance of self. """ common.check_type(latitude_samples, [common.SamplePayload]) # noinspection Mypy self.get_proto().latitude_samples.CopyFrom(latitude_samples.get_proto()) self._latitude_samples = common.SamplePayload(self.get_proto().latitude_samples) return self
def set_location_permissions_granted(self, location_permissions_granted: bool) ‑> Location
-
Sets if location permissions have been granted. :param location_permissions_granted: Permissions to set :return: A modified instance of self
Expand source code
def set_location_permissions_granted( self, location_permissions_granted: bool ) -> "Location": """ Sets if location permissions have been granted. :param location_permissions_granted: Permissions to set :return: A modified instance of self """ redvox.api1000.common.typing.check_type(location_permissions_granted, [bool]) self._proto.location_permissions_granted = location_permissions_granted return self
def set_location_providers(self, location_providers: ProtoRepeatedMessage) ‑> Location
-
Sets the location provides. :param location_providers: An instance of a ProtoRepeatedMessage containing the location providers. :return: A modified instance of self.
Expand source code
def set_location_providers( self, location_providers: ProtoRepeatedMessage ) -> "Location": """ Sets the location provides. :param location_providers: An instance of a ProtoRepeatedMessage containing the location providers. :return: A modified instance of self. """ common.check_type(location_providers, [ProtoRepeatedMessage]) self._location_providers.clear_values() self._location_providers.append_values(location_providers.get_values()) return self
def set_location_services_enabled(self, location_services_enabled: bool) ‑> Location
-
Sets if location servers are enabled. :param location_services_enabled: Set enabled or disabled :return: Modified version of self
Expand source code
def set_location_services_enabled( self, location_services_enabled: bool ) -> "Location": """ Sets if location servers are enabled. :param location_services_enabled: Set enabled or disabled :return: Modified version of self """ redvox.api1000.common.typing.check_type(location_services_enabled, [bool]) self._proto.location_services_enabled = location_services_enabled return self
def set_location_services_requested(self, location_services_requested: bool) ‑> Location
-
Sets if location services have been requested. :param location_services_requested: :return:
Expand source code
def set_location_services_requested( self, location_services_requested: bool ) -> "Location": """ Sets if location services have been requested. :param location_services_requested: :return: """ redvox.api1000.common.typing.check_type(location_services_requested, [bool]) self._proto.location_services_requested = location_services_requested return self
def set_longitude_samples(self, longitude_samples: SamplePayload) ‑> Location
-
Sets the longitude samples. :param longitude_samples: Payload to set. :return: A modified instance of self.
Expand source code
def set_longitude_samples( self, longitude_samples: common.SamplePayload ) -> "Location": """ Sets the longitude samples. :param longitude_samples: Payload to set. :return: A modified instance of self. """ common.check_type(longitude_samples, [common.SamplePayload]) # noinspection Mypy self.get_proto().longitude_samples.CopyFrom(longitude_samples.get_proto()) self._longitude_samples = common.SamplePayload( self.get_proto().longitude_samples ) return self
def set_overall_best_location(self, overall_best_location: BestLocation) ‑> Location
-
Sets the overall best location. :param overall_best_location: BestLocation to set. :return: A modified instance of self.
Expand source code
def set_overall_best_location( self, overall_best_location: BestLocation ) -> "Location": """ Sets the overall best location. :param overall_best_location: BestLocation to set. :return: A modified instance of self. """ common.check_type(overall_best_location, [BestLocation]) self.get_proto().overall_best_location.CopyFrom( overall_best_location.get_proto() ) self._overall_best_location = BestLocation( self.get_proto().overall_best_location ) return self
def set_sensor_description(self, sensor_description: str) ‑> Location
-
Sets the location sensor's description :param sensor_description: Description to set :return: A modified instance of self
Expand source code
def set_sensor_description(self, sensor_description: str) -> "Location": """ Sets the location sensor's description :param sensor_description: Description to set :return: A modified instance of self """ redvox.api1000.common.typing.check_type(sensor_description, [str]) self._proto.sensor_description = sensor_description return self
def set_speed_accuracy_samples(self, speed_accuracy_samples: SamplePayload) ‑> Location
-
Sets the speed accuracy samples. :param speed_accuracy_samples: Payload to set. :return: A modified instance of self.
Expand source code
def set_speed_accuracy_samples( self, speed_accuracy_samples: common.SamplePayload ) -> "Location": """ Sets the speed accuracy samples. :param speed_accuracy_samples: Payload to set. :return: A modified instance of self. """ common.check_type(speed_accuracy_samples, [common.SamplePayload]) # noinspection Mypy self.get_proto().speed_accuracy_samples.CopyFrom( speed_accuracy_samples.get_proto() ) self._speed_accuracy_samples = common.SamplePayload( self.get_proto().speed_accuracy_samples ) return self
def set_speed_samples(self, speed_samples: SamplePayload) ‑> Location
-
Sets the speed samples. :param speed_samples: Payload to set. :return: A modified instance of self.
Expand source code
def set_speed_samples(self, speed_samples: common.SamplePayload) -> "Location": """ Sets the speed samples. :param speed_samples: Payload to set. :return: A modified instance of self. """ common.check_type(speed_samples, [common.SamplePayload]) # noinspection Mypy self.get_proto().speed_samples.CopyFrom(speed_samples.get_proto()) self._speed_samples = common.SamplePayload(self.get_proto().speed_samples) return self
def set_timestamps(self, timestamps: TimingPayload) ‑> Location
-
Sets the timestamps. :param timestamps: Timing payload to set. :return: A modified instance of self.
Expand source code
def set_timestamps(self, timestamps: common.TimingPayload) -> "Location": """ Sets the timestamps. :param timestamps: Timing payload to set. :return: A modified instance of self. """ common.check_type(timestamps, [common.TimingPayload]) self.get_proto().timestamps.CopyFrom(timestamps.get_proto()) self._timestamps = common.TimingPayload(self.get_proto().timestamps) return self
def set_timestamps_gps(self, timestamps_gps: TimingPayload) ‑> Location
-
Sets the GPS timing samples. :param timestamps_gps: Payload to set. :return: A modified instance of self.
Expand source code
def set_timestamps_gps(self, timestamps_gps: common.TimingPayload) -> "Location": """ Sets the GPS timing samples. :param timestamps_gps: Payload to set. :return: A modified instance of self. """ common.check_type(timestamps_gps, [common.TimingPayload]) self.get_proto().timestamps_gps.CopyFrom(timestamps_gps.get_proto()) self._timestamps_gps = common.TimingPayload(self.get_proto().timestamps_gps) return self
def set_vertical_accuracy_samples(self, vertical_accuracy_samples: SamplePayload) ‑> Location
-
Sets the vertical accuracy samples. :param vertical_accuracy_samples: Payload to set. :return: A modified instance of self.
Expand source code
def set_vertical_accuracy_samples( self, vertical_accuracy_samples: common.SamplePayload ) -> "Location": """ Sets the vertical accuracy samples. :param vertical_accuracy_samples: Payload to set. :return: A modified instance of self. """ common.check_type(vertical_accuracy_samples, [common.SamplePayload]) # noinspection Mypy self.get_proto().vertical_accuracy_samples.CopyFrom( vertical_accuracy_samples.get_proto() ) self._vertical_accuracy_samples = common.SamplePayload( self.get_proto().vertical_accuracy_samples ) return self
Inherited members
class LocationProvider (value, names=None, *, module=None, qualname=None, type=None, start=1)
-
An enum that represents valid location providers
Expand source code
@wrap_enum(RedvoxPacketM.Sensors.Location.LocationProvider) class LocationProvider(enum.Enum): """ An enum that represents valid location providers """ UNKNOWN: int = 0 NONE: int = 1 USER: int = 2 GPS: int = 3 NETWORK: int = 4
Ancestors
- enum.Enum
Class variables
var GPS : int
var NETWORK : int
var NONE : int
var UNKNOWN : int
var USER : int
var from_proto
-
An enum that represents valid location providers
Methods
def into_proto(self)
-
Expand source code
setattr(enum, "into_proto", lambda self: proto_type.Value(self.name))
class LocationScoreMethod (value, names=None, *, module=None, qualname=None, type=None, start=1)
-
An enum that represents location scoring methods
Expand source code
@wrap_enum(RedvoxPacketM.Sensors.Location.BestLocation.LocationScoreMethod) class LocationScoreMethod(enum.Enum): """ An enum that represents location scoring methods """ UNKNOWN_METHOD: int = 0
Ancestors
- enum.Enum
Class variables
var UNKNOWN_METHOD : int
var from_proto
-
An enum that represents location scoring methods
Methods
def into_proto(self)
-
Expand source code
setattr(enum, "into_proto", lambda self: proto_type.Value(self.name))
class RedvoxPacketM (*args, **kwargs)
-
A ProtocolMessage
Ancestors
- google._upb._message.Message
- google.protobuf.message.Message
Class variables
var DESCRIPTOR
var DoubleSamplePayload
-
A ProtocolMessage
var EventStream
-
A ProtocolMessage
var MetadataEntry
-
A ProtocolMessage
var SamplePayload
-
A ProtocolMessage
var Sensors
-
A ProtocolMessage
var StationInformation
-
A ProtocolMessage
var SummaryStatistics
-
A ProtocolMessage
var TimingInformation
-
A ProtocolMessage
var TimingPayload
-
A ProtocolMessage
var Unit