Tiles¶
GeoPackage标准采用基于平铺的金字塔结构,用于以多分辨率存储图像和栅格地图。该结构的插图如下所示。

图2:瓷砖金字塔
地理包(GeoPackage) 瓷砖 选项指定在平铺棱锥体中存储栅格数据的机制。
“瓦片金字塔”是指不同空间范围、不同分辨率的瓦片在不同缩放级别下的金字塔结构概念,以及瓦片数据本身。
“平铺”是指覆盖特定地理区域的单个栅格图像,例如PNG或JPEG。
“平铺矩阵”是指在特定缩放级别下具有相同空间范围和分辨率的平铺的行和列。
“瓷砖矩阵集”是指瓷砖金字塔的瓷砖结构的定义。
当在移动电话、平板电脑或笔记本电脑等小型或受限设备上处理GeoPackage时,这种基于平铺的金字塔结构特别有用,因为可以根据缩放级别和设备屏幕大小选择适当的分辨率。此机制基于第6节中介绍的平铺矩阵集模型 WMTS Implementation Specification 。
如果要将切片包括在GeoPackage中,则需要另外两个元数据表, gpkg_tile_matrix_set
和 gpkg_tile_matrix
。除了这些表之外,每个平铺棱锥体还需要一个包含实际平铺的用户定义表。

图3:Tiles表的UML图
gpkg_tile_matrix_set¶
这个 gpkg_tile_matrix_set
表描述了命名一个平铺矩阵集(棱锥体)。此表中的列包括:
table_name
andsrs_id
match the entries ingpkg_contents
min_x
,min_y
,max_x
,以及max_y
:平铺棱锥体的实际空间范围。
这必须是准确的,以便应用程序可以使用此信息正确地对切片进行地理定位。(这与中的范围形成对比 gpkg_contents
它们是信息性的,预计将反映以下内容的范围 可用内容 。)
gpkg_tile_matrix¶
每个平铺矩阵集合由一个或多个平铺矩阵组成,每个平铺矩阵由其缩放级别标识。此表中的必需列为:
table_name
与中的条目匹配gpkg_contents
以及其他地方zoom_level
指示文件中存在的缩放级别。matrix_width
和matrix_height
描述切片矩阵的大小(以切片为单位tile_width
和tile_height
描述每个切片的大小(以像素为单位pixel_x_size
和pixel_y_size
描述每个像素的大小
默认情况下,缩放级别以2的幂分隔,但如果这不适合您的方案,则可以使用 Zoom Other Levels 分机。
User Data Tables¶
物理平铺(数据)存储在具有特定模式的用户数据表中。这些表的必需列包括:
id
是主键zoom_level
指示此切片属于哪个切片矩阵tile_column
和tile_row
是零索引切片编号tile_data
是包含平铺图像的斑点
PNG和JPG是核心标准支持的两种平铺文件类型。
PNG通常更适用于合成数据(即数字地图),因为它是无损的,其压缩编解码器可以很好地压缩合成数据。
JPG通常更适合自然数据(例如,卫星或航空图像),因为它具有优越的(虽然有损)压缩。
The WebP Extension allows for the use of WebP files which feature both transparency and improved compression, but WebP support is not as ubiquitous.
但是,由于PNG支持Alpha透明度,而JPG不支持,因此在平铺棱锥体边界周围使用PNG平铺是很常见的。这允许用户查看平铺边界下的数据。
备注
JPG文件的压缩等级可调。我们发现,在50-75(满分100分)的范围内的评分对图像效果最好。评级太高会占用太多空间,而评级太低会有太多可见的瑕疵。在50-75范围内,这是文件大小和图像质量之间的合理折衷。
默认情况下,瓷砖金字塔是按2的幂组织的。有两种用于最大化平铺存储空间效率的常用策略。
1.瓦片金字塔可能人烟稀少。通过将不必要的分块留空,客户端可以降至下一个缩放级别来渲染地图的该部分。
若要进一步优化存储效率,请考虑使用 Zoom Other Intervals Extension 并细化缩放级别以匹配数据及其预期用途。