FGDC RSE to ISO Crosswalks: Data Quality
The Data Quality approaches in both standards involve three major types of information: Reports, Sources, and Process Steps. These fundamental building blocks are compared in the tables below.
Contents
Reports
The FGDC quality section included four types of reports all as free text. ISO 19115 subdivided these four types into more detailed types and significantly increased the structure of the reports (see Report Structure).
FGDC | ISO | FGDC | ISO | |
Report | Completeness | CompletenessComission | Positional Accuracy | AbsoluteExternalPositionalAccuracy |
CompletenessOmission | RelativeInternalPositionalAccuracy | |||
Logical Consistency | ConceptualConsistency | GriddedDataPositionalAccuracy | ||
DomainConsistency | Attribute Accuracy | ThematicClassificationCorrectness | ||
FormatConsistency | NonQuantitativeAttributeAccuracy | |||
TopologicalConsistency | QuantitativeAttributeAccuracy |
In addition, ISO 19115 adds two new report types.
Report Type | Sub-Type |
Temporal Accuracy | AccuracyOfATimeMeasurement |
TemporalConsistency | |
TemporalValidity | |
Usability |
Sources
The FGDC/RSE and ISO source descriptions are essentially identical at the highest level, however, at the detailed level the ISO standard includes some significant improvements. Several important improvements are associated with the ISO citation. First, in FGDC the citation is conceived as a reference to a scientific paper. It includes authors (called originators), but no contact information. This makes it difficult to describe unpublished data as sources. The ISO citation includes people in multiple roles (author, publisher, principle investigator, etc), and full contact information for all of those people. Second, in the FGDC case, the source is identified by an abbreviation that is unique only within the lineage section of a particular metadata record. This is similar to the model used for references in scientific papers where a single source could be referenced as Doe 2008 in one place and as Doe 2008b in another. The scope of an identifier is the reference list for that particular paper. In the ISO case, the source is identified by an MD_identifier that includes a namespace and an identifier defined to be unique in that namespace. This disambiguates references to sources across all metadata records.
A final benefit of the ISO Source is hidden in the extent object. This object allows the description of a spatial extent for a given source in addition to the time period which is included in the FGDC.
FGDC | ISO | |
Source | Citation | MD_Metadata.dataQualityInfo.DQ_DataQuality.lineage.LI_Lineage.source.LI_Source.sourceCitation |
Abbreviation | MD_Metadata.dataQualityInfo.DQ_DataQuality.lineage.LI_Lineage.source.LI_Source.sourceCitation.CI_Citation.identifier | |
Contribution | MD_Metadata.dataQualityInfo.DQ_DataQuality.lineage.LI_Lineage.source.LI_Source.description | |
Scale | MD_Metadata.dataQualityInfo.DQ_DataQuality.lineage.LI_Lineage.source.LI_Source.scaleDenomination | |
MD_Metadata.dataQualityInfo.DQ_DataQuality.lineage.LI_Lineage.source.LI_Source.sourceReferenceSystem | ||
Media | ||
TimePeriod | MD_Metadata.dataQualityInfo.DQ_DataQuality.lineage.LI_Lineage.source.LI_Source.sourceExtent.EX_Extent.temporalElement | |
Processing_Level | MD_Metadata.dataQualityInfo.DQ_DataQuality.lineage.LI_Lineage.source.LE_Source.processedLevel | |
MD_Metadata.dataQualityInfo.DQ_DataQuality.lineage.LI_Lineage.source.LE_Source.resolution |
Process Steps
The process steps are also similar. The biggest difference being the addition of the rationale element to the ISO standard. Being able to describe why process steps were done is clearly useful in many cases.
FGDC | ISO | |
Process Step | Description | MD_Metadata.dataQualityInfo.DQ_DataQuality.lineage.LI_Lineage.processStep.LI_ProcessStep.description |
Time | MD_Metadata.dataQualityInfo.DQ_DataQuality.lineage.LI_Lineage.processStep.LI_ProcessStep.dateTime | |
Contact | MD_Metadata.dataQualityInfo.DQ_DataQuality.lineage.LI_Lineage.processStep.LI_ProcessStep.processor | |
MD_Metadata.dataQualityInfo.DQ_DataQuality.lineage.LI_Lineage.processStep.LI_ProcessStep.rationale | ||
Source Used | MD_Metadata.dataQualityInfo.DQ_DataQuality.lineage.LI_Lineage.processStep.LI_ProcessStep.source | |
Source Produced | MD_Metadata.dataQualityInfo.DQ_DataQuality.lineage.LI_Lineage.processStep.LI_ProcessStep.output | |
Processing | MD_Metadata.dataQualityInfo.DQ_DataQuality.lineage.LI_Lineage.processStep.LE_ProcessStep.processingInformation.LE_Processing | |
Algorithm | MD_Metadata.dataQualityInfo.DQ_DataQuality.lineage.LI_Lineage.processStep.LE_ProcessStep.processingInformation.LE_Processing.algorithm.LE_Algorithm |
Process_Step.Process_Date
The RSE adds “Not Applicable” as a possible value for this date.
Algorithm and Processing Information
The FGDC RSE introduced a standard approach to describing algorithms and processing information. This is also available in ISO 19115.
Process_Step.Algorithm_Information
The RSE Algorithm_Information section is included as a part of the Process_Step. The section includes four elements that crosswalk directly into the ISO 19115-2 LE_Algorithm object which is repeatable and contains a citation and a description:
RSE Element | What is it? | ISO |
Algorithm_Identifiers | Citation | MD_Metadata.dataQualityInfo.DQ_DataQuality.lineage.LI_Lineage.processStep.LE_ProcessStep.processingInformation.LE_Processing.algorithm.LE_Algorithm.citation.CI_Citation.identifier |
Algorithm_Description | [Description | Citation] | MD_Metadata.dataQualityInfo.DQ_DataQuality.lineage.LI_Lineage.processStep.LE_ProcessStep.processingInformation.LE_Processing.algorithm.LE_Algorithm.citation / description |
(1{Algorithm_Change_History}n) | List of Process_Steps | MD_Metadata.dataQualityInfo.DQ_DataQuality.lineage.LI_Lineage.processStep |
(1{Algorithm_Peer_Review_Information}n) | List of Process_Steps | MD_Metadata.dataQualityInfo.DQ_DataQuality.lineage.LI_Lineage.processStep |
Algorithm Change History
The FGDC Remote Sensing Extensions include a description of the history of changes to the algorithm used to produce a product. This structure is:
Data_Quality_Information Lineage Process_Step Algorithm_Information 1{Algorithm_Change_History}n [Algorithm_Change_Description | Algorithm_Change_Reference]
The Algorithm section of a Process_Step can contain any number of Algorithm_Change_History sections, each of which can contain an Algorithm_Change_Description (a ProcessStep) or an Algorithm_Change_Reference (a Citation).
In the ISO 19115-2 case the structure is:
DQ_Data_Quality Lineage LE_ProcessStep LE_Processing LE_Algorithm
Times occur in this structure twice: as a time range in the DQ_DataQuality.scope.extent and as a single dataTime in the ProcessStep. This seems to offer two approaches to describing changes in algorithms: as a series of processSteps that describe each change or as a series of DQ_DataQuality objects that describe time periods (and spatial extents) of constant algorithm. In this case the DQ_Scope.level could be “software”, although this is not strictly equivalent to algorithm. Do we need to add a scopeCode of algorithm?
Processing_Information
The RSE Processing_Information section is used to describe details of the processing that is associated with a process step. It includes seven elements:
RSE Element | What is it? | ISO |
Processing_Identifiers | Citation | MD_Metadata.dataQualityInfo.DQ_DataQuality.lineage.LI_Lineage.processStep.LE_ProcessStep.processingInformation.LE_Processing.softwareReference/documentation (both citations) |
1{Processing_Input_Dataset}n | Identifier + [Description | Citation] | MD_Metadata.dataQualityInfo.DQ_DataQuality.lineage.LI_Lineage.processStep.LI_ProcessStep.source.LI_Source.sourceCitation.CI_Citation.identifier + metadata.dataQualityInfo.lineage.processStep.source.sourceCitation |
(1{Ancillary_Dataset}n) | Identifier + [Description | Citation] + Command_Line | MD_Metadata.dataQualityInfo.DQ_DataQuality.lineage.LI_Lineage.processStep.LI_ProcessStep.source.LI_Source.sourceCitation.CI_Citation.identifier + MD_Metadata.dataQualityInfo.DQ_DataQuality.lineage.LI_Lineage.processStep.LI_ProcessStep.source.LI_Source.sourceCitation + MD_Metadata.dataQualityInfo.DQ_DataQuality.lineage.LI_Lineage.processStep.LE_ProcessStep.processingInformation.LE_Processing.ProcessingInformation.runTimeParameters |
Processing_Software | Description | Citation | MD_Metadata.dataQualityInfo.DQ_DataQuality.lineage.LI_Lineage.processStep.LE_ProcessStep.processingInformation.LE_Processing.softwareReference/documentation (both citations) |
Processing_Procedure | Run History (Process Steps)+ Environment + (Description) | MD_Metadata.dataQualityInfo.DQ_DataQuality.lineage.LI_Lineage.processStep + MD_Metadata.dataQualityInfo.DQ_DataQuality.lineage.LI_Lineage.processStep.LE_ProcessStep.processingInformation.LE_Processing.proceedureDescription |
0{Processing_Change_History}1 | List of process_steps | MD_Metadata.dataQualityInfo.DQ_DataQuality.lineage.LI_Lineage.processStep |
(1{Processing_Documentation}n) | Citation | MD_Metadata.dataQualityInfo.DQ_DataQuality.lineage.LI_Lineage.processStep.LE_ProcessStep.processingInformation.LE_Processing.softwareReference/documentation (both citations) |