GeoPackage 标准格式 |
GeoPackage 是由 OGC 制定的存储地理信息的开放数据格式,存储形式是独立于平台的 SQLite 数据库文件。GeoPackage 既可存储矢量要素数据,也可存储遥感影像金字塔、地图瓦片矩阵集等栅格瓦片数据。
目前 GeoPackage 标准格式的最新版本是1.0,详细介绍请参考 OGC 官网(www.opengeospatial.org),或:http://www.geopackage.org。
GeoPackage 标准的中文版请参考 SuperMap 的开源项目:http://github.com/SuperMap/geopackage_cn。
GeoPackage 的存储形式是一个独立于平台的 SQLite 数据库文件,文件的扩展名为“.gpkg”。SQLite 具有自包含、单文件、跨平台、服务器无关等优势,因此基于 SQLite 存储,简化了 GeoPackage 文件的生产、分发与使用,同时确保了 GeoPackage 文件数据的完整性。
SuperMap 默认将生成的 GeoPackage 瓦片存储在【SuperMap iServer 安装目录】\webapps\iserver\output\sqlite\*.gpkg 路径下,文件的命名由地图名、EPSG Code、切片宽度和高度及.gpkg 后缀组成,如:ChinaProvinces_4326_256X256_PNG.gpkg。
GeoPackage 通过一系列的表来存储数据,包括坐标系、内容描述、要素数据、瓦片数据、元数据等表格或视图。其中,前两项是必须包含的,且 GeoPackage 中至少要有一个要素数据表或瓦片数据表。
目前 SuperMap 只支持 GeoPackage 中的瓦片,此处仅对瓦片的存储作简要介绍。
坐标系表包含的坐标参考系定义被内容描述表和几何要素列表引用,从而将用户表中的矢量、瓦片数据与地球上的真实位置联系起来。
内容描述表提供了具有标识性的和描述性的信息。其中定义了瓦片或要素表的名称、表中数据类型、表的内容描述等。
GeoPackage 中的瓦片是通过瓦片金字塔和明确的瓦片缩放级别来组织、存储和索引的。
GeoPackage 中可以用不同的数据表或视图中来存储多个栅格和瓦片金字塔数据集。瓦片金字塔是指在不同缩放级别下,代表不同空间范围、具有不同分辨率的瓦片所构成的金字塔结构,即瓦片数据。GeoPackage 中的瓦片金字塔数据表记录了每个瓦片所在的缩放级别、行列号等数据。
瓦片矩阵集是对这种瓦片金字塔层次结构的定义。GeoPackage 中若包含了瓦片金字塔数据表,则必须有一个瓦片矩阵集的表或视图 gpkg_tile_matrix_set 来为瓦片金字塔数据表中的所有瓦片定义最小边界框和空间参考系。
瓦片矩阵是指在某一特定缩放级别下,所有瓦片组成的行和列。每个瓦片金字塔数据表可以包含多个瓦片矩阵。瓦片矩阵表或视图记录了每个缩放级别下的瓦片矩阵的结构,包括某一缩放级别下瓦片矩阵的行列数、瓦片宽高等。指定任一缩放级别下瓦片矩阵左上角的瓦片坐标为(0,0)。
GeoPacakage 中,瓦片矩阵图层的缩放级别是0到 n 的有序的整数,相邻缩放级别间以1为差值递增或递减。第0级比例尺为能在一张瓦片中全幅显示当前地图的最小比例尺,其他级别的比例尺在此基础上以固定倍率或不同倍率变化。随着缩放级别递增,每个瓦片所代表的实际空间范围会变小,空间分辨率也会越高,空间分辨率也会越高。GeoPackage 中坐标为(0,0)的瓦片是指在任一缩放级别下瓦片矩阵左上角的瓦片。
iServer 在实现 GeoPackage 标准格式的瓦片时,使用了规定的0~20级比例尺,第0级比例尺定义在一张瓦片(默认为256*256像素)中全幅显示当前地图坐标系的最大范围时的比例尺,相邻两级比例尺间按两倍缩放。
以 Web Mercator(EPSG Code:3857)坐标系为例,默认比例尺级别为:
级别 | 地图比例尺 |
0 | 1/591658710.9091313 |
1 | 1/295829355.45456564 |
2 | 1/147914677.72728282 |
3 | 1/73957338.86364141 |
4 | 1/36978669.431820706 |
5 | 1/18489334.71591035 |
6 | 1/9244667.357955176 |
7 | 1/4622333.678977588 |
8 | 1/2311166.839488794 |
9 | 1/1155583.419744397 |
10 | 1/577791.7098721985 |
11 | 1/288895.85493609926 |
12 | 1/144447.92746804963 |
13 | 1/72223.96373402482 |
14 | 1/36111.98186701241 |
15 | 1/18055.990933506204 |
16 | 1/9027.995466753102 |
17 | 1/4513.997733376551 |
18 | 1/2256.9988666882755 |
19 | 1/1128.4994333441377 |
20 | 1/564.2497166720689 |