- Date 2015/11/17
- Author Tom Kralidis
- Contact tomkralidis at gmail dot com
- Last Edited 2015/11/17
- Status Draft
- Version QGIS 3.x
Metadata (data about data) provides a critical component to the management, documentation, and discovery of geospatial data, and is the basis for data publishing, online catalogues and findability of data / resources for a wide variety of users (general public, domain experts, etc.).
Documenting geospatial data is vital in the preservation of:
- who (publisher, creator, distributor)
- what (title, abstract, keywords, quality, history, data type)
- where (spatial extent / placename)
- when (temporal extent)
- why (purpose)
- how (access, online linkages)
Metadata is also vital to help a user evaluate/assess whether a given dataset meets their needs for their project/workflow.
Numerous metadata standards exist to formally document data:
- Dublin Core
- FGDC
- ISO 19115:2003
- DCAT
- NASA DIF
For more on metadata, see the [OGC e-learning documentation] (https://github.com/opengeospatial/e-learning/blob/master/source/csw/text/concepts.rst).
In addition, many of these metadata standards allow for extensibility mechanisms which result in specific profile implementations of same.
Significant metadata efforts are rooted in geospatial, and numerous GIS tools provide metadata facilities to assist in metadata management.
This document will provide a status on QGIS metadata management support and articulate a vision to which related QGIS Enhancement Proposals (QEPs) can follow.
QGIS community.
QGIS core.
Currently, QGIS core does not support export of metadata to standards-based metadata formats or publishing to catalogues. Existing metadata support is limited in relation to the rich constructs and fields which are typically available from metadata standards.
QGIS core provides a Layer Properties Metadata
tab which allows a user
to enter various values (and select from various select boxes) under various
sections like Description
, Attribution
, MetadataUrl
, LegendUrl
. The
Properties
section is autogenerated from the layer and is read only. These
values are stored in the QGIS project file within the <maplayer>
element.
MetaSearch is a QGIS core plugin to facilitate discovery of data via the OGC CSW standard. MetaSearch does not provide metadata management support.
Through the QGIS plugin ecosystem, various Python plugins exist to help with metadata management, including (but not limited to):
- Metatools
- QSphere
- LayerMetadata
- qgismetaedit
These plugins implement various metadata standards, vary in current support and maintenance, as well as (in some cases) overload existing QGIS metadata support [1][2].
Given the importance of metadata and the context / current state of same in QGIS, there is an opportunity in QGIS core to realize proper, sustainable metadata management.
QGIS shall provide core metadata support in order to facilitate the management of geospatial metadata as part of data/layer management.
To realize the vision of deeper core metadata support, the following use cases provide high level requirements.
Users shall be able to manage metadata via the Layer Properties Metadata tab. The Layer Properties Metadata tab will have a rich tabbed editor to capture and manage core metadata constructs to a core, agnostic model. The model can then be transformed to any given metadata format either in QGIS core or via QGIS Python plugin.
Users shall be able to publish metadata to a CSW (either remote/existing or embedded [e.g. QGIS Server CSW support]).
Users shall be able to serve metadata via CSW via QGIS server.
Users shall be able to query CSW services to discover, evaluate and bind to data [3].
- [1] http://gis.stackexchange.com/questions/123452/how-to-edit-metadata-in-qgis
- [2] https://trac.osgeo.org/qgis/ticket/1399
- [3] currently implemented by MetaSearch (QGIS core plugin)