随着缓存技术的发展,SuperMap GIS 系列产品对于缓存的生成也在不断地发展和完善,地图瓦片精度不断增强。
一般而言,地图瓦片主要是指地图瓦片,而从7C 产品开始,地图服务的缓存除传统的栅格瓦片外,还包括新出现的矢量瓦片。
三类瓦片格式总览
地图瓦片的生产主要通过分布式切图服务实现,该功能支持将地图数据切分为多种格式、多种存储的瓦片,如 MongoDB、SMTiles 等格式的栅格瓦片、SVTiles 格式的矢量瓦片。
类型 | 瓦片格式 | 存储方式 | 存储位置 | 支持版本 | 支持的平台 | 分发方式 |
栅格瓦片 | MongoDB | MongoDB 分布式文件系统 | 数据存储于指定目录,详见:MongoDB 的安装与配置,地图的切图结果为切片库中的一个切片集。 | 是 | Linux、 Windows | 支持在 MongoDB 系统间直接拷贝分发 |
OTS(已过时) | OTS 分布式文件系统 | 数据存储于阿里云OTS存储服务系统中。 | 否 | Linux、 Windows |
-- |
|
MBTiles | SQLite 数据库 | output 输出路径\sqlite\*.mbtiles 文件,如 China__256X256_PNG_T.mbtiles | 否 | Linux、 Windows | 可直接拷贝文件分发 | |
SMTiles | SQLite 数据库 | output 输出路径\sqlite\*.smtiles 文件,如 China_-1085299276_256X256_PNG.smtiles | 否 | Linux、 Windows | 可直接拷贝文件分发 | |
UGCV5 | 本地磁盘文件目录 | output 输出路径\cache\,详见:SuperMap UGC 格式地图瓦片的版本。 | 否 | Linux、 Windows | 可直接拷贝文件分发 | |
S3对象存储 | /{bucket名}/{地图名}/{地图名}.sci 文件 | 否 | Linux、 Windows | 可直接拷贝文件分发 | ||
GeoPackage | SQLite 数据库 | output 输出路径\sqlite\*.gpkg 文件,如 ChinaProvinces_4326_256X256_PNG.gpkg | 否 | Linux、 Windows | 可直接拷贝文件分发 | |
矢量瓦片 | SVTiles | SQLite 数据库 | output 输出路径\sqlite\*.svtiles 文件,如 China_1023937971_256X256.svtiles | 否 | Linux、 Windows | 可直接拷贝文件分发 |
MongoDB | MongoDB 分布式文件系统 | 数据存储于指定目录,详见:MongoDB 的安装与配置,地图存储为切片库中的一个切片集。 | 是 | Linux、 Windows | 支持在 MongoDB 系统间直接拷贝分发 |
注:
- 支持的平台:是指当前瓦片格式可以存储在哪些操作系统上。
- 支持版本:是指当前瓦片格式是否支持版本化管理。
如上表所示,对于不同的瓦片格式,我们可以总结为以下特点:
- 支持分布式存储的瓦片类型有:MongoDB 格式,分布式存储本身的读写速度优势使之更合适于分布式环境下的瓦片生产与管理
- MongoDB 在使用和配置方面更简单方便,尤其还支持 Windows 操作系统,部署更便捷
- SMTiles 等文件格式方便拷贝分发,*.mbtiles 文件可直接离线使用,适用于移动端应用
栅格瓦片
将地图中所有图层切分并存储为栅格图片的地图瓦片,支持 MongoDB 、OTS(已过时)分布式存储、SMTiles 与 MBTiles 格式、SuperMap UGC 格式、GeoPackage格式。
其中,SuperMap UGC 格式是 SuperMap 各个产品间通用的传统地图瓦片格式,相同版本的地图瓦片可以通用。分布式切图服务支持的“UGCV5”切片类型,支持5.0版本原始缓存和紧凑型缓存。
此外,地图瓦片的图片格式支持 PNG、PNG8、JPG_PNG、JPG、WebP。如果选择 PNG,且当前地图颜色值数小于等于256,SuperMap iServer 会自动将图片存为 PNG8 格式,以节约存储空间。
矢量瓦片
将地图中的指定矢量图层以矢量瓦片的形式进行切分和存储,支持 SVTiles 格式、MongoDB 分布式存储。
在地图服务的应用中,除了供用户访问浏览地图外,还有为用户提供查询、选择、高亮等操作的实际需求,这时就需要通过要素服务为用户提供上述功能。与地图服务需要通过缓存技术提升访问速度一样,要素服务也需要通过将矢量数据预先生成瓦片来提升客户端的渲染速度,因此矢量瓦片(Vector Tile)就诞生了。矢量数据在存储的时候,其体积比地图瓦片更小,更适合于地图中对时效性要求较高的地物要素的表达,如 POI 信息、路线信息等。常见的在线地图服务,如 Google Maps、百度地图等,都是采用了栅格瓦片做底图,叠加矢量瓦片的做法。