Слой погоды для Open Street Map

Имхо надо или кластер делать или определить maxResolution, чтобы при отъезде слой отключался.

А что такое rang?

Спасибо за комментарии!
Попробую ответить сразу … если что то пропустил пожалуйста скажите.
1 - Прогноз погоды, отдельная большая и очень интересная тема. Собственно это одна из причин, почему мы это затеяли. Брать чужой не хочется. Чужой прогноз связывает нас лицензионными ограничениями. Совсем свободных проектов я не встречал. Мы считаем сейчас прогноз погоды, но пока это все достаточно сыро и требует отладки и проверки. Выдавать в паблик такой продукт мы не готовы. Но прогноз будет обязательно! Всем кому эта тема интересна можно обсудить ее отдельно.
2 - за ошибки спасибо. будем исправлять.
3 - мобильная версия. Есть версия сделанная в jquery mobile. Мне правда не понятно какой движек картографический туда ставить. Я не изучал этого вопроса . Если есть соображения пишите.
4 - многоязычность заложена. и в дизайне и в названии городов, а пока адский руглиш ))
5 - “дизайн из 90-х” … нуу эээ… дизайна нет вообще )) это дефалтовый шаблон от twitter bootstrap … не такой уж он и старый. Хочется сосредоточится на данных и на удобных библиотеках для использования этих данных, а дизайн свести к минимуму.
6 - слой радаров. Очень хорошая идея. Проблема в том, что радарами закрыта Европа и сев. Америка … ну и кусками что попало по правильному к этим данным нужны оперативные спутниковые снимки. Слой с облаками наверное будет первым приоритетом среди новых данных. Проблема тут еще в том, что облака придется делать как расторый полупрозрачный тайл.
7 - разные погодные станции. В интернет есть достаточно много разрозненных проектов так или иначе посвященных погоде. Как я понял, система о которой написал @Zverik коммерческая. Просто так скачать у них данные можно, но не совсем корректно. Надо к ним и аналогичным людям обращаться напрямую. Если кто либо знает аналогичные проекты или просто любителей зовите их или дайте контакты. Мы готовы интегрироваться с ними.
Сейчас есть интерфейс для станций это POST запрос с basic аутентификацией. Чуть позже я опишу его, если кто то готов подключится сейчас.
8 - “В названии проекта есть слово open. В чем открытость?” - пожалуй один из самых важных вопросов. Открытые, доступные для любого использования данные это для нас символ веры. Кроме того, мы хотим чтобы проект был открыт и для подключения любых метеостанций. Как это все правильно сформулировать с юридической точки зрения надо подумать.
9 - за OpenSeaMap.org спасибо! Обязательно пообщаюсь.
10 - @Alno спасибо за либу для Leaflet! Красота! Как ее лучше использовать? Можем поставить ссылку на какую либо станицу с либой … к примеру на гитхабе. или забрать к себе.
11 - кластеризация на сервере… да надо подумать… как минимум на больших масштабах.
12 - поле rang … вообще то это кол-во жителей в городе. Собственно кластеризация на клиенте сделана на этом поле. Из маркеров попадающих в один кластер выбирается тот у которого больше rang. И именно его данные показываются как данные общего маркера.

Вроде бы Leaflet как раз работает на мобильных WebKit-браузерах - http://leaflet.cloudmade.com/features.html

Насколько я понял дизайн из 90х не у сайта а у OpenLayers :slight_smile:

Да, и вообще интересно бы какую-то обзорную информацию о том какие метеостанции как подключать и прочее. Например, в районе Калуги ни одной метеостанции на карте нет (кстати, как там определяются показания - интерполяция на большое расстояние?) - что нужно сделать, чтобы изменить ситуацию? Насколько сложно/дорого развернуть свою, поддерживать ее?

Кстати, вы историю обновления храните по станциям? Было бы интересно и полезно иметь дампы истории, как мне кажется - можно тогда как-то анализировать климат в точке/регионе.

Как вам удобнее. Если будете что-то значительное допиливать в ней, то логичнее забрать к себе, наверное. Тем более если будете править JS - потому что я правлю исходник на CoffeeScript.
В любом случае, у меня он никуда исчезать не собирается, есть планы его использовать.

Кстати, как вы относитесь к размещению слоя погоды на openstreetmap.ru? Мне кажется, что кому-то это окажется полезно.

Ну можно начать с фиксированного лимита, наверное. Ну или ограничить максимальный размер прямоугольника запроса. А потом простейшую кластеризацию можно сделать группировкой по сетке.

О! Это важная штука, у меня в слое сейчас кластеризация без его учета, поскольку я просто не знал что оно значит :slight_smile:

Дизайн я про OL естественно :slight_smile:

И я тоже интересуюсь разворотом станции, мониторить давление и температуру очень треба, пару точек в Питер я бы накинул !!!

  1. Сотые доли градуса в температуре - это мощно!
  2. К источнику погоды порекомендую foreca.ru - точность на уровне rp5.ru и на порядок выше гисметео
  3. В каком формате представлены lat/lon в permalink’е? Не логичнее ли сделать их в человекочитаемых градусах?

Крутански!!! Сделал кнопку на панель закладок!!!
Единственное, что атмосферное давление у нас более привычней видеть в миллиметрах ртутного столба, а не в килопаскалях :slight_smile:

Что вы со своим rp5 и фореской пристали! Человек же написал:

kisaa, а в чём точность измеряется и как она может быть на один порядок выше?

Имелась в виду точность прогнозов. Точность отображения текущей погоды, естественно, у всех более-менее одинакова. Если прогноз не предусмотрен вообще - прошу прощения, неверно понял.

А мне OL-версия больше нравится. Она не так тормозит на моем Macbook Pro 2010, как этот ваш лифлет. А про дизайн вообще смешно — его для чего угодно нарисовать можно любой.

Кстати, учитывая покрытие, можно попиарить и на внероссийском пространстве.

О, вопрос по теме: как насчёт брать список городов из OSM? Все точки с place=town/city, только и всего. Плюс – будут локализованные названия. И на карте сразу будет ясно, для каких населённых пунктов вычисляется погода.

Ещё вопрос про кластеризацию. Вот здесь хоть и используются погодные данные Пскова, точка рисуется на месте Острова (райцентра). Можно ли рисовать её посередине между городами, или вообще на месте Пскова?

EPSG:900913 вестимо. Надо в конструкторе OpenLayers.Control.Permalink задать displayProjection ‘EPSG:4326’

вброшу :slight_smile:

кто владеет правами на информацию о погоде из аэропортов? разве можно её по CC раздавать?

+1.
У меня есть вопрос по javascript: для XY-картинок используется highcharts.com с очень странной лицензией.
Нельзя ли пояснить, с какой именно ?

В начале 1980’x уже было перешли на килопаскали, но военные потребовали пенсионеры попросили вернуть назад.

Из пожеланий: вместо долей градусов, лучше бы стрелочку: растет температура или падает.

Авторы, попробуйте отсюда потырить данные:
http://w.meteo-nso.ru/index.php
demo:demo12

Самый точный из виденных прогнозов - это windguru.cz. Однако у них наиболее вкусные вещи только в платной версии. Но и в бесплатном варианте они превосходят по точности все аналогичные сервисы. Думаю, что не сбудется завтрашнее обещание от rp5 на целый день дождя в Питере. :wink: Особенно во второй половине дня.

Было бы здорово прикрутить данные радаров, как здесь http://radar.apphb.com

В Ростове-на-Дону сбылось, правда на час раньше.

да, странный прогноз, особенно, если посмотреть текущие ветер и осадки на openseamap

Да запросто - когда путают килопаскали и гектопаскали :stuck_out_tongue:

Вариант отображения метеоданных с помощью leaflet в виде интерактивно подключаемых\отключаемых слоев.
(кириллицу нужно перевести в utf-8)



<html>

<head>

    <meta charset="utf-8" />

    <link rel="stylesheet" href="http://leaflet.cloudmade.com/dist/leaflet.css" />

    <!--[if lte IE 8]><link rel="stylesheet" href="http://leaflet.cloudmade.com/dist/leaflet.ie.css" /><![endif]-->

    <script src="http://leaflet.cloudmade.com/dist/leaflet.js"></script>

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>

    <script src="http://openweathermap.org/js/leaflet-layer.js"></script>

</head>

  <body>

    <div id="map" style="width: 100%; height: 100%"></div>

    <script>

var osmUrl = 'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',

            osmAttribution = 'Map data <a target="_blank" href="http://www.openstreetmap.org">OpenStreetMap.org</a>; contributors, <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>',

            osmLayer = new L.TileLayer(osmUrl, {maxZoom: 18, attribution: osmAttribution});

                var l_w = new OsmJs.Weather.LeafletLayer({lang: 'ru'});

                var map = new L.Map('map', {center: new L.LatLng(55.8, 37.7), zoom: 7, layers: [osmLayer]});

                var baseMaps = {

                        "OpenStreetMap": osmLayer

                        };

                var overlayMaps = {

                        "Метеоданные": l_w

                        };

                layersControl = new L.Control.Layers(baseMaps, overlayMaps);

                map.addControl(layersControl);

    map.on('click', onMapClick);

    var popup = new L.Popup();

    function onMapClick(e) {

    var latlngStr = '(' + e.latlng.lat.toFixed(3) + ', ' + e.latlng.lng.toFixed(3) + ')';

        popup.setLatLng(e.latlng);

        popup.setContent("Координаты точки " + latlngStr);

        map.openPopup(popup);

    }

    </script>

  </body>

</html>


P.S.: отредактировал до полного примера html