Новый формат файлов OSM: на 30% меньше, чем PBF, импорт в 5 раз быстрее – Общие сведения

Набор данных OSM огромен и продолжает расти с каждым днем. Хорошая новость, конечно, но иногда объем может быть ошеломляющим – там просто куски и улей данных!

Поэтому мы создали GOB («Пакет геообъектов»), новый формат файлов, который ускоряет и упрощает обработку данных OSM. Это сопутствующий формат для нашего теперь знакомого Библиотека геообъектов (по сути, сильно сжатый GOL с удаленными индексами).

Для поддержки этого нового формата в GOL Tool 2.1 есть две новые команды: save GOL как GOB и load GOB в GOL (конечно, как и весь набор инструментов GeoDesk, инструмент GOL бесплатен и имеет открытый исходный код).

  • Файлы GOB в среднем вдвое меньше файлов GOL, и на 30 % меньше чем ФБФ.

  • Импорт ГБ в 5 раз быстрее чем строить ГОЛ из ПБФ. Современная система загружает ГБ размером с планету в ГОЛ за 3 минуты. Преимущество в скорости становится более заметным на машинах с ограниченной памятью: gol build начинает интенсивно подкачивать страницы при наличии менее 32 ГБ ОЗУ, тогда как gol load требует минимальных ресурсов (даже ноутбук десятилетней давности загружает всю планету менее чем за час).

  • ГБ организованы в плитки, поэтому можно легко извлечь региональные подмножества (в основном со скоростью копирования файлов) и соединить их обратно; это делает GOB удобным форматом для архивирования и распространения геоданных.

На изображении выше показаны некоторые элементы тайловой структуры, имитирующие структуру тайловых рендереров. Слева самые маленькие квадраты — это масштаб 6, справа — самый детальный уровень (масштаб 12). Типичная планетарная ГБ состоит из около 60 000 плиток.

Ниже приведены некоторые статистические данные о размерах файла планеты и популярные региональные извлечения (без метаданных):

                PBF      GOL               GOB
Planet      65.4 GB  93.6 GB  +43.1%   46.0 GB  -29.7%
California  1.18 GB  1.59 GB  +35.0%    770 MB  -36.5%
France      4.54 GB  5.89 GB  +29.7%   2.84 GB  -36.3%
Germany     4.29 GB  5.92 GB  +38.0%   2.67 GB  -37.5%
Italy       1.96 GB  2.63 GB  +34.0%   1.34 GB  -31.6%
Japan       2.13 GB  2.91 GB  +36.1%   1.34 GB  -37.0%
Poland      1.84 GB  2.72 GB  +47.6%   1.29 GB  -29.7%
Switzerland  487 MB   634 MB  +30.1%    311 MB  -36.2%

Плотные, хорошо нанесенные на карту области имеют тенденцию лучше всего сжиматься в виде ГБ. Менее полные регионы имеют преимущество в размерах ниже среднего (правительства Бразилии и Китая лишь на 23% меньше).

Read more:  Sony выводит PS5 в продажу на раз, сэкономив 90 фунтов стерлингов в Великобритании

Как и GOL, GOB не хранят:

  • метаданные (время последнего редактирования, набор изменений, имя пользователя и т. д.)

  • история (каждая группа объектов представляет собой снимок набора данных OSM)

Поэтому он предназначен не для редактирования, а для архивирования и распространения.

Вам понадобится GOL Tool 2.1 или выше (скачать).

Чтобы экспортировать GOL как GOB:

gol save  []

Если опущен, он использует то же базовое имя, что и GOL. .gol и .gob расширения не являются обязательными.

Чтобы ограничить экспорт определенной областью, используйте --area (-a) вариант. Вы можете указать (мульти)полигон как WKT, GeoJSON или простые координаты (lon,lat пары, кольца замыкаются автоматически), либо напрямую, либо в виде файла. Если расширение файла не указано, .wkt предполагается.

Например:

gol save world bodensee -a 9.55,47.4,8.78,47.66,9.01,47.88,9.85,47.58,9.82,47.46 

экспортирует плитки, покрывающие регион вокруг Боденское озеро (Боденское озеро).

Чтобы импортировать тайлы в GOL:

gol load  []

Как и в случае с saveесли опущено, используется базовое имя GOL. Если GOL не существует, он создается. Чтобы загрузить только определенный регион, ограничьте его с помощью -a вариант.

gol load japan -a shikoku

загружает плитки из japan.gob в japan.gol (создавая его, если он еще не существует), но только те, которые пересекают область, определенную в shikoku.wkt.

Работа еще продолжается, поэтому формат может измениться. Я экспериментирую с различными алгоритмами сжатия, помимо zlib, чтобы сделать его еще точнее и быстрее (zstd не дал существенного выигрыша). Я также в процессе включения gol load загрузить GOB непосредственно по URL-адресу и создать GOL в фоновом режиме, что сведет время импорта настенных часов к нулю.

Как всегда, вопросы и отзывы приветствуются! Пожалуйста, зайдите на Гитхабе и @[email protected].

Read more:  Как одеваться: телевизионные персонажи, которые в этом году добились успеха на маленьком экране | Мода

2025-10-24 22:23:00


1761376596
#Новый #формат #файлов #OSM #на #меньше #чем #PBF #импорт #раз #быстрее #Общие #сведения

По теме

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.