adiwg / mdTranslator

Metadata translation tool built using Ruby

Home Page:https://www.adiwg.org/mdTranslator/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Support CSDGM Data Quality

dwalt opened this issue · comments

commented

The CSDGM standard data quality reports need to be supported in mdJSON and in output to CSDGM XML. In the case of the CSDGM reader, data quality is currently lost on translation.

An analysis has been done to map CSDGM data quality to ISO data quality:

Attribute Accuracy Report (attaccr)

  • nonQuantitativeAttributeCorrectness > descriptiveResult = Attribute Accuracy Report (attraccr)
  • quantitativeAttributeAccuracy > quantitativeResult > value = Attribute Accuracy Value (attraccv)
  • quantitativeAttributeAccuracy > evaluationMethod > evaluationMethodDescription = Attribute Accuracy

Quantitative Attribute Accuracy Report Assessment (qattracc)

  • quantitativeAttributeAccuracy > quantitativeResult > value = Attribute Accuracy Value (attraccv)
  • quantitativeAttributeAccuracy > evaluationMethod > evaluationMethodDescription = Attribute Accuracy Explanation (attracce)

Logical Consistency Report (logic)

  • conceptualConsistency > descriptiveResult = Logical Consistency Report (logic)

Completeness Report (complete)

  • completenessOmission > descriptiveResult = Completeness Report (complete)

Horizontal Positional Accuracy Report (horizpar)

  • absoluteExternalPositionalAccuracy > descriptiveResult = Horizontal Positional Accuracy Report (horizpar)

Horizontal Positional Accuracy Assessment (qhorizpa)

  • absoluteExternalPositionalAccuracy > quantitativeResult > value = Horizontal Positional Accuracy Value (horizpav)
  • absoluteExternalPositionalAccuracy > evaluationMethod > evaluationMethodDescription = Horizontal Positional Accuracy Explanation (horizpae)

Vertical Positional Accuracy Report (vertaccr)

  • absoluteExternalPositionalAccuracy > descriptiveResult = Vertical Positional Accuracy Report (vertaccr)

Vertical Positional Accuracy Assessment (qvertpa)

  • absoluteExternalPositionalAccuracy > quantitativeResult > value = Vertical Positional Accuracy Value (vertaccv)
  • absoluteExternalPositionalAccuracy > evaluationMethod > evaluationMethodDescription = Vertical Positional Accuracy Explanation (vertacce)

@dwalt Here is the final mapping:

2.1 attracc
2.1.1 attraccr -> descriptive result statement (descriptive result name = 'Attribute Accuracy Report', report type DQ_NonQuantitativeAttributeCorrectness)
2.1.2 qattracc (report type DQ_QuantitativeAttributeAccuracy)
2.1.2.1 attraccv -> quantitative result value (quantitative result name = 'Attribute Accuracy Value')
2.1.2.2 attracce -> evaluation method description
2.2 logic -> descriptive result statement (descriptive result name = 'Logical Consistency Report', report type DQ_ConceptualConsistency)
2.3 complete -> descriptive result statement (descriptive result name = 'Completeness Report', report type DQ_CompletenessOmission)
2.4 posacc
2.4.1 horizpa (report type DQ_AbsoluteExternalPositionalAccuracy)
2.4.1.1 horizpar -> descriptive result statement (descriptive result name = 'Horizontal Positional Accuracy Report')
2.4.1.2 qhorizpa
2.4.1.2.1 horizpav -> quantitative result value (quantitative result name = 'Horizontal Positional Accuracy Value')
2.4.1.2.2 horizpae -> descriptive result statement (descriptive result name = 'Horizontal Positional Accuracy Explanation')
2.4.2 vertacc (report type DQ_AbsoluteExternalPositionalAccuracy)
2.4.2.1 vertaccr -> descriptive result statement (descriptive result name = 'Vertical Positional Accuracy Report')
2.4.2.2 qvertpa
2.4.2.2.1 vertaccv -> quantitative result value (quantitative result name = 'Vertical Positional Accuracy Value')
2.4.2.2.2 vertacce -> descriptive result statement (descriptive result name = 'Vertical Positional Accuracy Explanation')

There are 2 that do not follow the specified mapping: 2.4.1.2.2 horizpae & 2.4.2.2.2 vertacce
Instead of using the evaluation method I decided to go with descriptive result so I could add a name that allows me to distinguish the difference between horizontal and vertical. I also added names where I could to state what the result was associated with.