NSG GeoPackage 1.1 Conformance Test Suite


This test suite verifies the structure and content of a NSG GeoPackage 1.1 data container in accordance with the NSG GeoPackage Encoding Standard 1.1 Interoperability Standard version 2.1.

The test suite includes the test from GeoPackage 1.2 Conformance Test Suite (which also supports GeoPackage 1.1 and 1.0), and adds the NSG conformance classes. In addition to the GeoPackage specification, the NSG Conformance classes cover:

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
    • NSG

Test requirements

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

  1. National System for Geospatial-Intelligence (NSG) GeoPackage Encoding Standard 2.1 Interoperability Standard
  2. OGC GeoPackage Encoding Standard 1.1.0
  3. 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.nsg. 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.*
NSG org.opengis.cite.gpkg12.nsg.*

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.