OpenStreetMap Forum

The Free Wiki World Map

You are not logged in.

#1 2014-09-23 13:40:23

dudka
Member
From: Київ
Registered: 2011-04-22
Posts: 1,602

Анімація історії правок

Для створення анімаційних картинок, що відображають зміни OSM-даних написав невеликий скрипт
Код - https://github.com/pavlo-dudka/osm-history-animation
Приклад роботи - http://wiki.openstreetmap.org/w/images/ … enchuk.gif
Стаття на вікі - http://wiki.openstreetmap.org/wiki/Uk:% … 0%BE%D0%BA

Запускайте, пишіть відгуки.
Картинка дійсно виходить не зовсім така як на osm.org, але суттєвих відмінностей мало.

Offline

#2 2014-09-23 14:13:25

Obertun Alexander
Member
From: Одесская обл.
Registered: 2013-12-05
Posts: 279

Re: Анімація історії правок

Дякую. Как разберусь, что к чему выложу гифку.

Offline

#3 2014-09-23 16:47:09

edward17
Member
Registered: 2013-08-26
Posts: 1,849
Website

Re: Анімація історії правок

Спасибо большое.

dudka wrote:

Картинка дійсно виходить не зовсім така як на osm.org, але суттєвих відмінностей мало.

А почему? Нет возможности использовать самые новые стили Мапника? Или я не понял технологию?


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

Offline

#4 2014-09-23 17:14:17

UkrainianZombie
Member
Registered: 2014-09-03
Posts: 254

Re: Анімація історії правок

edward17 wrote:

Спасибо большое.

dudka wrote:

Картинка дійсно виходить не зовсім така як на osm.org, але суттєвих відмінностей мало.

А почему? Нет возможности использовать самые новые стили Мапника? Или я не понял технологию?

Там у скрипті здається треба підправити набір правил. Ось тут:

@echo use-ruleset alias=default > Maperitive.scr

Offline

#5 2014-09-23 18:26:39

UkrainianZombie
Member
Registered: 2014-09-03
Posts: 254

Re: Анімація історії правок

Все чудово працює. Зробив майже ціле місто у великій роздільній здатності - http://cdn.makeagif.com/media/9-23-2014/CaUgwQ.gif
Набір правил знайшов якийсь французький, називається R25 smile

Last edited by UkrainianZombie (2014-09-23 20:36:03)

Offline

#6 2014-09-23 20:37:29

algot
Member
From: Дніпро
Registered: 2012-07-03
Posts: 499

Re: Анімація історії правок

Підскажіть як правильно покласти  Maperitive та ImageMagick в binaries.
Треба покласти *.exe, чи папки повністю?

Offline

#7 2014-09-23 20:48:42

UkrainianZombie
Member
Registered: 2014-09-03
Posts: 254

Re: Анімація історії правок

algot wrote:

Підскажіть як правильно покласти  Maperitive та ImageMagick в binaries.
Треба покласти *.exe, чи папки повністю?

Якось так:

binaries:
	ImageMagick				папка
		.......				...
		convert				exe
		.......				...
	Maperitive				папка
		.......				...
		Maperitive			exe
		.......				...
	libeay32				dll
	libiconv2				dll
	libintl3				dll
	libssl32				dll
	osmconvert				exe
	wget					exe

Зверни увагу, що ImageMagick бажано завантажити portable версію, щоб можна було копіювати папку куди схочеш.

Last edited by UkrainianZombie (2014-09-23 20:49:22)

Offline

#8 2014-09-23 20:53:53

algot
Member
From: Дніпро
Registered: 2012-07-03
Posts: 499

Re: Анімація історії правок

UkrainianZombie wrote:

Зверни увагу, що ImageMagick бажано завантажити portable версію, щоб можна було копіювати папку куди схочеш.

А де її взяти?
А то по лінку з Вікі я не знайшов
http://www.imagemagick.org/script/download.php

UPD. Знайшов в іншому місці. Але так і не зрозумів як по посиланню із Вікі качати.

Last edited by algot (2014-09-23 21:08:00)

Offline

#9 2014-09-23 21:46:12

UkrainianZombie
Member
Registered: 2014-09-03
Posts: 254

Re: Анімація історії правок

algot wrote:
UkrainianZombie wrote:

Зверни увагу, що ImageMagick бажано завантажити portable версію, щоб можна було копіювати папку куди схочеш.

А де її взяти?
А то по лінку з Вікі я не знайшов
http://www.imagemagick.org/script/download.php

UPD. Знайшов в іншому місці. Але так і не зрозумів як по посиланню із Вікі качати.

Я тут качав http://www.imagemagick.org/script/binar … hp#windows
Треба вікі відредагувати.

Offline

#10 2014-09-23 22:01:42

algot
Member
From: Дніпро
Registered: 2012-07-03
Posts: 499

Re: Анімація історії правок

І ще проблема с тим, де взяти правильні координати кутів карти.
В Вікі написано

Координати можна отримати наприклад на openstreetmap.org: Share -> HTML.

Але на openstreetmap.org немає такого меню Share-HTML. Тільки PNG/JPEG/SVG/PDF.

І ще б хотілося зробити таку ж анімацію, але не з 2013 року, а хоча би з 2010-го.
Ніде немає більш старіших дампів?

Offline

#11 2014-09-23 22:13:45

UkrainianZombie
Member
Registered: 2014-09-03
Posts: 254

Re: Анімація історії правок

algot wrote:

Але на openstreetmap.org немає такого меню Share-HTML. Тільки PNG/JPEG/SVG/PDF.

Біля кнопки Історія є кнопка Експорт. Натискаєш її, зліва з'являється панель, шукаєш там посилання Виділіть іншу ділянку, вибираєш ділянку, координати видно зліва.

algot wrote:

І ще б хотілося зробити таку ж анімацію, але не з 2013 року, а хоча би з 2010-го.
Ніде немає більш старіших дампів?

Я думаю, що серед старих є тільки для всього світу. Тож треба буде нарізати на шматки.

Last edited by UkrainianZombie (2014-09-23 22:14:26)

Offline

#12 2014-09-24 08:31:13

dudka
Member
From: Київ
Registered: 2011-04-22
Posts: 1,602

Re: Анімація історії правок

edward17 wrote:
dudka wrote:

Картинка дійсно виходить не зовсім така як на osm.org, але суттєвих відмінностей мало.

А почему? Нет возможности использовать самые новые стили Мапника? Или я не понял технологию?

Тому, що для генерації картинок використовується Maperitive, а не mapnik. Дефолтний стиль Maperitive схожий на mapnik, але не ідентичний.

UkrainianZombie wrote:

Там у скрипті здається треба підправити набір правил. Ось тут:
@echo use-ruleset alias=default > Maperitive.scr

Ніби все ок. А що саме виглядає підозріло?

algot wrote:

Але на openstreetmap.org немає такого меню Share-HTML. Тільки PNG/JPEG/SVG/PDF.

На правій панелі кнопка зі стрілчкою(Share).
Але мабуть дійсно краще натиснути Експорт і там одразу видно координати, тільки тоді потрібно також підбирати height & width відповідно розміру вікна браузера.

Last edited by dudka (2014-09-24 09:50:47)

Offline

#13 2014-09-24 09:49:58

dudka
Member
From: Київ
Registered: 2011-04-22
Posts: 1,602

Re: Анімація історії правок

algot wrote:

І ще б хотілося зробити таку ж анімацію, але не з 2013 року, а хоча би з 2010-го.
Ніде немає більш старіших дампів?

Знайшов історію України станом на 31 березня 2012 - http://odbl.poole.ch/extracts
Але не можу знайти жодних програм які вміють працювати з *.osh. Є Osmium, але його треба компілювати, причому під лінукс. І невідомо чи він чимось допоможе.
Спробую нагенерувати з нього osc-файли від 5.04.2007 до 31.03.2012.
Ось перший реальний ченджсет в OSM України http://www.openstreetmap.org/changeset/6999 - 5 квітня 2007 року. Можна вважати днем народження українського OSM smile

Offline

#14 2014-09-24 13:40:23

edward17
Member
Registered: 2013-08-26
Posts: 1,849
Website

Re: Анімація історії правок

dudka wrote:

Ось перший реальний ченджсет в OSM України http://www.openstreetmap.org/changeset/6999 - 5 квітня 2007 року. Можна вважати днем народження українського OSM smile

Красивый номер smile


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

Offline

#15 2014-09-24 18:13:11

UkrainianZombie
Member
Registered: 2014-09-03
Posts: 254

Re: Анімація історії правок

dudka wrote:
UkrainianZombie wrote:

Там у скрипті здається треба підправити набір правил. Ось тут:
@echo use-ruleset alias=default > Maperitive.scr

Ніби все ок. А що саме виглядає підозріло?

То я відповідав edward17 як змінити вигляд рендеру мапи.

dudka wrote:

На правій панелі кнопка зі стрілчкою(Share).
Але мабуть дійсно краще натиснути Експорт і там одразу видно координати, тільки тоді потрібно також підбирати height & width відповідно розміру вікна браузера.

А я й не знав, дякую! big_smile

Offline

#16 2014-09-25 12:07:15

dudka
Member
From: Київ
Registered: 2011-04-22
Posts: 1,602

Re: Анімація історії правок

Зробив анімацію Дніпропетровська: http://wiki.openstreetmap.org/wiki/File … trovsk.gif
Кожен кадр - місяць в OSM.
Пропущені кадри квітень 2012 - лютий 2013, але і без того виглядає цікаво.

Offline

#17 2014-09-25 12:39:21

edward17
Member
Registered: 2013-08-26
Posts: 1,849
Website

Re: Анімація історії правок

dudka wrote:

Зробив анімацію Дніпропетровська: http://wiki.openstreetmap.org/wiki/File … trovsk.gif
Кожен кадр - місяць в OSM.

Почему полигон Днепра то появляется, то исчезает? Это баг Maperetive или его в реальности часто ломали?


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

Offline

#18 2014-09-25 13:07:59

andygol
Moderator
From: Дніпро
Registered: 2009-07-31
Posts: 1,862
Website

Re: Анімація історії правок

dudka wrote:

Зробив анімацію Дніпропетровська: http://wiki.openstreetmap.org/wiki/File … trovsk.gif
Кожен кадр - місяць в OSM.

Дякую, виглядає дійсно цікаво. Треба буде самому спробувати зробити так щоб 1 кадр = 1 тиждень.:)

edward17 wrote:

Почему полигон Днепра то появляется, то исчезает? Это баг Maperetive или его в реальности часто ломали?

Так його періодично ламали, іноді з полігоном Дніпра творилось щось неладне.

Offline

#19 2014-09-25 13:58:59

algot
Member
From: Дніпро
Registered: 2012-07-03
Posts: 499

Re: Анімація історії правок

dudka wrote:

Зробив анімацію Дніпропетровська: http://wiki.openstreetmap.org/wiki/File … trovsk.gif
Кожен кадр - місяць в OSM.
Пропущені кадри квітень 2012 - лютий 2013, але і без того виглядає цікаво.

А можеш підсказати налаштування для скрипта?
Хочу зробити те саме, але розміром десь в FullHD.

Offline

#20 2014-09-26 14:48:20

dudka
Member
From: Київ
Registered: 2011-04-22
Posts: 1,602

Re: Анімація історії правок

algot wrote:
dudka wrote:

Зробив анімацію Дніпропетровська: http://wiki.openstreetmap.org/wiki/File … trovsk.gif
Кожен кадр - місяць в OSM.
Пропущені кадри квітень 2012 - лютий 2013, але і без того виглядає цікаво.

А можеш підсказати налаштування для скрипта?
Хочу зробити те саме, але розміром десь в FullHD.

Оновив статтю на вікі і сам скрипт.
Основна зміна - тепер також завантажується і обробляється історія даних 2005-2012.
Генерувати gif-файли треба окремо для даних до 2012 і починаючи з 2013. Це повязано з тим, що є прогалина в історії правок: квітень 2012 - лютий 2013.

Для того, щоб зробити FullHD треба пропорційно поправити параметри файлу config\dnipropetrovsk.bat
@set zoom=11
@set width=790
@set height=540
Масштаб може бути дробовим.
Також можна зробити зміни картинки більш плавними якщо замість місячних діффів використовувати десятиденні або денні зміни історії одночасно зі зменшенням параметру gif_delay, щоб ролик не був дуже затягнутим.
Отримані png-файли можна конвертувати не в gif-формат, а у відео-формат, наприклад так:
binaries\ImageMagick\convert.exe -delay 1x2 png_2012/*.png png/*.png out.mp4
(1x2 - 1/2 секунди)

Якщо є проблеми з пошуком необхідних компонент - ось готова збірка: https://www.dropbox.com/s/32jvlz34ih5x7fx/binaries.zip

Last edited by dudka (2014-09-26 14:49:31)

Offline

#21 2014-09-26 21:16:51

algot
Member
From: Дніпро
Registered: 2012-07-03
Posts: 499

Re: Анімація історії правок

Скачав останню версію скриптів.
Пробую розділити дані за 2012 рік

E:\dev\OSM\osm-history-animation-master>dir
 Содержимое папки E:\dev\OSM\osm-history-animation-master

26.09.2014  23:01    <DIR>          .
26.09.2014  23:01    <DIR>          ..
23.09.2014  07:42                31 .gitignore
23.09.2014  22:58    <DIR>          binaries
26.09.2014  22:51    <DIR>          config
26.09.2014  06:33               298 download.osm.history.bat
26.09.2014  06:33                65 empty.osm
26.09.2014  06:33               973 generate.o5c.files.bat
26.09.2014  06:33               642 generate.o5c.files.full.bat
26.09.2014  06:33             1 900 generate.osm.gif.bat
26.09.2014  06:33               290 generate.osm.gif.before.2012.bat
26.09.2014  06:33               289 generate.osm.gif.since.2013.bat
24.09.2014  23:46             1 566 generate.osm.gif_bak.bat
26.09.2014  23:01    <DIR>          osc
26.09.2014  23:01             4 750 OsmHistorySplitter.class
26.09.2014  06:33             4 684 OsmHistorySplitter.java
26.09.2014  06:33               204 README.md
26.09.2014  23:13               658 split.history.2012.bat
20.04.2012  19:38       179 109 414 ukraine.osh.bz2
              14 файлов    179 125 764 байт
               5 папок  107 752 476 672 байт свободно

E:\dev\OSM\osm-history-animation-master>split.history.2012.bat

E:\dev\OSM\osm-history-animation-master>binaries\wget.exe -nc http://odbl.poole.ch/extracts/ukraine.osh.bz2
File 'ukraine.osh.bz2' already there; not retrieving.


E:\dev\OSM\osm-history-animation-master>binaries\bzip2.exe -d -k ukraine.osh.bz2
"binaries\bzip2.exe" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
"javac" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

E:\dev\OSM\osm-history-animation-master>binaries\wget.exe -nc --no-check-certificate https://www.dropbox.com/s/sgj87by9rzg8cl9/OsmHistorySplitter.class?dl=1 -O OsmHistorySplitter.class
File `OsmHistorySplitter.class' already there; not retrieving.

E:\dev\OSM\osm-history-animation-master>java OsmHistorySplitter 10
ukraine.osh (═х єфрхЄё  эрщЄш єърчрээ√щ Їрщы)

E:\dev\OSM\osm-history-animation-master>

В чому проблема?:o

Last edited by algot (2014-09-26 21:17:07)

Offline

#22 2014-09-26 21:30:44

Obertun Alexander
Member
From: Одесская обл.
Registered: 2013-12-05
Posts: 279

Re: Анімація історії правок

Сконвертуйте *.osc файли у формат *.o5m запустивши generate.o5c.files.full.bat. Відредагуйте generate.o5c.files.full.bat якщо вам потрібні тільки денні, десятиденні, місячні, річні набори змін, а не усі з них. В результаті виконання будуть створені папки o5c_day, o5c_10days, o5c_month, o5c_year, o5c_2012_day, o5c_2012_10days, o5c_2012_month, o5c_2012_year.

Уточните тем кто не владеет кодом, как сделать месячные скрины в этом коде. Как в бантиках закоментировать?

Offline

#23 2014-09-26 23:19:32

Obertun Alexander
Member
From: Одесская обл.
Registered: 2013-12-05
Posts: 279

Re: Анімація історії правок

Запустіть split.history.2012.bat. В результаті виконання буде створено папку osc_2012_day з окремим набором змін кожного дня від 2 серпня 2005 до 1 квітня 2012.

Такой папки не создаётся В быстром списке повторного выполнения видно

File 'ukraine.osh.bz2' already there; not retrieving.

и похоже то же, что у algot выше.

Last edited by Obertun Alexander (2014-09-26 23:24:30)

Offline

#24 2014-09-27 19:19:24

dudka
Member
From: Київ
Registered: 2011-04-22
Posts: 1,602

Re: Анімація історії правок

algot wrote:

Скачав останню версію скриптів.
Пробую розділити дані за 2012 рік

Я в вікі дописав, а тут забув: для розархівації ukraine.osh.bz2 потрібен binaries\bzip2.exe.
Можна підкласти bzip2.exe i bzip2.dll і запустити скрипт знову або розархівувати будь-яким іншим архіватором вручну.

Але це вже неактуально: готові o5c-папки і o5c_2012-папки відготував і виклав на ex.ua: http://www.ex.ua/721362869768
Залишається сконфігурувати bat-файли і запустити їх.

Last edited by dudka (2014-09-27 21:37:33)

Offline

#25 2014-10-23 12:24:26

Obertun Alexander
Member
From: Одесская обл.
Registered: 2013-12-05
Posts: 279

Re: Анімація історії правок

dudka wrote:

відготував і виклав на ex.ua

Можете на dropbox (или mega, ядиск) закинуть? Не доступно уже на ex.ua

Offline

Board footer

Powered by FluxBB