You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mapbox-sdk/Unity/Location/Logging/LocationLogAbstractBase.cs

115 lines
2.4 KiB

6 months ago
namespace Mapbox.Unity.Location
{
using System;
using System.ComponentModel;
using System.Globalization;
using Mapbox.VectorTile.ExtensionMethods;
/// <summary>
/// Base class for reading/writing location logs
/// </summary>
public abstract class LocationLogAbstractBase
{
public readonly string Delimiter = ";";
protected readonly CultureInfo _invariantCulture = CultureInfo.InvariantCulture;
public enum LogfileColumns
{
#if !ENABLE_WINMD_SUPPORT
[Description("location service enabled")]
#endif
LocationServiceEnabled = 0,
#if !ENABLE_WINMD_SUPPORT
[Description("location service intializing")]
#endif
LocationServiceInitializing = 1,
#if !ENABLE_WINMD_SUPPORT
[Description("location updated")]
#endif
LocationUpdated = 2,
#if !ENABLE_WINMD_SUPPORT
[Description("userheading updated")]
#endif
UserHeadingUpdated = 3,
#if !ENABLE_WINMD_SUPPORT
[Description("location provider")]
#endif
LocationProvider = 4,
#if !ENABLE_WINMD_SUPPORT
[Description("location provider class")]
#endif
LocationProviderClass = 5,
#if !ENABLE_WINMD_SUPPORT
[Description("time device [utc]")]
#endif
UtcTimeDevice = 6,
#if !ENABLE_WINMD_SUPPORT
[Description("time location [utc]")]
#endif
UtcTimeOfLocation = 7,
#if !ENABLE_WINMD_SUPPORT
[Description("latitude")]
#endif
Latitude = 8,
#if !ENABLE_WINMD_SUPPORT
[Description("longitude")]
#endif
Longitude = 9,
#if !ENABLE_WINMD_SUPPORT
[Description("accuracy [m]")]
#endif
Accuracy = 10,
#if !ENABLE_WINMD_SUPPORT
[Description("user heading [<EFBFBD>]")]
#endif
UserHeading = 11,
#if !ENABLE_WINMD_SUPPORT
[Description("device orientation [<EFBFBD>]")]
#endif
DeviceOrientation = 12,
#if !ENABLE_WINMD_SUPPORT
[Description("speed [km/h]")]
#endif
Speed = 13,
#if !ENABLE_WINMD_SUPPORT
[Description("has gps fix")]
#endif
HasGpsFix = 14,
#if !ENABLE_WINMD_SUPPORT
[Description("satellites used")]
#endif
SatellitesUsed = 15,
#if !ENABLE_WINMD_SUPPORT
[Description("satellites in view")]
#endif
SatellitesInView = 16
}
public string[] HeaderNames
{
get
{
Type enumType = typeof(LogfileColumns);
Array arrEnumVals = Enum.GetValues(enumType);
string[] hdrs = new string[arrEnumVals.Length];
for (int i = 0; i < arrEnumVals.Length; i++)
{
hdrs[i] = ((LogfileColumns)Enum.Parse(enumType, arrEnumVals.GetValue(i).ToString())).Description();
}
return hdrs;
}
}
}
}