Комментарии 21
Говорят, что бекенд OSM сам по себе использует PostgreSQL для хранения - но при этом, вам пришлось - никакого способа напрямую выгрузить их данные невозможно?
Теперь для запуска базы не нужен мощный специализированный сервер
Яб сказал, что это зависит от того, что за аналитику хочется. У меня на проекте по геоаналитике приходилось держать базу (с PostGIS), и веб, на основе по моему geoserver, которые отдавали тайлы, на нотбуке для демо. И там же жил клиент в браузере. И в общем,
вполне обычного ноута типа i7 8Gb хватало. Одному человеку :) И что-то типа геохеша конечно рулит.
На что еще хватает?
Геохеш примитивнее 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 :))
А если использовать внешний жесткий диск например с маком, будет работать? Есть ли вариант, уменьшить объем данных и взять не весь мир, а например континенты.
С внешним жестким диском на линукс все работает, но очень медленно. Задачи преобразования данных и при работе с PostgreSQL сильно зависят от производительности дисковой подсистемы!
Можно загрузить отдельные регионы с Geofabric или использовать команду osmium-extract для извлечения интересующей вас части из полного дампа планеты. Моя утилита так же работает и с региональными выгрузками OSM.
Привет. Весьма интересная публикация. Попробую использовать у себя в проекте.
Еще имеется такой вопрос. Сейчас для получения карт на основе данных OSM, я использую подход, описанный в проекте BrightOSM (связка imposm для загрузки в postgres и geoserver для рендеринга карт). Однако, такой подход не позволяет отобразить весь мир с адекватной скоростью. Может быть у вас есть какие-то идеи по ускорению всего этого? Или какой-то опыт уже применяется?
Я больше сфокусирован на аналитике, поэтому на ваш вопрос связанный с визуализацией я вряд ли отвечу. Одно скажу точно по своему опыту работы с данными всего мира - партиционирование больших таблиц и уточнения в запросе, позволяющие избегать БД сканирования всех данных - это ключ к ускорению работы.
Прочитал половину статьи и понял что кроме технических подробностей не понял зачем это надо...
Как поместить весь мир в обычный ноутбук: PostgreSQL и OpenStreetMap