SASGIS - SAS.Планета
View Issue Details
0001919SAS.Планета[All Projects] Хотелкаpublic07-05-2013 07:0531-05-2025 09:27
vdemidov 
zed 
normalfeatureN/A
assignedopen 
Windows7Ultimate
121010 
2512xx 
0001919: Новый тип кэша на основе SQLite3 (в формате MBtiles)
MBtiles - сравнительно новый стандарт хранения тайлов в СУБД SQLite.

Официальный сайт: http://mapbox.com/developers/mbtiles/

Спецификация: https://github.com/mapbox/mbtiles-spec/blob/master/1.1/spec.md

Доклад Ильи Зверева про MBtiles:
youtube http://www.youtube.com/watch?v=7--CegGWjq8
pdf http://textual.ru/webgis/mbtilesp.pdf
тайлохранилище
related to 0001376closed vasketsov SACS.Планета Новый тип кэша на основе SQLite3 (в формате MBtiles и не в формате MBtiles) 
has duplicate 0003378closed zed SAS.Планета Хранение кэша в формате MBTiles 
related to 0001920resolved zed SAS.Планета Новый тип кэша на основе SQLite3 
Issue History
07-05-2013 07:05vdemidovNew Issue
07-05-2013 07:05vdemidovIssue generated from: 0001376
07-05-2013 07:05vdemidovRelationship addedrelated to 0001376
07-05-2013 07:05vdemidovProjectSACS.Планета => SAS.Планета
07-05-2013 07:05vdemidovStatusnew => confirmed
07-05-2013 07:05vdemidovProduct Version => 121010
07-05-2013 07:05vdemidovTarget Version => 26xxxx
07-05-2013 07:09vdemidovIssue cloned: 0001920
07-05-2013 07:09vdemidovRelationship addedrelated to 0001920
09-10-2015 13:24vdemidovTag Attached: тайлохранилище
13-10-2015 08:35vdemidovTarget Version26xxxx => 30xxxx.Vip
13-10-2018 19:37zedRelationship addedhas duplicate 0003378
26-05-2025 15:59zedTarget Version30xxxx.Vip => 2512xx
26-05-2025 16:00zedAssigned To => zed
26-05-2025 16:00zedStatusconfirmed => assigned
26-05-2025 16:06zedNote Added: 0020540
26-05-2025 16:07zedNote Edited: 0020540bug_revision_view_page.php?bugnote_id=20540#r7905
28-05-2025 12:51zedNote Added: 0020541
31-05-2025 09:23zedNote Added: 0020542
31-05-2025 09:27zedNote Added: 0020543

Notes
(0020540)
zed   
26-05-2025 16:06   
(edited on: 26-05-2025 16:07)
Добавил в режиме только для чтения. В zmp писать вот так:

CacheType=72
NameInCache=c:\test.mbtiles
IsReadOnly=1

в NameInCache должен быть полный путь к файлу.

Работа ещё в прогрессе, но ночную версию уже можно пробовать тестировать.

Также планирую добавить поддержку всех форматов SQLite, в которые у нас есть экспорт (аналогично, в режиме только для чтения).

(0020541)
zed   
28-05-2025 12:51   
Добавил остальные форматы, номера CacheType следующие:

OsmAnd=73
Locus=74
RMaps=75
OruxMaps=76
(0020542)
zed   
31-05-2025 09:23   
Добавил возможность записи для всех типов, кроме OruxMaps. Там в БД тайлы записываются с относительной нумерацией и поэтому из него невозможно сделать дозаписываемый кэш.

Для MBTiles в метадату добавил строчку с проекцией, но это только для информации, т.к. формат официально поддерживает только EPSG:3857. Соответственно, если у карты проекция другая и попробовать её открыть в QGIS, к примеру, то ничего не получится. И почему-то официально добавить поддержку разных проекций в формат никто не торопится, хотя запросы уже давно были.

OsmAnd поддерживает две прокции EPSG:3857 и EPSG:3395 (Яндекс), но этот формат QGIS пока не воспринимает, хотя тикет на добавление уже открыт и возможно ситуация изменится.

Для Locus не записываются значения center_x и center_y в метадату (неоткуда налету взять bounds для вычисления его центра).

Для OsmAnd, Locus и RMaps в метаданных добавил столбец sasgis с небольшим json описывающим код проекции и content-type тайлов. Для автоматического распознования при добавлении в SAS через drag-n-drop (планируется такая фича).

Все эти особенности нужно учитывать, если захочется использоваться накопленный кэш сразу и в SAS, и в стороннем приложении. Последнее может сильно удивиться такой вольности и не переварить проекцию и/или формат тайлов.
(0020543)
zed   
31-05-2025 09:27   
А, и ещё: дату тайлов эти хранилища не сохраняют, для всех тайлов используется дата создания файла БД. И tne так же не сохраняются.