GeoPackage 标准格式
一、数据原理
GeoPackage 是由 OGC 制定的存储地理信息的开放数据格式,存储形式是独立于平台的 SQLite 数据库文件。GeoPackage 既可存储矢量要素数据,也可存储遥感影像金字塔、地图瓦片矩阵集等栅格瓦片数据。具体规范参考http://www.geopackage.org
GeoPackage 的存储形式是一个独立于平台的 SQLite 数据库文件,文件的扩展名为”.gpkg”。SQLite 具有自包含、单文件、跨平台、服务器无关等优势,因此基于 SQLite 存储,简化了 GeoPackage 文件的生产、分发与使用,同时确保了 GeoPackage 文件数据的完整性。
二、文件内容
GeoPackage 通过一系列的表来存储数据,包括坐标系、内容描述、要素数据、瓦片数据、元数据等表格或视图。其中,前两项是必须包含的,且 GeoPackage 中至少要有一个要素数据表或瓦片数据表。
2.1基础内容
坐标系表包含的坐标参考系定义被内容描述表和几何要素列表引用,从而将用户表中的矢量、瓦片数据与地球上的真实位置联系起来。
内容描述表提供了具有标识性的和描述性的信息。其中定义了瓦片或要素表的名称、表中数据类型、表的内容描述等。
2.2瓦片
GeoPackage 中的瓦片是通过瓦片金字塔和明确的瓦片缩放级别来组织、存储和索引的。
2.3瓦片金字塔
GeoPackage 中可以用不同的数据表或视图中来存储多个栅格和瓦片金字塔数据集。瓦片金字塔是指在不同缩放级别下,代表不同空间范围、具有不同分辨率的瓦片所构成的金字塔结构,即瓦片数据。GeoPackage 中的瓦片金字塔数据表记录了每个瓦片所在的缩放级别、行列号等数据。
2.4瓦片矩阵集
瓦片矩阵集是对这种瓦片金字塔层次结构的定义。GeoPackage 中若包含了瓦片金字塔数据表,则必须有一个瓦片矩阵集的表或视图 gpkg_tile_matrix_set 来为瓦片金字塔数据表中的所有瓦片定义最小边界框和空间参考系。
2.5瓦片矩阵
瓦片矩阵是指在某一特定缩放级别下,所有瓦片组成的行和列。每个瓦片金字塔数据表可以包含多个瓦片矩阵。瓦片矩阵表或视图记录了每个缩放级别下的瓦片矩阵的结构,包括某一缩放级别下瓦片矩阵的行列数、瓦片宽高等。指定任一缩放级别下瓦片矩阵左上角的瓦片坐标为(0,0)。
2.6缩放级别
GeoPacakage 中,瓦片矩阵图层的缩放级别是0到 n 的有序的整数,相邻缩放级别间以1为差值递增或递减。第0级比例尺为能在一张瓦片中全幅显示当前地图的最小比例尺,其他级别的比例尺在此基础上以固定倍率或不同倍率变化。随着缩放级别递增,每个瓦片所代表的实际空间范围会变小,空间分辨率也会越高,空间分辨率也会越高。GeoPackage 中坐标为(0,0)的瓦片是指在任一缩放级别下瓦片矩阵左上角的瓦片。
三、实际应用
QGIS、ArcGIS(10.2.2及更高版本支持读写)、GeoTools、FME、Skyline、MapInfo、GeoServer、iServer、GDAL可生成数据。
最大数据量为140TB