While GeoPackage has had support for metadata since its inception, I acknowledge that there is something missing. There is currently no agreement on how metadata should be used in GeoPackage to serve any particular purpose. Someone opening a GeoPackage would have no way of recognizing that the file has any particular type of metadata in it, short of inspecting every single row in the gpkg_metadata table. No way.
I propose that we address this gap by introducing "metadata profiles" to GeoPackage. A metadata profile is an agreement on what a metadata document will look like and how it will be used in the GeoPackage. I propose to leverage the extension mechanism to express this information. This approach has two parts:
- Introduce a new extension that defines a new extension "scope" (i.e., the gpkg_extensions.scope column) of "metadata"
- Create an extension for each metadata profile:
- using this new "metadata" extension scope
- defining the metadata scope, standard/specification, and MIME type that uniquely identify it
- defining the reference scope ("geopackage", "table", "row", or "row/col") that it will be used for
As part of OGC's Testbed-15, I intend to explore this concept further. Here are some profiles that we are considering: