Closed TigranNice closed 6 months ago
Этот скрипт пока неясно как должен выглядеть. Сначала сделаем всю работу по бд и уже после решим как нам удобнее будет применять дельты
А я не говорю про их применение. Говорю только про их скачивание и сохранение в нужные папочки. Типа настроили обновляться каждые 5 дней, значит нужно скачать 5 osc файлов с момента прошлой синхронизации до последного самого актуального
Реализация такого скачивания невозможна пока не поймете какая будет структура бд? @TigranNice
Этот скрипт пока неясно как должен выглядеть. Сначала сделаем всю работу по бд и уже после решим как нам удобнее будет применять дельты
А я не говорю про их применение. Говорю только про их скачивание и сохранение в нужные папочки. Типа настроили обновляться каждые 5 дней, значит нужно скачать 5 osc файлов с момента прошлой синхронизации до последного самого актуального
Реализация такого скачивания невозможна пока не поймете какая будет структура бд? @TigranNice
Раз в 5 дней не получиться. Скачивать надо каждый день. А вот применять дельты уже можно в любой момент.
Надо каждый день, потому что state.txt каждый день обновляется, и если не скачивать каждый день обновления, то мы потеряем данные
@TigranNice этот state.txt это самый последний. А все предыдущие же хранятся внутри папок. каждый {number}.state.txt
соответствует своему {number}.osc
файлу. чтобы обновляться каждые условно 5 дней не нужно каждый день что-то скачивать. зная текущий state и время последней синхронизации можно вычислить какие файлы нужно скачать и сравнить по датам, которые в этих {number}.state.txt
указаны
https://download.geofabrik.de/russia-updates/000/003/
Я понимаю. Но как я буду отслеживать? Я могу хранить последний скачанный номер, а потом +1 делать и скачивать всё, пока не будет ошибки. Но это звучит как костыль
Всё, я понял как сделаю. Чуть позже скину код
@TigranNice или сначала опишите текстом https://github.com/citec-spbu/Spatial-Data-ETL/issues/20#issuecomment-2056485406 иногда это помогает упорядочить мысли и писать реализацию становится проще
Берём из старого state.txt номер последнего файла. Далее берём новый state.txt. цикл проходим и берём все файлы за этот промежуток
Этот скрипт пока неясно как должен выглядеть. Сначала сделаем всю работу по бд и уже после решим как нам удобнее будет применять дельты