• Как использовать Leaflet оффлайн?

    @ssssergey Автор вопроса
    В общем, благодаря ответу ittim мне удалось дойти до 3 пункта из его списка.
    Просто хочется поподробнее раскрыть первые два пункта для тех кому интересно.
    1. С сайта extract.bbbike.org скачивается нужный вам фрагмент карты. Там в поле:
    - "Format" выбираете "OSM XML 7z";
    - "Your email adress" вписываете ваш адрес почты, на которую они пришлют фрагмент карты;
    - "Name of area to extract" - как-нибудь обзовите фрагмент;
    Потом идет кнопка Extract. Ее пока пропускаете. А нажимаете на кнопку поменьше и пониже "here". Ну естественно перед этим нужно навести карту справа на необходимое место. Если промахнулись ничего страшного. Нажимаете на появившуюся кнопку "Select a different area" и все возвращается в исходное положение. После того как вы убедились, что оранжевый прямоугольник покрывает необходимый участок нажимаете "Extract". Все. В течение получаса на вашу почту придет ссылка, по которой вы скачаете свой фрагмент.
    2. Скаченные фрагмент это не картинка, а XML данные, которые нужно преобразовать в картинки (tiles). Для этого с сайта maperitive.net скачиваете программку. Запускаете. Заходите File->Open map sources, выбираете скачанный XML фрагмент (предварительно распакованный). Программка задумается ненадолго (в зависимости от размера файла). Заходите в Tools->Generate Tiles. После этого программка будет думать еще дольше. По завершению в папке Tiles внутри программной папки появятся те самые тайлы в формате png.
    3. Оказалось, что сервер можно не поднимать. Просто прописываете ссылку на папку с тайлами. Например: d:/Tiles//{z}/{x}/{y}.png

    P.S. Оказалось можно пропускать 1 пункт и делать тайлы прямо из программки Maperitive.
    P.P.S. Программка Maperitive оказалась непростой. В нижней части имеется поле командной строки, которое позволяет осуществлять гибкую настройку. Например, по умолчанию осуществляется рендеринг пяти уровней зума, но если написать в командной строке generate-tiles minzoom=8 maxzoom=18, то можно зум рендерится с 8 до 18 уровней.

    P.P.P.S. Оказалось, что 1 пункт (т.е. локальная подгрузка стороннего источника карт) все-таки необходим, если вы хотите видоизменять карту, применяя так называемые Правила (Rules). Встроенная карта на эти изменения не реагирует. В частности, я пытался сделать так, чтобы названия иностранных населенных пунктов (ну например турецких) отображались на русском или английском, но не на турецком. Или чтобы аэропорты были подписаны. Так вот это удалось сделать только подгрузив карты из локального источника.
    Ответ написан
  • Как установить время и дату на Raspberry PI автоматически при включении с NTP сервера?

    grims
    @grims
    Не курю
    В raspberry pi нет аппаратных часов:
    pi@raspberrypi:~ $ sudo hwclock 
    hwclock: Cannot access the Hardware Clock via any known method.

    Поэтому идем иным путем:
    pi@raspberrypi:~ $ date
    Wed 15 Feb 08:00:59 UTC 2017
    
    pi@raspberrypi:~ $ sudo dpkg-reconfigure tzdata 
    Current default time zone: 'Europe/Moscow'
    Local time is now:      Wed Feb 15 11:15:58 MSK 2017.
    Universal Time is now:  Wed Feb 15 08:15:58 UTC 2017.
    
    pi@raspberrypi:~ $ date 
    Wed 15 Feb 11:16:08 MSK 2017
    
    pi@raspberrypi:~ $ sudo ntpdate -u ntp.ubuntu.com
    15 Feb 11:16:39 ntpdate[7529]: adjust time server 91.189.94.4 offset -0.001106 sec
    
    pi@raspberrypi:~ $ date 
    Wed 15 Feb 11:16:49 MSK 2017

    *Может требоваться установить "ntpdate" (aptitude install ntpdate).
    Можно и без него, проверить наличие файла /etc/ntp.conf
    pi@raspberrypi:~ $ sudo /etc/init.d/ntp restart
    pi@raspberrypi:~ $ sudo ntpd -gq

    С форума raspberrypi в тему NTP / time settings
    P.S. По совсем правильному рекомендуют использовать sudo raspi-config в меню выбрать Localisation Options-->Change Timezone-->...

    Или если вы гик, можно и руками поработать тык и тык.
    Ответ написан
    Комментировать