Skip to content

Latest commit

 

History

History
134 lines (105 loc) · 4.05 KB

extension_tiles_webp.adoc

File metadata and controls

134 lines (105 loc) · 4.05 KB

Tiles Encoding WebP

Introduction

This extension of clauses [tile_enc_png] and [tile_enc_jpeg] allows encoding of tile images in WebP format.

PNG and JPEG are the default MIME types for encoding images in tile pyramid user data tables. This extension allows the use of image/x-webp as an additional encoding type.

Extension Author

GeoPackage SWG, author_name gpkg.

Extension Name or Template

gpkg_webp

Extension Type

Extension of Existing Requirement in clauses [tile_enc_png] and [tile_enc_jpeg].

Applicability

This extension applies to any table listed in the gpkg_contents table with a data_type of tiles.

Scope

Read-write

Requirements

GeoPackage
Requirement 90

The "gpkg_webp" extension name SHALL be used as a gpkg_extensions table extension name column value to specify storage of tile pyramid images in WEBP format as specified in Tiles Encoding WebP.

Requirement 91

A GeoPackage that contains tile pyramid user data tables with tile_data columns that contain images in WEBP format SHALL contain a gpkg_extensions table that contains row records with table_name values for each such table, "tile_data" column_name values and extension_name column values of "gpkg_webp".

Requirement 92

A GeoPackage that contains a tile pyramid user data table that contains tile data MAY store tile_data in MIME type image/x-webp [22]. The MIME type of values of the tile_data column in tile pyramid user data tables SHALL be image/x-webp.

GeoPackage SQLite Configuration

None

GeoPackage SQLite Extension

None

Abstract Test Suite

Extensions Name

Test Case ID

/reg_ext/tiles/tile_encoding_webp/data/webp_ext_name

Test Purpose:

Verify that the "gpkg_webp" extensions name is used to register WEBP tile encoding implementations.

Test Method:

  1. SELECT table_name FROM gpkg_contents WHERE data_type = \'tiles'

  2. Not testable if empty result set

  3. For each row table_name from step 1

    1. Select tile_data FROM row table_name

    2. For each row tile_data from step a

      1. Log webp if tile data in MIME type image/webp

    3. Not testable if no logged webps

    4. /opt/extension_mechanism/extensions/data/table_def

    5. Fail if failed

    6. SELECT * FROM gpkg_extensions WHERE table_name = selected table name AND extension_name = 'gpkg_webp'

    7. Fail if returns an empty result set

    8. Log pass otherwise

  4. Pass if logged pass and no fails

Reference

Annex F.7 Req 90

Test Type

Basic

Extensions Row

Test Case ID

/reg_ext/tiles/tile_encoding_webp/data/webp_ext_row

Test Purpose:

Verify that WEBP tile encodings are registered using the "gpkg_webp" extensions name.

Test Method:

/reg_ext/tiles/tile_encoding_webp/data/webp_ext_name

Reference:

Annex F.7 Req 91

Test Type

Capability

Extensions Mime Type

Test Case ID

/reg_ext/tiles/tiles_encoding_webp/data/mime_type_webp

Test Purpose

Verify that a tile matrix user data table that conforms to this extension contains tile data of MIME type image/x-webp.

Test Method

  1. SELECT table_name AS tn FROM gpkg_contents WHERE data_type = \'tiles'

  2. For each row tn from step 2

    1. WHEN (SELECT tbl_name FROM sqlite_master WHERE tbl_name = \'gpkg_extensions') = \'gpkg_extensions' THEN (SELECT extension_name FROM gpkg_extensions WHERE table_name = \'tn') END;

    2. For each row extension_name from step a

      1. Not testable if extension_name is not 'gpkg_webp'

      2. SELECT tile_data from tn

        1. Pass if tile data in MIME type image/x-webp

        2. Fail if no passes

Reference

Annex F.7 Req 92

Test Type

Capability