public static SensorLog FromJson(string filePath) { SensorLog sensorLog = new SensorLog(); sensorLog.Data = SensorLogData.FromJson(File.ReadAllText(filePath, Encoding.UTF8)); sensorLog.Count = sensorLog.Data.Count; foreach (var data in sensorLog.Data) { sensorLog.LocationCount += (data.LocationLongitude != 0 && data.LocationLatitude.HasValue) ? 1 : 0; sensorLog.AltitudeCount += (data.LocationAltitude.HasValue) ? 1 : 0; } sensorLog.AltitudeMin = sensorLog.Data.Where(s => s.LocationAltitude.HasValue).Min(s => s.LocationAltitude.Value); sensorLog.AltitudeMax = sensorLog.Data.Where(s => s.LocationAltitude.HasValue).Max(s => s.LocationAltitude.Value); return(sensorLog); }
internal static string ToJson(this SensorLogData self) => JsonConvert.SerializeObject(self, IO.SensorLog.Converter.Settings);