001    /*
002     *    GeoAPI - Java interfaces for OGC/ISO standards
003     *    http://www.geoapi.org
004     *
005     *    Copyright (C) 2004-2012 Open Geospatial Consortium, Inc.
006     *    All Rights Reserved. http://www.opengeospatial.org/ogc/legal
007     *
008     *    Permission to use, copy, and modify this software and its documentation, with
009     *    or without modification, for any purpose and without fee or royalty is hereby
010     *    granted, provided that you include the following on ALL copies of the software
011     *    and documentation or portions thereof, including modifications, that you make:
012     *
013     *    1. The full text of this NOTICE in a location viewable to users of the
014     *       redistributed or derivative work.
015     *    2. Notice of any changes or modifications to the OGC files, including the
016     *       date changes were made.
017     *
018     *    THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE
019     *    NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
020     *    TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT
021     *    THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY
022     *    PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
023     *
024     *    COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR
025     *    CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION.
026     *
027     *    The name and trademarks of copyright holders may NOT be used in advertising or
028     *    publicity pertaining to the software without specific, written prior permission.
029     *    Title to copyright in this software and any associated documentation will at all
030     *    times remain with copyright holders.
031     */
032    package org.opengis.coverage.grid;
033    
034    import org.opengis.annotation.UML;
035    import org.opengis.annotation.Extension;
036    
037    import static org.opengis.annotation.Obligation.*;
038    import static org.opengis.annotation.Specification.*;
039    
040    
041    /**
042     * Specifies the range of valid coordinates for each dimension of the coverage.
043     * For example this data type is used to access a block of grid coverage data values.
044     *
045     * <P>&nbsp;</P>
046     * <TABLE WIDTH="80%" ALIGN="center" CELLPADDING="18" BORDER="4" BGCOLOR="#FFE0B0">
047     *   <TR><TD>
048     *     <P align="justify"><STRONG>WARNING: THIS CLASS WILL CHANGE.</STRONG> Current API is derived from OGC
049     *     <A HREF="http://www.opengis.org/docs/01-004.pdf">Grid Coverages Implementation specification 1.0</A>.
050     *     We plan to replace it by new interfaces derived from ISO 19123 (<CITE>Schema for coverage geometry
051     *     and functions</CITE>). Current interfaces should be considered as legacy and are included in this
052     *     distribution only because they were part of GeoAPI 1.0 release. We will try to preserve as much
053     *     compatibility as possible, but no migration plan has been determined yet.</P>
054     *   </TD></TR>
055     * </TABLE>
056     *
057     * @version <A HREF="http://www.opengis.org/docs/01-004.pdf">Grid Coverage specification 1.0</A>
058     * @author  Martin Desruisseaux (IRD)
059     * @since   GeoAPI 1.0
060     *
061     * @deprecated Replaced by {@link GridEnvelope}.
062     */
063    @Deprecated
064    @UML(identifier="CV_GridRange", specification=OGC_01004)
065    public interface GridRange extends GridEnvelope {
066        /**
067         * Returns the valid minimum inclusive grid coordinate.
068         * The sequence contains a minimum value for each dimension of the grid coverage.
069         *
070         * @since GeoAPI 2.1
071         *
072         * @deprecated Renamed as {@link #getLow()}.
073         */
074        @Deprecated
075        @UML(identifier="lo", obligation=MANDATORY, specification=OGC_01004)
076        GridCoordinates getLower();
077    
078        /**
079         * Returns the valid maximum exclusive grid coordinate.
080         * The sequence contains a maximum value for each dimension of the grid coverage.
081         *
082         * @since GeoAPI 2.1
083         *
084         * @deprecated Replaced as {@link #getHigh()} with 1 added to all ordinate values.
085         */
086        @Deprecated
087        @UML(identifier="hi", obligation=MANDATORY, specification=OGC_01004)
088        GridCoordinates getUpper();
089    
090        /**
091         * Returns the valid minimum inclusive grid
092         * coordinate along the specified dimension.
093         *
094         * @deprecated Renamed as {@link #getLow(int)}.
095         */
096        @Extension
097        @Deprecated
098        int getLower(int dimension);
099    
100        /**
101         * Returns the valid maximum exclusive grid
102         * coordinate along the specified dimension.
103         *
104         * @deprecated Renamed as {@link #getHigh(int)} <strong>+ 1</strong>.
105         */
106        @Extension
107        @Deprecated
108        int getUpper(int dimension);
109    
110        /**
111         * Returns the number of integer grid coordinates along the specified dimension.
112         * This is equals to {@code getUpper(dimension)-getLower(dimension)}.
113         *
114         * @deprecated Renamed as {@link #getSpan(int)}.
115         */
116        @Extension
117        @Deprecated
118        int getLength(int dimension);
119    }