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

Hi Martin:

Sorry, this got lost in the cracks. We would be interested in incorporating this. The main issue is handling the GeoAPI dependencies, which we are ready to try to solve. Is this ready to try incorporating? We would do it for 4.3.

John

On 10/6/2011 9:49 AM, Martin Desruisseaux wrote:
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


_______________________________________________
netcdf-java mailing list
netcdf-java@xxxxxxxxxxxxxxxx
For list information or to unsubscribe, visit: 
http://www.unidata.ucar.edu/mailing_lists/

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