/* * Geotoolkit.org - An Open Source Java GIS Toolkit * http://www.geotoolkit.org * * (C) 2001-2012, Open Source Geospatial Foundation (OSGeo) * (C) 2009-2012, Geomatys * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. */ /** * {@linkplain org.geotoolkit.coverage.grid.GridCoverage2D} implementation. An explanation for this * package is provided in the {@linkplain org.opengis.coverage.grid OpenGIS® javadoc}. * The remaining discussion on this page is specific to the Geotk implementation. * <p> * The main class in this package is {@link org.geotoolkit.coverage.grid.GridCoverage2D}, * which is a two-dimensional slice in a <var>n</var>-dimensional cube of data. Despite * its name, {@code GridCoverage2D} instances can be associated to <var>n</var>-dimensional * {@linkplain org.opengis.geometry.Envelope envelopes} providing that only two dimensions * have a {@link org.opengis.coverage.grid.GridEnvelope#getSpan(int) grid span} greater than 1. * <p> * The {@code GridCoverage2D} constructor is rather tedious. The * {@link org.geotoolkit.coverage.grid.GridCoverageBuilder} convenience class provides * more convenient ways to create a grid coverage. * * {@section Accurate definition of georeferencing information} * While it is possible to create a grid coverage from a geodetic * {@linkplain org.opengis.geometry.Envelope envelope}, this approach should be used * <strong>in last resort</strong> only. Instead, always specify the <cite>grid to CRS</cite> * affine transform. This is preferable because envelopes have ambiguities (do we need to swap * the longitude and latitude axes? Do we need to flip the <var>y</var> axis?) which Geotk tries * to resolve using heuristic rules implemented in * {@link org.geotoolkit.referencing.operation.builder.GridToEnvelopeMapper}. Those rules are * somewhat arbitrary and are not guaranteed to produce the expected result. On the other hand, * the <cite>grid to CRS</cite> affine transform is fully determinist. * * @author Martin Desruisseaux (IRD, Geomatys) * @version 3.20 * * @since 2.1 * @module */ package org.geotoolkit.coverage.grid;