[Дизайн] Элемент сцены Погода

Оформление сцен, меню, страниц

Модераторы: immortal, newz20

Аватара пользователя
Bagir
Сообщения: 1613
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 375 раз

Re: Элемент сцены Погода

Сообщение Bagir » Пн мар 16, 2015 1:09 pm

блин
file_exists
невнимательность )
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

Re: Элемент сцены Погода

Сообщение skysilver » Пн мар 16, 2015 1:15 pm

Пособирал монохромные размером 48х48. У них оказывается есть градация по температуре воздуха, поэтому
получилось аж 337 картинок. Да и то не факт, что это все. Вот архив.
mono.zip
(364.46 КБ) 218 скачиваний
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Аватара пользователя
Bagir
Сообщения: 1613
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 375 раз

Re: Элемент сцены Погода

Сообщение Bagir » Пн мар 16, 2015 1:16 pm

А я все думал, как цветовую температуру прикрутить. Вот они значит чего придумали.
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Аватара пользователя
Bagir
Сообщения: 1613
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 375 раз

Re: Элемент сцены Погода

Сообщение Bagir » Пн мар 16, 2015 1:19 pm

Еще можно их в svg скрасть и сразу в коде элемента рисовать.
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

Re: Элемент сцены Погода

Сообщение skysilver » Пн мар 16, 2015 1:21 pm

Bagir писал(а):Еще можно их в svg скрасть и сразу в коде элемента рисовать.
А где в SVG брать?
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Аватара пользователя
Bagir
Сообщения: 1613
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 375 раз

Re: Элемент сцены Погода

Сообщение Bagir » Пн мар 16, 2015 1:23 pm

Я что то находил просмотром кода страницы яндекса. Вот например
тучкаПоказать

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

<svg enable-background="new 0 0 30 30" viewBox="0 0 30 30" xmlns="http://www.w3.org/2000/svg"><path d="M5.6 22c-1.8 0-3.3-1.6-3.3-3.4 0-1.8 1.5-3.3 3.3-3.3h.2c.6-1.9 2.2-3.2 4.2-3.2.1 0 .2 0 .4.1.9-2.6 3.4-4.6 6.3-4.6 3.3 0 6.1 2.4 6.6 5.6.5-.1.9-.2 1.3-.2 2.5 0 4.5 2 4.5 4.5s-2 4.5-4.5 4.5h-19zm17.73-7c-.767.343-.96.367-1.16.267-.2-.1-.215-.267-.4-1.067-.452-2.934-2.27-4.8-4.97-4.8-2.6 0-4.8 2.1-4.8 4.6 0 .4-.1.5-.5.2-.4-.2-.9-.4-1.4-.4-1.4 0-2.6 1.1-2.7 2.8 0 .4.1.8 0 .9-.1.1-.3-.1-.8-.3-.517-.2-.8-.2-1-.2-.8 0-1.5.7-1.5 1.5S4.8 20 5.6 20h19c1.4 0 2.6-1.2 2.6-2.6 0-1.4-1.1-2.6-2.6-2.6-.33 0-.882.027-1.27.2z" fill="#006ED4" fill-rule="evenodd"/></svg>
 
Можно кинуть на новую домашнюю страницу.
За это сообщение автора Bagir поблагодарил:
skysilver (Пн мар 16, 2015 1:27 pm)
Рейтинг: 1.16%
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

Re: Элемент сцены Погода

Сообщение skysilver » Пн мар 16, 2015 2:17 pm

Выдернул цветные (по параметру image-v3) размером 48х48. Среди них есть туман, шторм и метель.
Получилось 28 картинок. Вот архив.
color.zip
(25.82 КБ) 227 скачиваний
За это сообщение автора skysilver поблагодарил:
Bagir (Пн мар 16, 2015 2:28 pm)
Рейтинг: 1.16%
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Аватара пользователя
Bagir
Сообщения: 1613
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 375 раз

Re: Элемент сцены Погода

Сообщение Bagir » Пн мар 16, 2015 2:28 pm

Значит надо на них вернуться. Очень полная коллекция. Код проверки и скачивания с сервера конечно тоже надо оставить. Мало ли придумают еще чего.
А кто хочет использовать другую коллекцию, теперь есть с чем сравнивать.
Большое спасибо за помощь! Теперь можно погодный элемент до ума довести и выложить. Давно хотел вернуться к этой теме.
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

Re: Элемент сцены Погода

Сообщение skysilver » Пн мар 16, 2015 3:18 pm

Напоследок - цветные картинки по параметру image. Встречаются повторяющиеся. Нарисованы, имхо, так себе. :)
Архив:
wiz.zip
(52.77 КБ) 226 скачиваний
Все картинки искал и скачивал вот таким скриптом:
СпойлерПоказать

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

<?php

$col = 3; // кол-во дней (до 10, увеличивается время выдачи)
$data_file = 'http://weather.yandex.ru/static/cities.xml';

$xml = simplexml_load_file($data_file);

foreach ($xml->country as $key => $value) {
    foreach ($value->city as $key1 => $value1):
        $out = getWeather($value1["id"], $col);
        foreach ($out as $day):
            foreach ($day['weather'] as $weather):
                $types[(string)$weather['weather_type']] = (string)$weather['image'];
                $images[(string)$weather['image']] = (string)$weather['weather_type'];
            endforeach;
        endforeach;
    endforeach;
}

foreach($images as $img=>$type):
    echo '<img src="http://yandex.st/weather/1.2.61/i/icons/48x48/'.$img.'.png" width="48" height="48" /> -'. $type.'<br />';
    $urlImage = 'http://yandex.st/weather/1.2.61/i/icons/48x48/'.$img.'.png';
    if (!file_exists($img.'.png')) {
        file_put_contents($img.'.png', file_get_contents($urlImage));
    }
endforeach;

function getWeather($city, $col = 10) {
    $data_file = 'http://export.yandex.ru/weather-ng/forecasts/'.$city.'.xml';
    $xml = simplexml_load_file($data_file);

    $out = array();
    $counter = 0 ;

    if($xml->day):
        foreach($xml->day as $day):

            if($counter == $col) break;
            for ($i=0;$i<=3;$i++) {
                $out[$counter]['weather'][$i]['image'] = $day->day_part[$i]->{'image-v3'};            // тут задаем нужное поле файла XML
                $out[$counter]['weather'][$i]['weather_type'] = $day->day_part[$i]->weather_type;
            }
            $counter++ ;
        endforeach;
    endif;
    return $out ;
}
?>
Скрипт берет список всех городов и ищет по ним изображения с погодой за несколько последних дней (задается в параметрах).
Последний раз редактировалось skysilver Пн мар 16, 2015 4:17 pm, всего редактировалось 2 раза.
За это сообщение автора skysilver поблагодарил:
Bagir (Пн мар 16, 2015 3:28 pm)
Рейтинг: 1.16%
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Аватара пользователя
Bagir
Сообщения: 1613
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 212 раз
Поблагодарили: 375 раз

Re: Элемент сцены Погода

Сообщение Bagir » Пн мар 16, 2015 3:27 pm

Да, меня они тоже не впечатлили. И повторений много, да и уж очень маленькие. Я выбрал v3. Код докачки добавил. Пускай будет для примера.
Раз уж вернулся к теме, надо еще и сбор данных на завтра-послезавтра сделать и прогноз добавить. Код предупреждения о дожде тоже. Еще будет полезно предупредить о резком похолодании с плюса на минус. Чтобы машину вовремя помыть ))
Вообщем надо собрать все в кучу. Вечерком обновлю первое сообщение.
Только не сердитесь, если утащил у кого то идею или пример кода. Мы же все равно общее дело делаем. Новичкам будет проще разобраться, да и библиотека решений будет расти.
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Ответить