/** * render average temperature chart head for google charts * @return string */ public function chartHead() { $t = \Translate\Controller::getDefault(); $oTemplate = new Templater('history-chartHead.html'); $oChartDailyPressure = new \General\GoogleChart(); $oChartDailyPressure->setTitle($t->get('Pressure')); $oChartDailyPressure->setDomID('chartDailyPressure'); $oChartDailyPressure->add('Hour', array()); $oChartDailyPressure->add('Avg', array()); $oChartDailyPressure->add('Max', array()); $oChartDailyPressure->add('Min', array()); foreach ($this->externalData as $oReadout) { $oChartDailyPressure->push('Hour', Formater::formatDate($oReadout['Date'])); $oChartDailyPressure->push('Avg', number_format($oReadout['Pressure'], 2, '.', '')); $oChartDailyPressure->push('Max', number_format($oReadout['MaxPressure'], 2, '.', '')); $oChartDailyPressure->push('Min', number_format($oReadout['MinPressure'], 2, '.', '')); } $oTemplate->add('chartDailyPressure', $oChartDailyPressure->getHead()); /* * Day aggregate charts */ $oChartDailyTemperature = new \General\GoogleChart(); $oChartDailyTemperature->setTitle($t->get('Temperature')); $oChartDailyTemperature->setDomID('chartDailyTemperature'); $oChartDailyTemperature->add('Day', array()); $oChartDailyTemperature->add('Avg', array()); $oChartDailyTemperature->add('Max', array()); $oChartDailyTemperature->add('Min', array()); $oChartDailyHumidity = new \General\GoogleChart(); $oChartDailyHumidity->setTitle($t->get('Humidity')); $oChartDailyHumidity->setDomID('chartDailyHumidity'); $oChartDailyHumidity->add('Day', array()); $oChartDailyHumidity->add('Avg', array()); $oChartDailyHumidity->add('Min', array()); foreach ($this->internalData as $oReadout) { $oChartDailyTemperature->push('Day', Formater::formatDate($oReadout['Date'])); $oChartDailyTemperature->push('Avg', number_format($oReadout['Temperature'], 2)); $oChartDailyTemperature->push('Max', number_format($oReadout['MaxTemperature'], 2)); $oChartDailyTemperature->push('Min', number_format($oReadout['MinTemperature'], 2)); $oChartDailyHumidity->push('Day', Formater::formatDate($oReadout['Date'])); $oChartDailyHumidity->push('Avg', number_format($oReadout['Humidity'], 2)); $oChartDailyHumidity->push('Min', number_format($oReadout['MinHumidity'], 2)); } $oTemplate->add('chartDailyTemperature', $oChartDailyTemperature->getHead()); $oTemplate->add('chartDailyHumidity', $oChartDailyHumidity->getHead()); return (string) $oTemplate; }
/** * render average temperature chart head for google charts * @return string */ public function chartHead() { $t = \Translate\Controller::getDefault(); $oTemplate = new Templater('chartHead.html'); /** * Data from OpenWeatherMap.org */ $oOpenWeatherMap = new \Model\OpenWeatherMap(); $aHistory = $oOpenWeatherMap->getHourAggregate(168, "ASC"); $oChartHourPressure = new \General\GoogleChart(); $oChartHourPressure->setTitle($t->get('Pressure') . " [hPa]"); $oChartHourPressure->setDomID('chartHourPressure'); $oChartHourPressure->add('Hour', array()); $oChartHourPressure->add('Min', array()); foreach ($aHistory as $oReadout) { $oChartHourPressure->push('Hour', Formater::formatTime($oReadout['Date'])); $oChartHourPressure->push('Min', number_format($oReadout['MinPressure'], 2, '.', '')); } $oTemplate->add('chartHourPressure', $oChartHourPressure->getHead()); $oChartHourWindSpeed = new \General\GoogleChart(); $oChartHourWindSpeed->setTitle($t->get('Wind speed') . " [m/s]"); $oChartHourWindSpeed->setDomID('chartHourWindSpeed'); $oChartHourWindSpeed->add('Hour', array()); $oChartHourWindSpeed->add('Min', array()); foreach ($aHistory as $oReadout) { $oChartHourWindSpeed->push('Hour', Formater::formatTime($oReadout['Date'])); $oChartHourWindSpeed->push('Min', number_format($oReadout['WindSpeed'], 2, '.', '')); } $oTemplate->add('chartHourWindSpeed', $oChartHourWindSpeed->getHead()); /* * Hour Aggregate charts */ $aHistory = $this->model->getHourAggregate(168, "ASC"); $oChartHourTemperature = new \General\GoogleChart(); $oChartHourTemperature->setTitle($t->get('Temperature') . " [C]"); $oChartHourTemperature->setDomID('chartHourTemperature'); $oChartHourTemperature->add('Hour', array()); $oChartHourTemperature->add('Avg', array()); $oChartHourHumidity = new \General\GoogleChart(); $oChartHourHumidity->setTitle($t->get('Humidity') . " [%]"); $oChartHourHumidity->setDomID('chartHourHumidity'); $oChartHourHumidity->add('Hour', array()); $oChartHourHumidity->add('Avg', array()); foreach ($aHistory as $oReadout) { $oChartHourTemperature->push('Hour', Formater::formatTime($oReadout['Date'])); $oChartHourTemperature->push('Avg', number_format($oReadout['Temperature'], 2)); $oChartHourHumidity->push('Hour', Formater::formatTime($oReadout['Date'])); $oChartHourHumidity->push('Avg', number_format($oReadout['Humidity'], 2)); } $oTemplate->add('chartHourTemperature', $oChartHourTemperature->getHead()); $oTemplate->add('chartHourHumidity', $oChartHourHumidity->getHead()); return (string) $oTemplate; }
/** * render average temperature chart head for google charts * @return string */ public function chartHead() { $oTemplate = new Templater('chartHead.html'); /* * Hour Aggregate charts */ $aHistory = $this->model->getHourAggregate(72, "ASC"); $oChartHourTemperature = new \General\GoogleChart(); $oChartHourTemperature->setTitle('Temperature'); $oChartHourTemperature->setDomID('chartHourTemperature'); $oChartHourTemperature->add('Hour', array()); $oChartHourTemperature->add('Avg', array()); $oChartHourTemperature->add('Max', array()); $oChartHourTemperature->add('Min', array()); $oChartHourHumidity = new \General\GoogleChart(); $oChartHourHumidity->setTitle('Humidity'); $oChartHourHumidity->setDomID('chartHourHumidity'); $oChartHourHumidity->add('Hour', array()); $oChartHourHumidity->add('Avg', array()); $oChartHourHumidity->add('Max', array()); $oChartHourHumidity->add('Min', array()); foreach ($aHistory as $iIndex => $oReadout) { $oChartHourTemperature->push('Hour', Formater::formatTime($oReadout['Date'])); $oChartHourTemperature->push('Avg', number_format($oReadout['Temperature'], 2)); $oChartHourTemperature->push('Max', number_format($oReadout['MaxTemperature'], 2)); $oChartHourTemperature->push('Min', number_format($oReadout['MinTemperature'], 2)); $oChartHourHumidity->push('Hour', Formater::formatTime($oReadout['Date'])); $oChartHourHumidity->push('Avg', number_format($oReadout['Humidity'], 2)); $oChartHourHumidity->push('Max', number_format($oReadout['MaxHumidity'], 2)); $oChartHourHumidity->push('Min', number_format($oReadout['MinHumidity'], 2)); } $oTemplate->add('chartHourTemperature', $oChartHourTemperature->getHead()); $oTemplate->add('chartHourHumidity', $oChartHourHumidity->getHead()); /* * Day aggregate charts */ $aHistory = $this->model->getDayAggregate(14, "ASC"); $oChartDailyTemperature = new \General\GoogleChart(); $oChartDailyTemperature->setTitle('Temperature'); $oChartDailyTemperature->setDomID('chartDailyTemperature'); $oChartDailyTemperature->add('Day', array()); $oChartDailyTemperature->add('Avg', array()); $oChartDailyTemperature->add('Max', array()); $oChartDailyTemperature->add('Min', array()); $oChartDailyHumidity = new \General\GoogleChart(); $oChartDailyHumidity->setTitle('Humidity'); $oChartDailyHumidity->setDomID('chartDailyHumidity'); $oChartDailyHumidity->add('Day', array()); $oChartDailyHumidity->add('Avg', array()); $oChartDailyHumidity->add('Max', array()); $oChartDailyHumidity->add('Min', array()); foreach ($aHistory as $iIndex => $oReadout) { $oChartDailyTemperature->push('Day', Formater::formatDate($oReadout['Date'])); $oChartDailyTemperature->push('Avg', number_format($oReadout['Temperature'], 2)); $oChartDailyTemperature->push('Max', number_format($oReadout['MaxTemperature'], 2)); $oChartDailyTemperature->push('Min', number_format($oReadout['MinTemperature'], 2)); $oChartDailyHumidity->push('Day', Formater::formatDate($oReadout['Date'])); $oChartDailyHumidity->push('Avg', number_format($oReadout['Humidity'], 2)); $oChartDailyHumidity->push('Max', number_format($oReadout['MaxHumidity'], 2)); $oChartDailyHumidity->push('Min', number_format($oReadout['MinHumidity'], 2)); } $oTemplate->add('chartDailyTemperature', $oChartDailyTemperature->getHead()); $oTemplate->add('chartDailyHumidity', $oChartDailyHumidity->getHead()); return (string) $oTemplate; }