[netcdf-java] NetCDF metadata to ISO 19115: code donation to UCAR?

Hello UCAR maintainers

This is a proposal related to the "THREDDSMetadata" thread. The NcISO software translates NetCDF metadata to ISO 19115-2 using XSL files. I'm in the process of translating the XSL logic to pure Java code for programmatic convenience, performance, /etc./ However because this work depends very strongly on NetCDF/THREDDS conventions, I feel that it would be better to have it as a module of the UCAR NetCDF-Java library. Would the UCAR maintainers be interrested to take the code once I finished it? I would be happy to give it.

Notes:

 * It can be a separated module; it doesn't need to live in the NetCDF core 
module.
 * The public API depends on NetCDF core and GeoAPI 3.0.0 interfaces
     o GeoAPI 3.0.0 is now an OGC standard (since April)
     o GeoAPI is deployed on Maven Central
     o The GeoAPI governance follow OGC rules (voting process, etc.).
 * A GeoAPI implementation is required, but you have the choice:
     o Simple implementation based on HashMap (public domain)
     o Or the Geotoolkit.org implementation (which I'm using)
         + You need only the metadata module; you can ignore referencing.
         + Also deployed on Maven Central.


The Java code looks like below:

        final DefaultMetadata metadata = new DefaultMetadata();
        metadata.setFileIdentifier(getThreddsOrGlobalAttribute("id"));
        metadata.getHierarchyLevels().add(ScopeCode.DATASET);
        if (services != null) {
            metadata.getHierarchyLevels().add(ScopeCode.SERVICE);
        }
        /*
         * Add the ResponsibleParty which is declared in global attributes.
         */
        ResponsibleParty contact = createResponsibleParty(
                getAttribute("creator_name"),
                getAttribute("institution"),
                getAttribute("creator_email"),
                createOnlineResource(getAttribute("creator_url"), null, null),
                Role.POINT_OF_CONTACT);
        if (contact != null) {
            metadata.getContacts().add(contact);
        }
        // etc...


So the Java code is pretty much straight-forward, the "real" work is to apply NetCDF convention, which is why I feel this code would be better served if it lived as a module of the NetCDF library.

Any interest?

    Martin

  • 2011 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the netcdf-java archives: