GeoPackage 1.2 Conformance Test Suite


This conformance test suite verifies the structure and content of a GeoPackage 1.2 data container. The GeoPackage 1.2 encoding standard describes how a platform-independent SQLite database file may contain various types of content, including:

  • vector features
  • tile matrix sets of imagery and raster maps at various scales
  • attributes
  • extensions

The basic structure of a GeoPackage database is shown in Figure 1.

Figure 1: GeoPackage tables

GeoPackage tables

The following conformance classes have being defined:

  • Core (Required)
    • SQLite Container
    • Spatial Reference Systems
    • Contents
  • Features
  • Tiles
  • Attributes
  • Extension Mechanism
    • Non-Linear Geometry Types
    • RTree Spatial Indexes
    • Zoom Other Intervals (Not implemented yet)
    • Tiles Encoding WebP
    • Metadata
    • Schema
    • WKT for Coordinate Reference Systems
    • Tiled Gridded Coverage Data

Note: This ETS also supports GeoPackage 1.1 and 1.0.

Test requirements

The documents listed below stipulate requirements that must be satisfied by a conforming implementation.

  1. OGC GeoPackage Encoding Standard 1.2.0
  2. OGC GeoPackage Encoding Standard 1.1.0
  3. OGC GeoPackage Encoding Standard 1.0.1
  4. OGC GeoPackage Encoding Standard 1.0.0
  5. SQLite Database File Format

If any of the following preconditions are not satisfied then all tests in the suite will be marked as skipped.

  1. The major version number in the SQLITE_VERSION_NUMBER header field is 3.

Test suite structure

The test suite definition file (testng.xml) is located in the root package, org.opengis.cite.gpkg12. A conformance class corresponds to a <test> element, each of which includes a set of test classes that contain the actual test methods. The general structure of the test suite is shown in Table 1.

Table 1 - Test suite structure
Conformance class Test classes
Core org.opengis.cite.gpkg12.core.*
Features org.opengis.cite.gpkg12.features.*
Tiles org.opengis.cite.gpkg12.tiles.*
Attributes org.opengis.cite.gpkg12.attributes.*
Extension Mechanism org.opengis.cite.gpkg12.extensions.*
Non-Linear Geometry Types org.opengis.cite.gpkg12.extensions.nonlinear.*
RTree Spatial Indexes org.opengis.cite.gpkg12.extensions.rtreeindex.*
Tiles Encoding WebP org.opengis.cite.gpkg12.extensions.webp.*
Metadata org.opengis.cite.gpkg12.extensions.metadata.*
Schema org.opengis.cite.gpkg12.extensions.schema.*
WKT for Coordinate Reference Systems org.opengis.cite.gpkg12.extensions.crswkt.*
Tiled Gridded Coverage Data org.opengis.cite.gpkg12.extensions.coverage.*

The Javadoc documentation provides more detailed information about the test methods that constitute the suite.

Test run arguments

The test run arguments are summarized in Table 2. The Obligation descriptor can have the following values: M (mandatory), O (optional), or C (conditional).

Table 2 - Test run arguments
Name Value domain Obligation Description
iut URI M A URI that refers to a GeoPackage file. Ampersand ('&') characters must be percent-encoded as '%26'.
ics A comma-separated list of string values. O An implementation conformance statement that indicates which conformance classes or options are supported.