Uk:Planet.osm/full

From OpenStreetMap Wiki
Jump to navigation Jump to search

Повний дамп з історією https://planet.openstreetmap.org/planet/full-history/ та в форматі pbf — https://planet.openstreetmap.org/pbf/full-history/ містить майже всі дані OSM. Нові версії дампу публікуються щотижня. Це досить великий файл, станом на 2022-12-01 нестиснений файл OSM XML важить більше 3.3 ТБ, стиснений за допомогою bzip2 – 187ГБ, а pbf – 112 ГБ.

  • Він містить всі версії точок, ліній та звʼязків, що були зроблені після впровадження API 0.5 (в жовтні 2007, див https://planet.openstreetmap.org/pbf/full-history/). В ньому містяться версії всіх елементів які будь-коли існували в базі даних, навіть тих, що були вилучені після цього.
  • Для точок, ліній та звʼязків, створених до впровадження API 0.5, файл містить тільки версію, що була активною (visible) на момент переходу, плюс всі подальші зміни. Якщо об’єкт уже було видалено, коли було представлено API 0.5, він не включається.
  • Оскільки відрізки, як елемент даних, були відкинуті з переходом на API 0.5, вони також не включаються в дамп.
  • Дамп також не містить дані, щодо яких не було отримано згоди на переліцензування в процесі переходу на ODbL.
  • Нікнейми користувачів, указані у файлі, показують лише останній відомий нікнейм користувача, якщо він був змінений. Нікнейм буде всюди однаковим для заданого ідентифікатора користувача.
  • Анонімні правки не містять uid (0 в PBF) та не мають нікнейма.
  • Дампи наборів змін постачаються окремо.

Дамп з повною історією змін може згодитись якщо ви розробляєте щось на кшталт Historical Coverage та для проведення більш розгорнутого статистичного аналізу. Якщо вам потрібні лише поточні дані – скористайтесь натомість дампом Planet.osm.

Формат даних

Дамп з повною історією змін використовує ту ж саму схему XML, як і звичайний дамп планети, з єдиною відмінністю, що в ньому містяться кілька версій для одного обʼєкта.

Дані впорядковані за типом обʼєктів (точки — лінії — звʼязки), потім за id, а потім версія.

Файл не містить керівних символів переходу до нового рядка. Код, який намагається прочитати цей файл рядок за рядком, не спрацює.

Нестиснутий розмір цього файлу становить приблизно 3,3 ТБ. Код, який намагається розібрати цей файл у дерево DOM, не спрацює.

Стиснений файл створюється за допомогою алгоритму паралельного стиснення bzip2, у результаті чого виходить багатопотоковий файл. Цей файл не може бути прочитаний модулем BZ2file у Python. Спочатку потрібно перетворити його на один потік, це можна зробити наступним чином:

bzip2 -cd full-planet-110115-1800.osm.bz2 | bzip2 -c > full-planet.new.osm.bz2

Це може бути досить тривалим процесом (близько 36 годин на 2.66Ghz Intel Core i7 з 8GB ОЗП). Отриманий файл буде трохи меншим за оригінал.

Обробка

Osmosis явним чином не працює з цим типом файлів, але деякі операції в Osmosis схоже працюють з цим.

Osmium дозволяє вам видобувати дані з файлів історії OSM для певного моменту в часі чи періоді, чи для полігону, чи для обмежувального прямокутника. Докладніше в документації до osmium-tools та описі команди extract, яка може впоратись з історичним дампом в різних форматах (див параметр --with-history).

Також подивіться інформацію User:MaZderMind/Reading OSM History dumps

Використовуйте osm-history-renderer та імпортер для імпорту історичних файлів в osm2pgsql-подібну ДБ. Скрипти візуалізації можуть генерувати з нього зображення для довільних моментів часу. За допомогою прямого доступу до бази даних також можна запускати статику та іншу аналітику для заданих точок або діапазонів часу.

OSHDB та ohsome API дозволяють виконувати глибокий аналіз історії OSM після перетворення у формат .oshdb.

Створення

Дамп історії даних створюється за допомогою інструменту historydump від Lars Francke.

Екстракти