Open zdefne-usgs opened 6 years ago
see the discussion at https://github.com/NOAA-PMEL/uafnciso/issues/8
tedhabermann suggests:
[ ...] we are trying to provide an (arbitrary from ISO point of view) equation for calculating vertical coordinates from information in the file. The standard includes a place to describe the parameters required for this equation, as an arbitrary data structure (a characterString in the example) and a reference to something that describes what to do with the parameters. Maybe that is enough, maybe not.
[...] ISO has a standard mechanism for adding implementation specific information called the Record/Record Type and I think we could use that here. It also has a standard way to point users to more information if they need it. Seems to me this gives us tools we need. In fact, it is pretty similar to what is in the CF Appendix.
The description of the parameters is an ISO Record which can be anything. There is an example on https://geo-ide.noaa.gov/wiki/index.php?title=Record of using an ncml variable from a specific granule as a record. We could easily include a snippet of ncml that had the parameters or some representation of an equation (i.e. mathML??) in that Record.
[...] Geo-IDE wiki page on georeferencing. If we look at the MD_Georeferenceable object, it contains a couple of things that might be useful: georeferencedParameters and parameterCitation. These two can be used to 1) describe the parameters needed for georeferencing and 2) to provide more information.
The georeferncedParameters is a Record, which means it can hold essentially anything. It could be a text description, or a structured thing (xml, csv, sensorml or ncml?) that provides values. It could be that this gives numbers that code could use… The parameterCitation is a citation to more information, i.e. the CF Conventions… or a section of the CF Conventions…
XML might look like that shown below… Note that we have an opportunity to provide dimension titles and descriptions (I think those were added in 19115-1)…
<mdb:spatialRepresentationInfo>
<msr:MI_Georeferenceable>
<msr:numberOfDimensions>
<gco:Integer>3</gco:Integer>
</msr:numberOfDimensions>
<msr:axisDimensionProperties>
<msr:MD_Dimension>
<msr:dimensionName>
<msr:MD_DimensionNameTypeCode codeList="codeListLocation#MD_DimensionNameTypeCode" codeListValue="row">row</msr:MD_DimensionNameTypeCode>
</msr:dimensionName>
<msr:dimensionSize>
<gco:Integer>120</gco:Integer>
</msr:dimensionSize>
<msr:dimensionTitle>
<gco:CharacterString>Some title</gco:CharacterString>
</msr:dimensionTitle>
<msr:dimensionDescription>
<gco:CharacterString>Some description</gco:CharacterString>
</msr:dimensionDescription>
</msr:MD_Dimension>
</msr:axisDimensionProperties>
<msr:axisDimensionProperties>
<msr:MD_Dimension>
<msr:dimensionName>
<msr:MD_DimensionNameTypeCode codeList="" codeListValue="column">column</msr:MD_DimensionNameTypeCode>
</msr:dimensionName>
<msr:dimensionSize>
<gco:Integer>120</gco:Integer>
</msr:dimensionSize>
<msr:dimensionTitle>
<gco:CharacterString>Some title</gco:CharacterString>
</msr:dimensionTitle>
<msr:dimensionDescription>
<gco:CharacterString>Some description</gco:CharacterString>
</msr:dimensionDescription>
</msr:MD_Dimension>
</msr:axisDimensionProperties>
<msr:axisDimensionProperties>
<msr:MD_Dimension>
<msr:dimensionName>
<msr:MD_DimensionNameTypeCode codeList="" codeListValue="vertical">vertical</msr:MD_DimensionNameTypeCode>
</msr:dimensionName>
<msr:dimensionSize>
<gco:Integer>120</gco:Integer>
</msr:dimensionSize>
<msr:dimensionTitle>
<gco:CharacterString>Some title</gco:CharacterString>
</msr:dimensionTitle>
<msr:dimensionDescription>
<gco:CharacterString>Some description</gco:CharacterString>
</msr:dimensionDescription>
</msr:MD_Dimension>
</msr:axisDimensionProperties>
<msr:cellGeometry>
<msr:MD_CellGeometryCode codeList="codeListLocation#MD_CellGeometryCode" codeListValue="voxel">voxel</msr:MD_CellGeometryCode>
</msr:cellGeometry>
<msr:transformationParameterAvailability>
<gco:Boolean>true</gco:Boolean>
</msr:transformationParameterAvailability>
<msr:controlPointAvailability/>
<msr:orientationParameterAvailability/>
<msr:georeferencedParameters>
<gco:Record xsi:type="gco:CharacterString_PropertyType">
<gco:CharacterString>Description of parameters goes here</gco:CharacterString>
</gco:Record>
</msr:georeferencedParameters>
<msr:parameterCitation>
<cit:CI_Citation>
<cit:title>
<gco:CharacterString>CF Conventions and Metadata</gco:CharacterString>
</cit:title>
<cit:onlineResource>
<cit:CI_OnlineResource>
<cit:linkage>
<gco:CharacterString>http://cfconventions.org</gco:CharacterString>
</cit:linkage>
</cit:CI_OnlineResource>
</cit:onlineResource>
</cit:CI_Citation>
</msr:parameterCitation>
<msr:geolocationInformation gco:nilReason="inapplicable"/>
</msr:MI_Georeferenceable>
</mdb:spatialRepresentationInfo>
As of now, here's how we are handling this:
<gmd:MD_Georeferenceable>
<gmd:numberOfDimensions>
<gco:Integer>2</gco:Integer>
</gmd:numberOfDimensions>
<gmd:axisDimensionProperties>
<gmd:MD_Dimension>
<gmd:dimensionName>
<gmd:MD_DimensionNameTypeCode codeList="http://www.ngdc.noaa.gov/metadata/published/xsd/schema/resources/Codelist/gmxCodelists.xml#MD_DimensionNameTypeCode"
codeListValue="vertical">vertical</gmd:MD_DimensionNameTypeCode>
</gmd:dimensionName>
<gmd:dimensionSize>
<gco:Integer>7</gco:Integer>
</gmd:dimensionSize>
<gmd:resolution>
<gco:Measure uom="meter">0.01</gco:Measure>
</gmd:resolution>
</gmd:MD_Dimension>
</gmd:axisDimensionProperties>
<gmd:axisDimensionProperties>
<gmd:MD_Dimension>
<gmd:dimensionName>
<gmd:MD_DimensionNameTypeCode codeList="http://www.ngdc.noaa.gov/metadata/published/xsd/schema/resources/Codelist/gmxCodelists.xml#MD_DimensionNameTypeCode"
codeListValue="temporal">temporal</gmd:MD_DimensionNameTypeCode>
</gmd:dimensionName>
<gmd:dimensionSize>
<gco:Integer>10272</gco:Integer>
</gmd:dimensionSize>
<gmd:resolution>
<gco:Measure uom="minutes">30</gco:Measure>
</gmd:resolution>
</gmd:MD_Dimension>
</gmd:axisDimensionProperties>
<gmd:cellGeometry>
<gmd:MD_CellGeometryCode codeList="http://www.ngdc.noaa.gov/metadata/published/xsd/schema/resources/Codelist/gmxCodelists.xml#MD_CellGeometryCode"
codeListValue="area">area</gmd:MD_CellGeometryCode>
</gmd:cellGeometry>
<gmd:transformationParameterAvailability>
<gco:Boolean>true</gco:Boolean>
</gmd:transformationParameterAvailability>
<gmd:controlPointAvailability/>
<gmd:orientationParameterAvailability/>
<gmd:georeferencedParameters>
<gco:Record xsi:type="gco:CharacterString_PropertyType">
<gco:CharacterString>Vertical coordinates</gco:CharacterString>
</gco:Record>
</gmd:georeferencedParameters>
<gmd:parameterCitation>
<gmd:CI_Citation>
<gmd:title>
<gco:CharacterString>CF Conventions and Metadata</gco:CharacterString>
</gmd:title>
<gmd:date>
<gmd:CI_Date>
<gmd:date>
<gco:Date>2017-08-01</gco:Date>
</gmd:date>
<gmd:dateType>
<gmd:CI_DateTypeCode codeList="http://www.ngdc.noaa.gov/metadata/published/xsd/schema/resources/Codelist/gmxCodelists.xml#CI_DateTypeCode"
codeListValue="lastUpdate">lastUpdate</gmd:CI_DateTypeCode>
</gmd:dateType>
</gmd:CI_Date>
</gmd:date>
<gmd:citedResponsibleParty>
<gmd:CI_ResponsibleParty>
<gmd:organisationName>
<gco:CharacterString>Climate and Forecast (CF) Metadata Conventions Organization</gco:CharacterString>
</gmd:organisationName>
<gmd:contactInfo>
<gmd:CI_Contact>
<gmd:onlineResource>
<gmd:CI_OnlineResource>
<gmd:linkage>
<gmd:URL>http://cfconventions.org/Data/cf-conventions/cf-conventions-1.7/cf-conventions.html#parametric-v-coord </gmd:URL>
</gmd:linkage>
<gmd:protocol>
<gco:CharacterString>WWW:LINK</gco:CharacterString>
</gmd:protocol>
<gmd:applicationProfile>
<gco:CharacterString>web browser</gco:CharacterString>
</gmd:applicationProfile>
<gmd:name>
<gco:CharacterString/>
</gmd:name>
<gmd:description>
<gco:CharacterString/>
</gmd:description>
<gmd:function>
<gmd:CI_OnLineFunctionCode codeList="http://www.ngdc.noaa.gov/metadata/published/xsd/schema/resources/Codelist/gmxCodelists.xml#CI_OnLineFunctionCode"
codeListValue="information">information</gmd:CI_OnLineFunctionCode>
</gmd:function>
</gmd:CI_OnlineResource>
</gmd:onlineResource>
</gmd:CI_Contact>
</gmd:contactInfo>
<gmd:role>
<gmd:CI_RoleCode codeList="http://www.ngdc.noaa.gov/metadata/published/xsd/schema/resources/Codelist/gmxCodelists.xml#CI_RoleCode"
codeListValue="author">author</gmd:CI_RoleCode>
</gmd:role>
</gmd:CI_ResponsibleParty>
</gmd:citedResponsibleParty>
</gmd:CI_Citation>
</gmd:parameterCitation>
</gmd:MD_Georeferenceable>
How and where to define "Georeferencable" in the ISO metadata?