OpenStreetMap Forum

The Free Wiki World Map

You are not logged in.

#1 2013-04-07 17:04:53

akks
Member
From: Ufa
Registered: 2010-06-11
Posts: 1,728

Тайловый кэш JOSM. Плагин ImageryCache.

Решил завести отдельную тему, чтобы ветка http://forum.openstreetmap.org/viewtopic.php?id=2714 не забивалась.

Обычно JOSM хранит загруженные квадраты подложки TMS (Bing, IRS, Mapnik и т.д.) в каталоге JMapViewerTiles_... в папке временных файлов.
При этом все тысячи и сотни тысяч файлов Bing оказываются лежащими в одном каталоге. Даже их удаление может занимать десятки минут, не говоря о проблемах для антивирусов.

Обычно для хранения кучи тайлов используется простая база данных (например, SQLite в формате MBTiles), в результате чего весь кэш Bing помещается в 1-2 файлах.
При обсуждении чистки кэша в теме Вопросы по JOSM и родилась идея аналогичного плагина для JOSM. От существующих форматов было решено отказаться из-за болшого размера кода СУБД или проблем сопряжения с Java.

В результате получился плагин для JOSM под названием ImageryCache, которых хранит весь кэш в файлах NoSQL базы MapDB (по совету Zverik).
Никакой настройки плагин не требует, просто установите его в JOSM новее 5779 и папки с файлами перестанут разрастаться.

Осторожно! Плагин экспериментальный. Потеря всего кэша из-за сбоя - пока вполне обычное явление (Старый кэш JOSM никуда не девается и может быть использован после отключения плагина). Так что в случае плохого соединения с интернетом решайте сами. Как плагин дружит c кэшем на SSD и флешках - не знаю. Но туда вообще ничего помногу не писать.


Внимание - при переходе с первой версии на вторую формат кэша поменялся. Во избежание ошибок лучше удалить файлы кэша вручную (касается тех, кто ставил плагин до 7 апреля)

------------------
Обновления:
15.03.2013: первая попытка
07.04.2013:
* Обновил MapDB, загрузка тайлов перестала намертво виснуть в 20% случаев.
* Теперь не обязательно ставить Java 1.7
* Теги (информация о тайлах) корректно загружаются из базы, а не только сохраняются
* Меньше глюков при закрытии JOSM во время загрузки (замечания freeExec)
* Если файл используется другим JOSM, создаётся ещё один (Mapnik, Mapnik_1, Mapnik_2...) , наличие Mapnik_2.lock говорит о занятости (или некорректном завершении).
* Все доступные файлы базы Mapnik, Mapnik_1, Mapnik_2 ... склеиваются в один файл при запуске (можно исплользовать для объединения кэшей)
* Если папки кэша не было, она создаётся (спасибо andygol)

Чего пока нет:
* Чистки кэша. Он только растёт
* Открытия кэша только для чтения.
* Со временем надеемся внести данный функционал в ядро JOSM.

----
В общем, прошу всех желающих потестировать, баги и пожелания писать сюда или в Trac по образцу http://josm.openstreetmap.de/ticket/8560

Last edited by akks (2013-04-12 09:11:31)

Offline

#2 2013-04-11 15:16:35

Paspartu
Member
From: Владивосток
Registered: 2011-03-12
Posts: 318

Re: Тайловый кэш JOSM. Плагин ImageryCache.

Спасибо за плагин.
Можно ли как-то указать расположение БД? Например мне было бы удобнее хранить кэш на другом жёстком диске.

Offline

#3 2013-04-11 15:58:44

freeExec
Moderator
From: Ульяновск,Модератор всех слоёв
Registered: 2012-07-31
Posts: 7,731

Re: Тайловый кэш JOSM. Плагин ImageryCache.

Смени переменную окружения %TEMP%

Offline

#4 2013-04-11 16:03:48

Paspartu
Member
From: Владивосток
Registered: 2011-03-12
Posts: 318

Re: Тайловый кэш JOSM. Плагин ImageryCache.

freeExec wrote:

Смени переменную окружения %TEMP%

Спасибо. По Вашей наводке нашёл.
JOSM -> F12 -> Установка настроек напрямую (лист с ключом) -> imagery.tms.tilecache_path

Offline

#5 2013-04-11 16:58:43

Supercalifragilisticexpialidocious
Member
Registered: 2013-03-12
Posts: 88

Re: Тайловый кэш JOSM. Плагин ImageryCache.

Paspartu wrote:
freeExec wrote:

Смени переменную окружения %TEMP%

Спасибо. По Вашей наводке нашёл.
JOSM -> F12 -> Установка настроек напрямую (лист с ключом) -> imagery.tms.tilecache_path

можно через Link Shell Extension симлинк создать да и не лазить по конфигам

Offline

#6 2013-04-12 09:13:38

akks
Member
From: Ufa
Registered: 2010-06-11
Posts: 1,728

Re: Тайловый кэш JOSM. Плагин ImageryCache.

Совсем забыл написать - при переходе с первой версии на вторую формат кэша поменялся. Во избежание ошибок тем, кто ставил плагин до 7 апреля лучше удалить файлы кэша вручную (из меню JOSM будет чуть позже). У некоторых из-за этого (предположительно) даже JOSM вис на 20 секунд намертво. (добавил в шапку)

Last edited by akks (2013-04-12 09:14:15)

Offline

#7 2013-08-16 07:19:38

Cd_spb
Member
From: Санкт-Петербург
Registered: 2011-11-04
Posts: 1,266

Re: Тайловый кэш JOSM. Плагин ImageryCache.

Кэш между сессиями сохраняется?
Например - работал с данными, была включена подложка, сохранил данные в файл .osm. Уехал за тридевять земель, где нет инета, открыл локальный файл и включил отображение подложки. Подложка будет видна? Можно заставить такой вариант работать?

Offline

#8 2013-08-16 07:37:03

freeExec
Moderator
From: Ульяновск,Модератор всех слоёв
Registered: 2012-07-31
Posts: 7,731

Re: Тайловый кэш JOSM. Плагин ImageryCache.

Тут наверное вопрос как долго ты ехал но если отмотать время назад, чтобы кеш не протух он его будет показывать.

Offline

#9 2013-08-16 13:40:56

iav
Member
Registered: 2011-07-10
Posts: 316

Re: Тайловый кэш JOSM. Плагин ImageryCache.

А что, протухший сразу исчезает? Не после попытки освежения, которая не удастся?

Offline

#10 2013-12-14 12:01:31

kisaa
Member
From: ДВ, Хабаровск
Registered: 2011-09-13
Posts: 636

Re: Тайловый кэш JOSM. Плагин ImageryCache.

А wms-подложки могут быть подобным образом слиты в один файл? Или, переформулировав вопрос, используются ли вообще wms-тайлы повторно?
А то я смотрю на десятки тысяч файлов кэша подложки кадастра, и мне грустно.

Offline

#11 2013-12-14 12:17:08

akks
Member
From: Ufa
Registered: 2010-06-11
Posts: 1,728

Re: Тайловый кэш JOSM. Плагин ImageryCache.

kisaa wrote:

А wms-подложки могут быть подобным образом слиты в один файл? Или, переформулировав вопрос, используются ли вообще wms-тайлы повторно?
А то я смотрю на десятки тысяч файлов кэша подложки кадастра, и мне грустно.

WMS теоретически должны использоваться повторно (вроде бы, фиксированные уровни зума теперь используются), но в однофайловом плагине не поддерживаются, т. к. слишком сложно.

Если папка не распухает при просмотре уже загруженных областей - тогда всё работает (проверять надо).

Offline

#12 2014-01-23 14:42:53

chnav
Member
From: Moscow, Russia
Registered: 2010-03-18
Posts: 2,950

Re: Тайловый кэш JOSM. Плагин ImageryCache.

Присоединяюсь к благодарностям за плагин. Сегодня более часа пытался удалить папку с кешем на SSD - оказалось там более миллиона файлов и надо было "терпеливо подождать". Но сложно ждать когда десяток минут система не реагирует на нажатия клавиатуры smile
Надеюсь теперь таких проблем не будет.

Last edited by chnav (2014-01-23 14:43:12)

Offline

#13 2014-01-23 15:46:03

akks
Member
From: Ufa
Registered: 2010-06-11
Posts: 1,728

Re: Тайловый кэш JOSM. Плагин ImageryCache.

chnav wrote:

Присоединяюсь к благодарностям за плагин. Сегодня более часа пытался удалить папку с кешем на SSD - оказалось там более миллиона файлов и надо было "терпеливо подождать". Но сложно ждать когда десяток минут система не реагирует на нажатия клавиатуры smile
Надеюсь теперь таких проблем не будет.

Всегда пожалуйста smile Главное, чтобы плагин SSD сильнее не изнашивал (не знаю, что уж там у MapDB внутри).

Offline

#14 2014-01-24 08:38:51

Paspartu
Member
From: Владивосток
Registered: 2011-03-12
Posts: 318

Re: Тайловый кэш JOSM. Плагин ImageryCache.

chnav wrote:

Присоединяюсь к благодарностям за плагин. Сегодня более часа пытался удалить папку с кешем на SSD - оказалось там более миллиона файлов и надо было "терпеливо подождать". Но сложно ждать когда десяток минут система не реагирует на нажатия клавиатуры smile
Надеюсь теперь таких проблем не будет.

Врядли SSD единственный диск в системе. Я себе кэш на шпиндельный диск сохраняю.

Offline

#15 2014-02-09 17:24:42

luiswoo
Member
Registered: 2010-09-11
Posts: 1,483

Re: Тайловый кэш JOSM. Плагин ImageryCache.

Кадастр почему то продолжает гадить тайлами — обнаружил их 800 мегабайт (в последнее время джосм временно зависал при включении кадастра). На всякий случай удалил каталог с кешем, но он благополучно восстановился, и так же благополучно наполняется опять. Так и должно быть?

Offline

#16 2014-02-09 17:33:02

pfg21
Member
From: Чебоксары
Registered: 2012-10-18
Posts: 3,362

Re: Тайловый кэш JOSM. Плагин ImageryCache.

ественно. а как по твоему должен работать кэш данных ??

Offline

#17 2014-02-09 19:01:11

luiswoo
Member
Registered: 2010-09-11
Posts: 1,483

Re: Тайловый кэш JOSM. Плагин ImageryCache.

pfg21 wrote:

ественно. а как по твоему должен работать кэш данных ??

Разницу между базой данных и отдельными тайлами россыпью объяснить или сам допрёшь?

Offline

#18 2014-02-09 23:05:25

kisaa
Member
From: ДВ, Хабаровск
Registered: 2011-09-13
Posts: 636

Re: Тайловый кэш JOSM. Плагин ImageryCache.

luiswoo, тему не читай @ вопросы задавай smile

WMS [Кадастр] теоретически должны использоваться повторно (вроде бы, фиксированные уровни зума теперь используются), но в однофайловом плагине не поддерживаются, т. к. слишком сложно.

http://forum.openstreetmap.org/viewtopi … 96#p385296

Offline

#19 2014-02-10 11:41:08

luiswoo
Member
Registered: 2010-09-11
Posts: 1,483

Re: Тайловый кэш JOSM. Плагин ImageryCache.

Если это значить, что плагин не поддерживает кадастр, тада ок.

Offline

#20 2016-09-12 16:09:11

d1g
Member
From: not using forum
Registered: 2010-01-23
Posts: 2,380
Website

Re: Тайловый кэш JOSM. Плагин ImageryCache.

тайловый кеш актуален ещё?

По-моему нет и нужно этот пост тоже обновить в "Плагины JOSM" http://forum.openstreetmap.org/viewtopi … 60#p351160

Offline

#21 2016-09-14 08:55:03

Cd_spb
Member
From: Санкт-Петербург
Registered: 2011-11-04
Posts: 1,266

Re: Тайловый кэш JOSM. Плагин ImageryCache.

d1g wrote:

тайловый кеш актуален ещё?

Наличие плагина, конкретно для меня, - актуально. :-)
Вот только где его теперь взять?

Offline

#22 2016-09-14 12:59:23

d1g
Member
From: not using forum
Registered: 2010-01-23
Posts: 2,380
Website

Re: Тайловый кэш JOSM. Плагин ImageryCache.

Так зачем плагин-то? В 10998: F12, Настройки слоёв, Содержимое кеша

https://josm.openstreetmap.de/ticket/9813#comment:42 - вроде бы это

Offline

#23 2016-09-15 09:00:25

andygol
Moderator
From: Дніпро
Registered: 2009-07-31
Posts: 1,866
Website

Re: Тайловый кэш JOSM. Плагин ImageryCache.

Уже минимум как полгода этот функционал в ядре JOSM - так что тема про этот плагин уже устарела

5b0cdd1a-7b33-11e6-8c9e-88f092435453.png

Offline

#24 2016-09-15 11:14:08

Cd_spb
Member
From: Санкт-Петербург
Registered: 2011-11-04
Posts: 1,266

Re: Тайловый кэш JOSM. Плагин ImageryCache.

d1g, andygol.
Спасибо за информацию.
Есть способ узнать - сколько будут отображаться кэшированные данные без обновление через интернет?

Offline

#25 2016-09-15 22:00:01

andygol
Moderator
From: Дніпро
Registered: 2009-07-31
Posts: 1,866
Website

Re: Тайловый кэш JOSM. Плагин ImageryCache.

Если мы говорим про Бинг - то скорее всего не очень долго, где-то через 1-2 часа нужно будет подключиться к Интернету, что бы качнуть свежий файлик bing.attribution.xml, а вот все остальное - пока не почиститься кеш.

Offline

Board footer

Powered by FluxBB