[ https://issues.apache.org/jira/browse/SIS-171?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Martin Desruisseaux reassigned SIS-171: --------------------------------------- Assignee: Martin Desruisseaux > Upgrade NetCDF to ISO-19115 mapping > ----------------------------------- > > Key: SIS-171 > URL: https://issues.apache.org/jira/browse/SIS-171 > Project: Spatial Information Systems > Issue Type: Task > Components: Metadata, Storage > Affects Versions: 0.3, 0.4, 0.5, 0.6, 0.7 > Reporter: Martin Desruisseaux > Assignee: Martin Desruisseaux > Priority: Minor > Labels: NetCDF > Fix For: 0.8 > > > The mapping from NetCDF attributes to the ISO-19115 metadata is defined at > this page: > * [NetCDF Attribute Convention for Dataset > Discovery|http://wiki.esipfed.org/index.php/Attribute_Convention_for_Data_Discovery] > * [NetCDF, HDF, and ISO > Metadata|http://wiki.esipfed.org/index.php/NetCDF,_HDF,_and_ISO_Metadata] > * [NcISO|https://geo-ide.noaa.gov/wiki/index.php?title=NcISO] (is XSLT files > for the mapping from NetCDF metadata to ISO 19115-2) > The mapping implemented since SIS 0.3 is the version 1.0 of above convention. > Available versions as of May 2017 is 1.3. We will need to upgrade the mapping > implemented by SIS to the latest version. > h2. {color:green}UPDATE - June 1917{color} > Rob Wallace did a review and [posted his result on the mailing > list|https://lists.apache.org/thread.html/76c0ccf2e7e678a5525fc6ef633e06345c67286d077ab86e3c7f73f4@%3Cdev.sis.apache.org%3E]. > Below is a copy of his result: > h3. Report on work to check consistency of attributeNames between ISO 19115, > ACDD 1-3 and Metadata paths in Javadoc June 2017 > Resources used: > * [ACDD > 1-3|http://wiki.esipfed.org/index.php/Attribute_Convention_for_Data_Discovery] > last modified version as of 24th January 2017 > * SIS source > Retrieved on 1st June 2017: > {{storage/sis-netcdf/src/main/java/org/apache/sis/storage/netcdf/AttributeNames.java}} > * [AttributeNames > Javadoc|http://sis.apache.org/apidocs/org/apache/sis/storage/netcdf/AttributeNames.html] > > Retrieved 26th May 2017 > * [ISO 19115 xsl > file|https://github.com/Unidata/threddsIso/blob/master/src/main/resources/xsl/nciso/UnidataDD2MI.xsl] > > Retrieved on 6th June 2017 > In order to make the scanning of the XSL file easier, I (Rob): > > * Read the XSL file with csVed v2.5.1 and filtered out xsl lines > * Saved filtered version as CSV > * Read CSV file with Notepad++ v7.4.1. This facilitated the metadata element > searches. > ||ACDD 1-3 Attribute Names||In Javadoc Heading List?||In Javadoc Field > Detail?||Metadata Path in ISO 19115 XSL file||Field and ISO 19115 path > inAttributeNames Class Source? > |{{title}}|(/)|(/)|{{Metadata/citation/title}}|(/) > |{{summary}}|(/)|(/)|{{Metadata/identificationInfo/abstract}}|(/) > |{{keywords}}|(/)|(/)|{{Metadata/identificationInfo/descriptiveKeywords/keyword}} > with {{KeywordType.THEME}}|(/) > |{{Conventions}}|(x)|(x)|{color:red}Needs to be implemented{color}|(x) > |{{id}}|(/)|As > {{IDENTIFIER}}|{{Metadata/fileIdentifier\\Metadata/identificationInfo/citation/identifier/code}}|(/) > |{{naming_authority}}|(/)|(/)|{{Metadata/identificationInfo/citation/identifier/authority/title}}|(x) > title node missing in source > |{{history}}|(/)|(/)|{{Metadata/dataQualityInfo/lineage/statement}}|(/) > |{{source}}|(x)|(x)|Cannot find “source” in file UnidataDD2MI.xsl|(x) No path > for attribute in documents > |{{processing_level}}|(/)|(/)|{{Metadata/contentInfo/processingLevelCode}}|(/) > |{{comment}}|(/)|(/)|{{Metadata/identificationInfo/supplementalInformation}}|(x) > No such path in ISO 19115 > |{{acknowledgement}}|(/)|(/)|{{Metadata/identificationInfo/credit}}|(/) > |{{license}}|(/)|(/)|{{Metadata/identificationInfo/resourceConstraints/useLimitation}}|(/) > |{{standard_name_vocabulary}}|(/)|(/)|{{Metadata/identificationInfo/descriptiveKeywords/thesaurusName/title}}|(/) > |{{date_created}}|(/)|(/)|{{Metadata/identificationInfo/citation/date/date}} > with {{DateType.CREATION}}|(/) > |{{creator_name}}|(/)|(/)|{{Metadata/identificationInfo/citation}} with > {{Role.ORIGINATOR}}|(/) > |{{creator_email}}|(/)|(/)|{{Metadata/identificationInfo/citation}} with > {{Role.ORIGINATOR}}|(/) > |{{creator_url}}|(/)|(/)|{{Metadata/identificationInfo/citation}} with > {{Role.ORIGINATOR}}|(/) > |{{institution}}|(/)|(/)|{{Metadata/identificationInfo/citation}} with > {{Role.ORIGINATOR}}|(/) > |{{project}}|(/)|(/)|{{Metadata/identificationInfo/descriptiveKeywords}} with > the “project” {{KeywordType}}|(/) > |{{publisher_name}}|(/)|(/)|{{Metadata/distributionInfo/distributor/distributorContact}} > with {{Role.PUBLISHER}}|(x) AttributeNames class uses the branch name of > “distributors”. It s/be “distributor” > |{{publisher_name}}|(/)|(/)|{{Metadata/identificationInfo/descriptiveKeywords/keyword}} > with the "dataCenter" {{KeywordType}}|(/) > |{{publisher_email}}|(/)|(/)|As above|(x) and (/) > |{{publisher_url}}|(/)|(/)|As above|(x) and (/) > |{{geospatial_bounds}}|(x)|(x)|Not in ISO 19115 document|(x) > |{{geospatial_bounds_crs}}|(x)|(x)|Not in ISO 19115 document|(x) > |{{geospatial_bounds_vertical_crs}}|(x)|(x)|Not in ISO 19115 document|(x) > |{{geospatial_lat_min}} and > {{geospatial_lat_max}}|(/)|(/)|{{Metadata/identificationInfo/extent/geographicElement/southBoundLatitude}} > or {{northBoundLatitude}}, > {{Metadata/spatialRepresentationInfo/axisDimensionProperties/resolution}}\\The > {{spatialRepresentationInfo}} element does not contain the final two > elements. They exist independently in Metadata XSL|(/) and (x) The 2nd and > 3rd elements are not contained within the 1st > |{{geospatial_lon_min}} and > {{geospatial_lon_max}}|(/)|(/)|{{Metadata/identificationInfo/extent/geographicElement/westBoundLongitude}} > or {{eastBoundLongitude}}, > {{Metadata/spatialRepresentationInfo/axisDimensionProperties/resolution}}\\The > {{spatialRepresentationInfo}} element does not contain the final two > elements. They exist independently in Metadata XSL|(/) and (x) The 2nd and > 3rd elements are not contained within the 1st > |{{geospatial_vertical_min}} and > {{geospatial_vertical_max}}|(/)|(/)|{{Metadata/identificationInfo/extent/verticalElement/minimumValue}} > or {{maximumValue}}, > {{Metadata/spatialRepresentationInfo/axisDimensionProperties/resolution}} The > spatialRepresentationInfo element does not contain the final two elements. > They exist independently in Metadata XSL|(/) and (x) The 2nd and 3rd elements > are not contained within the 1st > |{{geospatial_vertical_positive}}|(/)|(/)|(x) Seems to be missing in ISO > 19115 in XLS file|(/) > |{{time_coverage_start}}|(/)|(/)|{{Metadata/identificationInfo/extent/temporalElement/extent}}|(/) > |{{time_coverage_end}}|(/)|(/)|{{Metadata/identificationInfo/extent/temporalElement/extent}}|(/) > |{{time_coverage_duration}}|(/)| | |Unsure of the implementation of this in > our source > |{{time_coverage_resolution}}|(/)|(/)|{{Metadata/spatialRepresentation/axisDimensionProperties/resolution}}|(/) > |{{creator_type}}|(x)| | |Can be covered by “creator” > |{{creator_institution}}|(x)| | |Can be covered by “creator” > |{{publisher_type}}|(x)| | |Can be covered by “publisher” > |{{publisher_institution}}|(x)| | |Can be covered by “publisher” > |{{program}}|(x)|(x)|To be implemented in XSL file?|(x) > |{{contributor_name}}|(/)|As > {{CONTRIBUTOR}}|{{Metadata/identificationInfo/citation}} This path is stated > in Javadoc, but I cannot see where the data will be defined in the XSL file|? > |{{contributor_role}}|(/)|As > {{CONTRIBUTOR}}|{{Metadata/identificationInfo/citation}} This path is stated > in Javadoc, but I cannot see where the data will be defined in the XSL file|? > |{{geospatial_lat_units}}|(/)|(/)|Unsure about how these data items will be > read in|? > |{{geospatial_lat_resolution}}|(/)|(/)|Unsure about how these data items will > be read in|? > |{{geospatial_lon_units}}|(/)|(/)|Unsure about how these data items will be > read in|? > |{{geospatial_lon_resolution}}|(/)|(/)|Unsure about how these data items will > be read in|? > |{{geospatial_vertical_units}}|(/)|(/)|Unsure about how these data items will > be read in|? > |{{geospatial_vertical_resolution}}|(/)|(/)|As above|? > |{{date_modified}}|(/)|(/)|{{Metadata/identificationInfo/citation/date/date}} > with {{DateType.REVISION}}|(/) > |{{date_issued}}|(/)|(/)|{{Metadata/identificationInfo/citation/date/date}} > with {{DateType.PUBLICATION}}|(/) > |{{date_metadata_modified}}|(x)| |Can’t find|? > |{{product_version}}|(x)| |Can’t find|? > |{{keywords_vocabulary}}|(/)|As > {{VOCABULARY}}|{{Metadata/identificationInfo/descriptiveKeywords/thesaurusName/title}}|(/) > |{{platform}}|(x)|(x)|Can’t find|(x) > |{{platform_vocabulary}}|(x)|(x)|Can’t find|(x) > |{{instrument}}|(x)|(x)|Can’t find|(x) > |{{instrument_vocabularay}}|(x)|(x)|Can’t find|(x) > |{{cdm_data_type}}|(/)|As > {{DATA_TYPE}}|{{Metadata/identificationInfo/spatialRepresentationType}} in > Javadoc|(x) No spatialRepresentationType element in XSL file > |{{metadata_link}}|(x)|(x)|Could be there under a different name|(x) > |{{references}}|(/)|(/)|{{Metadata/identificationInfo/citation/otherCitationDetails}}|(/) > |{{long_name}}|(x)|(x)|No yet in ISO 19115?|(x) > |{{standard_name}}|(/)|(/)|{{Metadata/identificationInfo/descriptiveKeywords/keyword}} > with {{KeywordType.THEME}}|(/) > |{{units}}|(x)|(x)|Could be there in XSL file|(x) > |{{coverage_content_type}}|(x)|(x)|Does appear in XSL file as > “contentType”|(x) > |{{acces_constraint}}|(/)|As > {{ACCESS_CONSTRAINT}}|{{Metadata/identificationInfo/resourceContraints/accessConstraints}} > Not found in XSL file|(/) > |{{contributor_email}}|(/)|As {{CONTRIBUTOR}}|Not specifically in XSL file|? > |{{contributor_url}}|(/)|As {{CONTRIBUTOR}}|Not specifically in XSL file|? > |{{flag_masks}}|(/)|(/)|{{Metadata/rangeElementDescription/rangeElement}} > Question: "rangeElement" referred to by two attributes?|(/) But includes > "/contentInfo" in path > |{{flag_meanings}}|(/)|(/)|{{Metadata/rangeElementDescription/definition}}|(/) > As above > |{{flag_names}}|(/)|(/)|{{Metadata/rangeElementDescription/name}}|(/) As above > |{{flag_values}}|(/)|(/)|{{Metadata/rangeElementDescription/rangeElement}} > Question: "rangeElement" referred to by two attributes?|(/) As above > |{{full_name}}|(/)|(x)|Not sure of where this is implemented|(x) > |{{geographic_identifier}}|(/)|(/)|{{Metadata/identificationInfo/extent/geographicElement/geographicIdentifier}} > Element "geographicIdentifier" Not found|(/) > |{{metadata_creation}}|(/)|(/)|{{Metadata/dateStamp}}|(/) > |{{name}}|(/)|(x)|Unsure of identity for this name|(x) > |{{purpose}}|(/)|(/)|{{Metadata/identificationInfo/purpose}} Not found|(/) > |{{time_coverage_units}}|(/)|(x)|Is mentioned at top of file as: > //nc:attribute\[\@name='time_coverage_units']/\@value)"/>|Maybe covered > somewhere > |{{topic_category}}|(/)|(/)|{{Metadata/identificationInfo/topicCategory}}|(/) -- This message was sent by Atlassian JIRA (v6.4.14#64029)