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

Расчет заморозков

Добавлено: Вт мар 17, 2015 11:47 am
Amarok
Расчет заморозков. Сценарий рассчитан на совместную работу со сценарием "Погода (Яндекс)".
СпойлерПоказать

Код: Выделить всё

if (date('G')< 20) {return;} //Расчет заморозков возможен только после 21 часа
$objects=getObjectsByClass("Погода с Yandex"); //имя класса
foreach($objects as $obj) {
$t13 = gg($obj['TITLE'].".Temp13h"); // Считываем значение температуры в 13 часов дня
$t21 = gg($obj['TITLE'].".Temp21h"); // Считываем значение температуры в 21 час вечера
if ($t13 == "" or $t21 == "") {return;} //Недостаточно данных для расчета заморозков
$z = "0%";
$x = $t13 - $t21;

    if ( $t21 >= $t13 ) {return;} //Расчет заморозков невозможен. Температура растет
    if ( $t21 < 0 ) {return;} //Расчет заморозков невозможен. Температура ниже нуля

    if ( $t21 < 11 && $x < 11 )
    {
        $t_graph = array(
            0 => array(0.375, 11, 0),
            1 => array(0.391, 8.7, 10),
            2 => array(0.382, 6.7, 20),
            3 => array(0.382, 4.7, 40),
            4 => array(0.391, 2.7, 60),
            5 => array(0.4, 1.6, 80));

        $z = "100%";
        for ( $i = 0; $i < count($t_graph); $i++ )
        {
            $y1 = $t_graph[$i][0] * $x + $t_graph[$i][1];
    
            if ( $t21 > $y1)
            {
                $z = $t_graph[$i][2]."%";
                break;
            }
        }
    }
$frost="Вероятность заморозков: ";
$frost.=$z;
sg($obj['TITLE'].".frost",$frost);
}
Ну в onNewMinute добавить

Код: Выделить всё

if (($h==21 and $m=="01")) { RunScript('frostCalc'); } //Расчет заморозков
 

Re: Расчет заморозков

Добавлено: Ср мар 18, 2015 10:12 am
Amarok
Вот тута есть ещё сценарий вычисляющий прогноз погоды, но не понимаю как его к Алисе привинтить :( Может старшие и опытные товарищи привинтят? :roll:

Re: Расчет заморозков

Добавлено: Ср мар 18, 2015 9:08 pm
RomChik
Идея интересная, только не понял что на выходе должен получить?

Re: Расчет заморозков

Добавлено: Чт мар 19, 2015 8:24 am
Amarok
RomChik писал(а):Идея интересная, только не понял что на выходе должен получить?
В смысле?