Pull to refresh

Comments 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 файлы

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

И любуемся статистикой базы всего мира (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? Не нашел, к сожалению, данной информации в статье или репозитории. Также хотелось бы узнать, решали ли Вы задачу поддержки актуальности базы, сформированной таким образом?

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

Sign up to leave a comment.

Articles