[
https://issues.apache.org/jira/browse/SIS-447?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Martin Desruisseaux closed SIS-447.
-----------------------------------
> BandedCoverage as a parent of GridCoverage
> ------------------------------------------
>
> Key: SIS-447
> URL: https://issues.apache.org/jira/browse/SIS-447
> Project: Spatial Information Systems
> Issue Type: New Feature
> Components: Features
> Affects Versions: 1.0
> Reporter: Martin Desruisseaux
> Assignee: Martin Desruisseaux
> Priority: Minor
> Fix For: 1.1
>
>
> The base type of all coverage (including raster) data is {{Coverage}}, which
> is defined by ISO 19123. A {{Coverage}} is not necessarily a grid (raster).
> It is rather a collection of "geometry - record" pairs where the geometries
> are pixels in the particular case of rasters. ISO 19123 defines many
> {{Coverage}} subtypes: {{DiscreteCoverage}}, {{ContinuousCoverage}}, _etc._.
> The types which seem closest to a raster are
> {{ContinuousQuadrilateralGridCoverage}} and {{DiscreteGridPointCoverage}}.
> However even those types are more complex than the majority of the needs to
> be handled by Apache SIS. For now SIS defines only one class,
> {{GridCoverage}}, which is simpler (at the cost of being less powerful) than
> ISO 19123 classes. We tried to define {{GridCoverage}} in a way that should
> not conflict with future ISO 19123 compliant development.
> A key simplification done in SIS {{GridCoverage}} compared to ISO 19123
> {{Coverage}} is that, in addition of assuming that values are distributed on
> a grid, it also assumes that all values are stored as numbers. Those numbers
> may be associated to categories (e.g. _1 = clouds_), but they still numbers.
> By contrast ISO 19123 allows the storage of more complex structures:
> {{Record}} where each record may contain other records. An ISO 19123
> {{Record}} may be seen as a simple {{Feature}}, i.e. a feature where the
> multiplicity of all attributes is constrained to [1…1].
> In the same way than ISO 19123 allows various coverage types (not necessarily
> gridded) and defines subclasses for the particular case of coverage using a
> grid, we may want a more general class in Apache SIS for any coverage storing
> data as numbers (as a simplification of the more general {{Record}} type).
> The methods could be:
> {code:java}
> public abstract class NumericCoverage {
> public abstract CoordinateReferenceSystem getCoordinateReferenceSystem();
> public abstract List<SampleDimension> getSampleDimensions();
> }
> {code}
> {{GridCoverage}} would extend that class and add a {{getGridGeometry()}}
> method. The main difference between this proposed {{NumericCoverage}}
> compared to ISO 19123 {{Coverage}} is the {{getSampleDimensions()}} method,
> which can be seen as a specialization of the following method:
> {code:java}
> public interface Coverage {
> RecordType getRangeType();
> }
> {code}
> The class name is difficult to chose. Current proposal is
> {{NumericCoverage}}. We found usage of that term on a web page about
> [Atmospheric Dispersion
> Index|http://cwfis.cfs.nrcan.gc.ca/background/summary/adi]: _"The coverage
> descriptions, which indicate few, scattered, broken, or overcast, are
> translated into numeric coverage classes."_ — while I'm not sure it describes
> the same thing. We searched also {{NumericalCoverage}} but found less
> relevant usages.
> This {{NumericCoverage}} class would be a complement of ISO 19123 classes. It
> should not prevent us to implement more fully ISO 19123 in the future. The
> "Numeric" part in {{NumericCoverage}} describes a characteristic of the
> _range_ (ISO 19123 coverages have two parts: _domain_ and _range_), in the
> same way than the "Discrete" and "Continuous" parts in ISO 19123
> {{DiscreteCoverage}} and {{ContinuousCoverage}} also refer to the range.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)