sis-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Martin Desruisseaux (JIRA)" <>
Subject [jira] [Resolved] (SIS-307) GSoC: Create the foundation of a module for remote sensing data
Date Mon, 03 Jun 2019 09:28:00 GMT


Martin Desruisseaux resolved SIS-307.
       Resolution: Fixed
    Fix Version/s: 1.0

We now have this foundation with the introduction of {{GridCoverage}}, {{GridGeometry}}, {{SampleDimension}}
and related classes in SIS 1.0.

> GSoC: Create the foundation of a module for remote sensing data
> ---------------------------------------------------------------
>                 Key: SIS-307
>                 URL:
>             Project: Spatial Information Systems
>          Issue Type: New Feature
>          Components: Features, Storage
>            Reporter: Martin Desruisseaux
>            Assignee: Martin Desruisseaux
>            Priority: Major
>              Labels: gsoc2016, mentor
>             Fix For: 1.0
>   Original Estimate: 3,024h
>  Remaining Estimate: 3,024h
> This is a proposal for a [Google Summer of Code|]
(GSoC) project. The Apache SIS library needs a module for efficient handling of large _n_-dimensional
remote sensing data. The module shall:
> * Provide a common approach to the reading and writing of grid coverages applicable to
simple imagery as to multi-dimensional data structures.
> * Allow operations that preserve the scientific meaning of data (e.g. distinguish between
measurements and missing values, why the value is missing, estimation of accuracy).
> * Be compliant with international standards, in particular (but not only) _Schema for
coverage geometry and functions_ (ISO 19123) and _Web Coverage Services_ (WCS). The module
should provide extensions to those standards only for aspects that are not covered by an existing
> This module will be a redesign of coverage module that existed in previous projects.
In particular, the coverage module of the [Geotk|] project will be
used as a starting point. However an important focus of this project is to fix known limitations
of previous projects, for example:
> * Too strong reliance on {{javax.imageio}} API, which was designed for two-dimensional
images. That API is difficult to generalize to three- or four-dimensional data accesses.
> * Too strong reliance on {{javax.imageio.metadata}} API, which is basically a XML document.
Ordinary Java objects are more convenient to use and the ISO 19115 international standard
can be a good model for those objects.
> * Too strong restriction on the grid geometry (in previous projects, the conversion from
pixel coordinates to "real world" coordinates is restricted to an affine transform).
> * Only quadrilateral grid coverages were supported.
> The development language is Java. Operating system can be Linux, Windows or MacOS. The
build tool is Maven. If a web application is created (see next section), the container would
be Tomcat.
> h2. Proof of concept
> In order to ensure that the module is on the right track, a small application (either
a desktop application for browsing images or a simple web application conforms to the WCS
standard) will be created. This simple application will be created in collaboration with volunteers
of space agency in Vietnam, [Vietnam National Satellite Center|] (VNSC),
for managing its geospatial database. The application should be able to:
> * Read at least two image formats of that space agency (the API shall allow addition
of more formats in the future).
> * Allow diffusion of those data in time range, sub-area, sub-sampling and layers selected
by the user.
> * Allow searches in some metadata fields (to be selected according the needs of the space
> h2. Non-goals
> This GSoC project is not expected to create a fully functional coverage module in 3 months.
Performance is not a concern for this initial stage (in particular, building index or storing
information in a database is out of scope), except that the application shall not load all
data in memory: the application should prove that it can work with only a small fraction of
the data in memory and load the remaining parts when needed. For the prototype application,
those data will be read from a specified directory (a more advanced application could a database
or cloud).

This message was sent by Atlassian JIRA

View raw message