Cleaning up dependencies between various modules and coverage - STEMLab/geotools GitHub Wiki

This page represents the current plan; for discussion please check the tracker link above.

Description

This proposal is all about moving some code into a more appropriate module:

  • coverage implementations in main move to coverage module
  • mapcontext implementations in main go to rendering module
  • move all the ImageIO plugins and GC plugins to its own directories
  • old GridCoverageExchange implementations go to the recycle bin
  • renderer is using a lot of classes that atually act as adapters between JTS gemetries and Java2D Shapes, my goal is to move this classes n module main in order to allow people to leverage on them.

I am planning on achieving these goals in two steps. First I want to finish the first four tasks which would just clean up and reorganize a bit code between core modules. Once this step pis done and reviewed, I would like to move all the JTS-to_Shape adapters to main in order to be able to leverage on them from other modules (like for doing Region of Interestes in Coverages).

This change is similar to the recent requests to break out data and jdbc modules from main; this time however an appropriate location is already available.

Status

This proposal has been submitted, simboss is working on it. Here below you can find a tasks list that can be used to track the advancement of this work.

        | :white_check_mark: | :no_entry: | :warning:               | :negative_squared_cross_mark: |

------------|--------------------|------------|-------------------------|-------------------------------| no progress | done | impeded | lack mandate/funds/time | volunteer needed |

A target release is also provided for each milestone.

Milestone 1 2.4-M0 Move to Coverage Module
Simone Giannecchini Identify candidate coverage & test cases
⚠️ consult with module maintainer
               |          | svn mv
               |          | test and release
               |          | update documentation
Milestone 2 2.4-M0 Move to Render Module
Simone Giannecchini Identify candidate coverage & test cases
⚠️ Simone Giannecchini consult with module maintainer
               |          | svn mv
               |          | test and release
               |          | update documentation

API Changes

Before After
org.geotools.data.coverage.grid.* org.geotools.coverage.grid.io.*
org.geotools.data.coverage.grid.file, org.geotools.data.coverage.grid.stream dismissed
org.geotools.coverage.io.AbstractGridCoverageReader.java, org.geotools.coverage.io.AmbiguousMetadataException.java, org.geotools.coverage.io.ExoreferencedGridCoverageReader.java, org.geotools.coverage.io.MetadataBuilder.java, org.geotools.coverage.io.MetadataException.java, org.geotools.coverage.io.MissingMetadataException.java Moved under spike/exoreferenced waiting for Martin to review
org.geotools.image.io.RawBinaryImageReader, org.geotools.image.io.RawBinaryImageReadParam dismissed
org.geotools.resources.image.CoverageUtilities org.geotools.resources.coverage.CoverageUtilities
org.geotools.image.imageio.* org.geotools.coverage.grid.io.imageio.*
org.geotools.image.io.SimpleImageReader subclasses Moved to spike/simpleimagereader waiting for Martin to review
org.geotools.map.* Moved to renderer
org.geotools.data.DataUtilities\#wrapGc(GridCoverage gridCoverage),org.geotools.data.DataUtilities\#wrapGcReader(AbstractGridCoverage2DReader gridCoverageReader, GeneralParameterValue[] params) Moved to org.geotools.resources.coverage.CoverageUtilities
ext/coverage\_development/imageio/* Move to spike/imageio/*

Documentation Changes

Website:

  • upgrade instructions

Developers Guide:

  • Update description of layered architecture

User Guide:

  • check

User Manual:

  • check

Issue Tracker:

  • Check for bugs against "main" that can now change to the "coverage" or "renderer" component.
⚠️ **GitHub.com Fallback** ⚠️