Как стать автором
Обновить

Комментарии 22

Говорят, что бекенд OSM сам по себе использует PostgreSQL для хранения - но при этом, вам пришлось - никакого способа напрямую выгрузить их данные невозможно?

Проект OSM распространяет данные виде PBF/XML дампов и changeset для инкрементальных изменений. OverpassAPI ещё один способ получить данные проекта, но только для небольшого региона — это прямой способ выгрузки данных с проекта.
Теперь для запуска базы не нужен мощный специализированный сервер

Яб сказал, что это зависит от того, что за аналитику хочется. У меня на проекте по геоаналитике приходилось держать базу (с PostGIS), и веб, на основе по моему geoserver, которые отдавали тайлы, на нотбуке для демо. И там же жил клиент в браузере. И в общем,
вполне обычного ноута типа i7 8Gb хватало. Одному человеку :) И что-то типа геохеша конечно рулит.

На что еще хватает?
Привет? А у тебя вся планета в PostGIS? Можешь чуть подробнее рассказать про используемое для загрузки ПО и объемы данных? Чуть больше контекста пожалуйста.
Геохеш примитивнее H3, хотя и вычислительно эффективнее
Это много лет назад было ) Не, не вся планета, только РФ. Я не претендую, я лишь про то, что ноута в принципе хватало чтобы показывать карты и что-то понемногу искать в прямоугольнике, используя геохеши. Дальше у нас пошел второй этап работ, там начался спарк, и как инструмент был паркетизер.

Интересный опыт, ты кладезь историй по сценариям обработки данных и open source!

OSM дамп РФ на порядок меньше 3.2Гб при 67G объеме данных всей планеты. Если все еще используете osm-parquetizer, то попробуйте опцию result_in_arrow которая приятно удивит. Как по форматам данных и доступным полям, так и по производительности (не забыв указатьresult_in_tsv=false). Одно но - для паркетов и партиционирования по h3_3 нужно постпроцессить arrow файлы

Open Street Map из докера ? Классно, спасибо.

Пользуйтесь на здоровье

Круто, спасибо. Но есть маленькое НО:

И любуемся статистикой базы всего мира (587 GB):


Сейчас до сих пор некоторые бюджетные ноуты продают с 512/256Gb SSD :))

Первым делом после покупки я разобрал свой ноутбук и заменил штатный накопитель 512Гб в слоте M.2 на Samsung 970 EVO Plus 2Тб. Это не так дорого как покупать ноут в конфигурации с 2Тб сразу

Владельцы ноутбуков с распаенным диском завидуют.

А если использовать внешний жесткий диск например с маком, будет работать? Есть ли вариант, уменьшить объем данных и взять не весь мир, а например континенты.

По континентам, это почти как тут? Центральную Америку только присоединить к Северной и будет норм. А, еще Россию разделить на Европу и Азию (по другому), сейчас она есть и там и тут.

Про внешний диск с маком не понятно. Но на всякий случай так лучше не делать)

osmium-extract позволяет делать свою разбивку по полигону или прямоугольной области, не полагаясь только на досупные к скачиванию

С внешним жестким диском на линукс все работает, но очень медленно. Задачи преобразования данных и при работе с PostgreSQL сильно зависят от производительности дисковой подсистемы!

Можно загрузить отдельные регионы с Geofabric или использовать команду osmium-extract для извлечения интересующей вас части из полного дампа планеты. Моя утилита так же работает и с региональными выгрузками OSM.

Привет. Весьма интересная публикация. Попробую использовать у себя в проекте.

Еще имеется такой вопрос. Сейчас для получения карт на основе данных OSM, я использую подход, описанный в проекте BrightOSM (связка imposm для загрузки в postgres и geoserver для рендеринга карт). Однако, такой подход не позволяет отобразить весь мир с адекватной скоростью. Может быть у вас есть какие-то идеи по ускорению всего этого? Или какой-то опыт уже применяется?

Я больше сфокусирован на аналитике, поэтому на ваш вопрос связанный с визуализацией я вряд ли отвечу. Одно скажу точно по своему опыту работы с данными всего мира - партиционирование больших таблиц и уточнения в запросе, позволяющие избегать БД сканирования всех данных - это ключ к ускорению работы.

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

Спасибо, резонное замечание! Добавил "С анализом геоданных вы сталкиваетесь каждый день"

Ну и пример из публикации и по ссылкам из "Продолжение истории" показывает примеры использования

Скажите, пожалуйста, как долго в итоге занимает загрузка дампа планеты в postgres с использованием openstreetmap_h3? Не нашел, к сожалению, данной информации в статье или репозитории. Также хотелось бы узнать, решали ли Вы задачу поддержки актуальности базы, сформированной таким образом?

Решение очень интересное, пытаюсь изучить поближе)

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории