Example #1
0
        private List <TimeStampedValue> GetUserValues(List <Reading> items)
        {
            var userValues = new List <TimeStampedValue>(items.Count);

            switch (State.UserGraphAttribute)
            {
            case PersistentState.UserCalculatedAttribute.DewPoint: {
                var tempConverter = ReadingValuesConverterCache <Reading> .TemperatureCache
                                    .Get(TemperatureUnit, TemperatureUnit.Celsius);

                foreach (var curItem in items)
                {
                    var temperature = curItem.Temperature;
                    if (Double.IsNaN(temperature))
                    {
                        continue;
                    }
                    temperature = tempConverter.Convert(temperature);
                    userValues.Add(new TimeStampedValue(
                                       curItem.TimeStamp,
                                       DewPointCalculator.DewPoint(temperature, curItem.Humidity)
                                       ));
                }
                return(userValues);
            }

            case PersistentState.UserCalculatedAttribute.AirDensity: {
                var airDensityCalc = new AirDensityCalculator(HeightAboveSeaLevel);
                var tempConverter  = ReadingValuesConverterCache <Reading> .TemperatureCache
                                     .Get(TemperatureUnit, TemperatureUnit.Celsius);

                var pressConverter = ReadingValuesConverterCache <Reading> .PressCache
                                     .Get(PressureUnit, PressureUnit.Pascals);

                foreach (var curItem in items)
                {
                    var temperature = curItem.Temperature;
                    if (Double.IsNaN(temperature))
                    {
                        continue;
                    }
                    temperature = tempConverter.Convert(temperature);
                    var pressure = curItem.Pressure;
                    pressure = Double.IsNaN(pressure)
                                                        ? airDensityCalc.EstimatedPressure
                                                        : pressConverter.Convert(pressure);
                    userValues.Add(new TimeStampedValue(
                                       curItem.TimeStamp,
                                       AirDensityCalculator.AirDensity(temperature, curItem.Humidity, pressure)
                                       ));
                }
                return(userValues);
            }
            }
            return(userValues);
        }
Example #2
0
 public void SampleTest1()
 {
     Assert.AreEqual(0.1157, AirDensityCalculator.AirDensity(17, .5, 10000), 0.01);
 }