sis-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Martin Desruisseaux (JIRA)" <>
Subject [jira] [Commented] (SIS-307) GSoC: Create the foundation of a module for remote sensing data
Date Wed, 02 Mar 2016 11:05:18 GMT


Martin Desruisseaux commented on SIS-307:

Hello Sandaruwan and Nguyen

Thanks for your interest. In my understanding, students can submit their proposal to Google
between March 14th and 25th. You are of course welcome to copy as much of this proposal as
you wish, but are also free to modify it according what you would like to do during the 3
months project duration. In the next few weeks before March 25th, we can discuss on this page
in order to help any student interested in this idea to prepare their proposal.

In your proposal, you may decide first if you want to distribute images through a desktop
application or a web service. If you choose web service, I would suggest to read the following
documents on

* OpenGIS Web Map Service (WMS) Implementation Specification
* Web Map Services - Application Profile for EO Products (0.3.3)

It would also be useful to get a feeling (not necessarily a deep understanding at this stage)
of the above documents from

* OGC® WCS 2.0 Interface Standard - Core, version 2.0.1
* OGC® WCS Interface Standard - Range Subsetting Extension, version 1.0.0
* OGC® WCS Interface Standard - Scaling Extension, version 1.0.0

If you choose to do a desktop application, there is no international standard for that but
I would suggest to take inspiration from the above documents. The plan is of course not to
implement fully the above specifications this summer - just to start the work with a proof
of concept working on VNSC data. We hope that this work will add to Apache SIS the improvements
that the student needs for doing this application. The Java code can take inspiration from
the Java interfaces here:

* (in particular
the {{Coverage}} interface).

Again do not be scared by the complexity of above interfaces. The intend is not to implement
all of them, only to start the work with the minimal amount of things needed for achieving
your goal.

I do not yet have the details about the VNSC data. We will try to have some sample before
the project starts. However the important thing to keep in mind is that those data are not
necessarily images with Red-Green-Blue bands. Instead of Red-Green-Blue colors, it may be
infrared, or micro-wave, _etc._

So in summary, I suggest to get familiarized with the conceptual model in the above-cited
WMS specification. Then you can write a proposal by copying as much text from this page as
you want and modify or complete it according your goals. We can review proposals and make
suggestions for those who wish. After March 25th, there will be a selection process at Google
for submitted projects.

> GSoC: Create the foundation of a module for remote sensing data
> ---------------------------------------------------------------
>                 Key: SIS-307
>                 URL:
>             Project: Spatial Information Systems
>          Issue Type: New Feature
>          Components: Storage
>            Reporter: Martin Desruisseaux
>            Assignee: Martin Desruisseaux
>              Labels: gsoc2016, mentor
>   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