You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sis.apache.org by Martin Desruisseaux <de...@apache.org> on 2014/07/09 19:54:32 UTC

Report on progress

Hello all

RĂ©mi finished today to attach the patches for the upgrade to ISO
19115:2014 (metadata) [1], [2]. I'm in process of reviewing and
integrating the patches in both Apache SIS and GeoAPI. I'm doing this
work on the branches and plan to merge to trunk only when the work will
be fully completed, since the trunk will need a special treatment. This
is because the trunk uses the GeoAPI 3.0.0 release, which will not
contain the new interfaces. The new interfaces are currently available
only on GeoAPI snapshots, and will be proposed at OGC for a release
later. For the trunk, I plan to reference directly the Apache SIS
concrete class when the GeoAPI interface is not available.

Deprecated metadata methods may need to stay there for the next 10
years, since the European Union is not planning to upgrade their
metadata schema soon. I think that USA (e.g. NOAA) may be faster.
However while deprecated metadata methods are still there, the
corresponding private fields are removed. Instead, deprecated methods
delegate their work to the new methods, which will store the information
in their new private fields.

As a side-effect of metadata work, I provided an initial implementation
of org.opengis.util.Record [3]. Those records are similar to records in
the Fortran language and are used in some metadata elements and in
coverages (rasters). A "record" is very similar to a "feature" where all
members are constrained to the [1 ... 1] cardinality. This is also known
as a "simple feature". This cause a duplication of code and concept
between "Record" and "Feature", which I'm not sure how to handle... I
would prefer to handle "Record" and a special kind of "Feature", but
problem is that ISO standards define those two structures in quite
different way and use them in different places.

    Martin


[1] https://jira.codehaus.org/browse/GEO-232
[2] https://issues.apache.org/jira/browse/SIS-94
[3] https://issues.apache.org/jira/browse/SIS-127


Re: Report on progress

Posted by Adam Estrada <es...@gmail.com>.
Excellent job, Martin! I like the idea of adding the warning message to the java docs to let developers know pieces are missing or in process.

Cheers,
Adam

> On Jul 15, 2014, at 6:23 PM, Martin Desruisseaux <de...@apache.org> wrote:
> 
> Hello all
> 
> I finished to integrate all patches for upgrading ISO 19115-1:2003 to
> 2014. The remaining work is:
> 
>  * *Short term:*
>      o Make a last review on all org.apache.sis.metadata.iso classes
>        (we missed some updates).
>      o Add some more tests.
>      o Update package documentation.
>      o Merge to trunk (see below).
>  * *Medium term:*
>      o Update GeoAPI specification.
>      o Submit updated GeoAPI interfaces and specification to OGC.
>  * *Long term:*
>      o When ISO 19115-3 will be out, update JAXB annotations for the
>        new XML schema.
> 
> 
> Since ISO standards are updated once every 10 years (approximatively),
> we will hopefully be okay with org.apache.sis.metadata.iso until 2025.
> 
> The merge with the trunk will be a bit tricky, because Apache SIS trunk
> implements GeoAPI 3.0.0 interfaces rather than the development branch,
> and GeoAPI 3.0.0 does not include the new ISO 19115-1:2014 interfaces.
> What I'm considering to do is to reference the Apache SIS class directly
> when there is no GeoAPI 3.0.0 interface, and put a warning in the
> javadoc. For example in implementation of CoverageDescription:
> 
>    /**
>     * Information on attribute groups of the resource.
>     *
>     * WARNING: This methods returns instances of Apache SIS implementation class DefaultAttributeGroup
>     * because there is no AttributeGroup interface in GeoAPI 3.0. The return type may be changed to
>     * Collection<AttributeGroup> in a future Apache SIS release after next OGC release of GeoAPI.
>     */
>    Collection<DefaultAttributeGroup> getAttributeGroups() {
>        return ...;
>    }
> 
> 
> Any though?
> 
>    Martin
> 

Re: Report on progress

Posted by Martin Desruisseaux <de...@apache.org>.
Hello all

I finished to integrate all patches for upgrading ISO 19115-1:2003 to
2014. The remaining work is:

  * *Short term:*
      o Make a last review on all org.apache.sis.metadata.iso classes
        (we missed some updates).
      o Add some more tests.
      o Update package documentation.
      o Merge to trunk (see below).
  * *Medium term:*
      o Update GeoAPI specification.
      o Submit updated GeoAPI interfaces and specification to OGC.
  * *Long term:*
      o When ISO 19115-3 will be out, update JAXB annotations for the
        new XML schema.


Since ISO standards are updated once every 10 years (approximatively),
we will hopefully be okay with org.apache.sis.metadata.iso until 2025.

The merge with the trunk will be a bit tricky, because Apache SIS trunk
implements GeoAPI 3.0.0 interfaces rather than the development branch,
and GeoAPI 3.0.0 does not include the new ISO 19115-1:2014 interfaces.
What I'm considering to do is to reference the Apache SIS class directly
when there is no GeoAPI 3.0.0 interface, and put a warning in the
javadoc. For example in implementation of CoverageDescription:

    /**
     * Information on attribute groups of the resource.
     *
     * WARNING: This methods returns instances of Apache SIS implementation class DefaultAttributeGroup
     * because there is no AttributeGroup interface in GeoAPI 3.0. The return type may be changed to
     * Collection<AttributeGroup> in a future Apache SIS release after next OGC release of GeoAPI.
     */
    Collection<DefaultAttributeGroup> getAttributeGroups() {
        return ...;
    }


Any though?

    Martin