支持 MBTiles 规范的预缓存

时间:2023-03-09 08:20:26
支持 MBTiles 规范的预缓存

SuperMap iServer 支持生成符合MBTiles规范的预缓存(MBTiles是由MapBox制定的一种将瓦片地图数据存储到SQLite数据库中并可快速使用,管理和分享的规范。 该规范由MapBox制定,详见http://mapbox.com/mbtiles-spec/)。要生成符合MBTiles规范的预缓存,需满足以下条件:

所用数据的地图投影系统为:Web Mercator。

按照下表中的比例尺列表生成预缓存。这种比例尺定义的初始化显示级别0中包含了1张覆盖全球的256*256大小的切片,并且定义原点坐标为(-20037508.34,-20037508.34)。MBTiles的切片组织符合OSGeo的TMS规范,并且受Web Mercator坐标系约束(详见http://wiki.osgeo.org/wiki/Tile_Map_Service_Specification#global-mercator)。所支持比例尺见表1中的地图比例尺一栏。

表 1 MBTiles各显示级别参数列表

显示级别 地图宽高 (像素) 切片数量 地面分辨率(米 / 像素) 地图比例尺(96 dpi)
0 256 1 156543.033928 1:591657527.591555
1 512 4 78271.516964 1:295828763.795777
2 1024 16 39135.758482 1:147914381.897889
3 2048 64 19567.879241 1:73957190.948944
4 4096 256 9783.939621 1:36978595.474472
5 8192 1024 4891.969810 1:18489297.737236
6 16384 4096 2445.984905 1:9244648.868618
7 32768 16384 1222.992453 1:4622324.434309
8 65536 65536 611.496226 1:2311162.217155
9 131072 262144 305.748113 1:1155581.108577
10 262144 1048576 152.874057 1:577790.554289
11 524288 4194304 76.437028 1:288895.277144
12 1048576 16777216 38.218514 1:144447.638572
13 2097152 67108864 19.109257 1:72223.819286
14 4194304 268435456 9.554629 1:36111.909643
15 8388608 1073741824 4.777314 1:18055.954822
16 16777216 4294967296 2.388657 1:9027.977411
17 33554432 17179869184 1.194329 1:4513.988705
18 67108864 68719476736 0.597164 1:2256.994353
19 134217728 274877906944 0.298582 1:1128.497176
20 268435456 1099511627776 0.149291 1:564.248588
21 536870912 4398046511104 0.074646 1:282.124294
22 1073741824 17592186044416 0.037323 1:141.062147

下面以示范数据中的China400为例来介绍具体使用步骤。

首先在桌面中打开China400数据,确认投影信息。如下图所示,符合规范要求的球面墨卡托投影。(如果数据不满足投影要求,请在桌面中做地图的动态投影转换)

支持 MBTiles 规范的预缓存

然后在预缓存中配置缓存比例尺。选取表1中的前三个比例尺为例,如下图所示:

支持 MBTiles 规范的预缓存

缓存任务执行完成后,可以在MBTiles Viewer(或其它支持MBTiles规范的客户端)中浏览。将output/sqlite下刚生成好的China_256X256_PNG.mbtiles文件拖入MBTiles Viewer窗口,文件中的切片会自动呈现,效果如下图所示:

支持 MBTiles 规范的预缓存