Страница 1 из 1

[Дизайн] Погода горизонтальная

Добавлено: Вт июл 12, 2016 4:19 am
adzam
Воодушевившись темой: Дизайн сцен - Погода (вертикальная)
переделал модуль немного под себя и получилась Погода горизонтальная.
Выкладываю может кому и пригодится.
Должно быть установлено приложение из маркета openweather.
Бе.png
Бе.png (190.39 КБ) 6986 просмотров
Установка:
1. Импортируем сцену Погода (вертикальная)
Погода+горизонтальная.rar
(73.8 КБ) 417 скачиваний
2.Папку _majordomo копируем поверх своего _majordomo,
Я изменил файл app_openweather.class.php с которого берутся данные(округлил градусы,добавил дни недели и т.д.)
поэтому для работы модуля в архиве даю новый файл app_openweather, старый можете переименовать,если кому нужен
_majordomo.rar
(506.36 КБ) 420 скачиваний
У обьекта openweather (Погода Open Weather Map) создал метод calculate_realfeel для вычисления фактической температуры
СпойлерПоказать
$t = gg('ow_fact.temperature'); // температура на улице
$h = gg('ow_fact.humidity'); // влажность на улице %
$w = gg('ow_fact.wind_speed'); // данные о ветре из прогноза OpenWeather m/s
$w=$w*3.6/1.609;//m/s -> mph
$tF = $t *1.8+32; // перевод температуры в Farenheit

if ($t > 26.6){
// Считаем HeatIndex по Rothfusz
$_f=-42.379 + 2.04901523*$tF + 10.14333127*$h - 0.22475541*$tF*$h - 0.00683783*$tF*$tF - 0.05481717*$h*$h + 0.00122874*$tF*$tF*$h + 0.00085282*$tF*$h*$h -0.00000199*$tF*$tF*$h*$h;
if(($tF<112)&&($h<13)){
// If the RH is less than 13% and the temperature is between 80 and 112 degrees F, then the following adjustment is subtracted from HI:
$_f=$_f-((13-$h)/4)*sqrt((17-abs($tF-95.))/17);
}
if(($tF<88)&&($h>85)){
// On the other hand, if the RH is greater than 85% and the temperature is between 80 and 87 degrees F, then the following adjustment is added to HI:
//ADJUSTMENT = [(RH-85)/10] * [(87-T)/5]
$_f=$_f+(($h-85)/10)*((87-$tF)/5);
}
}else if ($t <= 10){
// Считаем фактор WindChild
$_f = 35.74+(0.6215*$tF)-(35.75*pow($w,0.16))+((0.4275*$tF)*pow($w,0.16));
}else{
//считаем по упрощенной формуле
$_f = 0.5*($tF+61+(($tF-68)*1.2)+($h*0.094));
}
// переводим в цельсии
$rf = round(($_f-32)/1.8,1);
//echo 't= '.$t.'C h= '.$h.'% w='.round($w,2).' mph realfeel t='.$rf.'C';
// записываем данные
sg('ow_fact.reelFeel',$rf);
Кто не разберется предлагаю импортировать мой объект openweather
openweather.rar
(2.58 КБ) 481 скачивание
Если что-то не понятно то спрашивайте.

Re: Погода горизонтальная

Добавлено: Чт авг 31, 2017 9:55 am
immortal
адаптировал под стандартный openweather, исправил ошибку в давлении, для исключения конфликта с сценой Погода Вертикальная надо изменить название файлов:
weather_mid_panel2.png
direction2.png
Погода_горизонтальная.scene.zip
(72.23 КБ) 319 скачиваний

Re: [Дизайн] Погода горизонтальная

Добавлено: Ср сен 25, 2019 10:00 pm
glonas
Картинка почему то кривая , информация не умещается