Tiled Gridded Coverage Data

“平铺网格覆盖数据的GeoPackage扩展”扩展(以前名为“高程扩展”)定义了如何在GeoPackage中编码和存储平铺规则网格数据(如数字高程模型)。这些平铺包含高程、温度或压力等值,并以以下两种编码之一进行存储:

  • PNG编码使用PNG文件来存储16位整数值,并且可以应用比例和偏移量来微调覆盖范围。

  • TIFF编码使用TIFF文件来支持32位浮点数据。为了简化开发,此编码将许多TIFF选项限制为满足浮点要求所需的最小集。

gpkg_extensions

要使用此扩展,请将行添加到此表中,如表1所述。

要使用此扩展,请将以下行添加到此表中,如表1中所述。

表1: gpkg_extensions :宽度:20 15 15 40 10:标题-行:1

table_name

column_name

extension_name

definition

scope

gpkg_2d_gridded_coverage_ancillary

NULL

gpkg_2d_gridded_coverage

http://docs.opengeospatial.org/is/17-066r1/17-066r1.html

read-write

gpkg_2d_gridded_tile_ancillary

NULL

gpkg_2d_gridded_coverage

http://docs.opengeospatial.org/is/17-066r1/17-066r1.html

read-write

切片金字塔用户数据表名

tile_data

gpkg_2d_gridded_coverage

http://docs.opengeospatial.org/is/17-066r1/17-066r1.html

read-write

gpkg_contents

与任何其他内容类型一样,使用 data_type 地址为“ 2d-gridded-coverage “。”

gpkg_spatial_ref_sys

与任何其他内容类型一样,您的内容的SR必须在此表中注册。与GeoPackage提供用于正常使用的默认SRS(EPSG::4326)非常相似,当使用此扩展时,EPSG::4979(高度高于椭球体的WGS-84)将作为默认提供。但是,可以使用任何有效的SR。

gpkg_2d_gridded_coverage_ancillary

按照表2中的说明,为每个覆盖范围在此表中添加一行。

表2: gpkg_2d_gridded_coverage_ancillary :宽度:20 80:标题-行:1

价值

id

主键

tile_matrix_set_name

切片金字塔用户数据表名

datatype

整数 “或” 浮动

scale *

相对于测量单位的倍数比例(默认 1 )

offset *

0值的偏移量(默认值 0 )

precision

对此数据集有意义的最小值

data_null

指示以下内容的值 NULL

grid_cell_encoding

grid-value-is-center “(默认),” grid-value-is-area 、或 grid-value-is-corner

uom

格网coverage中的值的测量单位(请参见 UCUM )

field_name

格网Coverage数据的类型(默认为“ 高度 “)

quantity_definition

栅格超额中包含的值的说明(默认值为“ 高度 “)

*仅用于“INTEGER”数据类型

gpkg_2d_gridded_tile_ancillary

在此表中为每个Coverage Tiles添加一行,如表3所示。

表3: gpkg_2d_gridded_tile_ancillary :宽度:20 80:标题-行:1

价值

id

主键

tpudt_name

切片金字塔用户数据表名

tpudt_id

外键到 id 在……里面 切片金字塔用户数据表

scale *

相对于测量单位的倍数比例(默认 1 )

offset *

的偏移量。 0 值(默认值 0 )

min **

此磁贴的最小值

max **

此磁贴的最大值

mean **

此分块中值的算术平均值

``std_dev``**

此分块中的值的标准差

*仅用于“INTEGER”数据类型

** 这些值是自然值,不能缩放或偏移

使用比例和偏移

可以对整数值进行缩放和偏移,以便更有效地利用PNG文件中可用的16位整数空间。比例和偏移量可以应用于整个覆盖和/或单个瓦片。比例和偏移量不适用于 data_null 价值。

实际单元格值通过以下方式计算:

  1. 将存储值乘以 gpkg_2d_gridded_tile_ancillary_table.scale 值,然后将 gpkg_2d_gridded_tile_ancillary_table.offset

  2. 将该值乘以 gpkg_2d_gridded_coverage_ancillary.scale 值,然后将 gpkg_2d_gridded_coverage_ancillary.offset

在伪代码中,此转换如下所示:

elevationInUnitOfMeasure = (SomeGrid_RegularCoverage.tile_data→pngpixels[i] *
gpkg_2d_gridded_tile_ancillary.scale + gpkg_2d_gridded_tile_ancillary.offset) *
gpkg_2d_gridded_coverage_ancillary.scale + gpkg_2d_gridded_coverage_ancillary.offset;

PNG编码

使用PNG格式对整数数据进行编码。像素值是16位无符号整数(单通道-“灰度”)。

TIFF编码

使用TIFF格式对浮点数据进行编码。平铺使用每个像素一个32位浮点分量编码为单波段图像。每个TIFF编码块都是TIFF标准第1部分中定义的基线TIFF。

这意味着下面列出了一些限制:

  • 每个TIFF切片只有一个波段,即对于TIFF切片中的任何像素,只能有一个分量

  • 应使用有效的分量值设置切片中的所有像素

  • 其他TIFF标签派生自此扩展模块中的其他约束

  • 无多图像/平铺扩展

唯一允许的编码扩展是:

  • IEEE浮点

  • LZW压缩