Package org.geotools.coverage.io

Source Code of org.geotools.coverage.io.TestCoverageSourceDescriptor

/*
*    GeoTools - The Open Source Java GIS Toolkit
*    http://geotools.org
*
*    (C) 2014, Open Source Geospatial Foundation (OSGeo)
*
*    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.
*/
package org.geotools.coverage.io;

import java.io.IOException;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.Set;
import java.util.SortedSet;
import java.util.logging.Level;
import java.util.logging.Logger;

import org.geotools.coverage.grid.io.DimensionDescriptor;
import org.geotools.coverage.io.CoverageSource.AdditionalDomain;
import org.geotools.coverage.io.CoverageSource.SpatialDomain;
import org.geotools.coverage.io.CoverageSource.TemporalDomain;
import org.geotools.coverage.io.util.DateRangeTreeSet;
import org.geotools.feature.NameImpl;
import org.geotools.referencing.CRS;
import org.geotools.referencing.crs.DefaultTemporalCRS;
import org.geotools.util.DateRange;
import org.opengis.feature.type.Name;
import org.opengis.geometry.BoundingBox;
import org.opengis.referencing.FactoryException;
import org.opengis.referencing.NoSuchAuthorityCodeException;
import org.opengis.referencing.crs.CoordinateReferenceSystem;
import org.opengis.referencing.crs.TemporalCRS;
import org.opengis.referencing.operation.MathTransform2D;
import org.opengis.util.ProgressListener;

public class TestCoverageSourceDescriptor extends CoverageSourceDescriptor {

    private final static Logger LOGGER = org.geotools.util.logging.Logging
            .getLogger(TestCoverageSourceDescriptor.class.toString());

    private static CoordinateReferenceSystem WGS84;
    static {
        try {
            WGS84 = CRS.decode("EPSG:4326", true);
        } catch (NoSuchAuthorityCodeException e) {
            LOGGER.log(Level.FINER, e.getMessage(), e);
        } catch (FactoryException e) {
            LOGGER.log(Level.FINER, e.getMessage(), e);
        }
    }

    static class TestSpatialDomain extends SpatialDomain {

        Set<RasterLayout> layout;

        public TestSpatialDomain() {
            layout = Collections.singleton(RasterLayoutTest.testRasterLayout);
        }

        @Override
        public Set<? extends BoundingBox> getSpatialElements(boolean overall,
                ProgressListener listener) throws IOException {
            // TODO Auto-generated method stub
            return null;
        }

        @Override
        public CoordinateReferenceSystem getCoordinateReferenceSystem2D() {
            return WGS84;
        }

        @Override
        public MathTransform2D getGridToWorldTransform(ProgressListener listener)
                throws IOException {
            // TODO Auto-generated method stub
            return null;
        }

        @Override
        public Set<? extends RasterLayout> getRasterElements(boolean overall,
                ProgressListener listener) throws IOException {
            return layout;
        }

    }

    static class TestTemporalDomain extends TemporalDomain {

        TemporalCRS temporalCrs;

        Set<DateRange> dates;

        public TestTemporalDomain(TemporalCRS temporalCrs, Set<DateRange> set) {
            this.temporalCrs = temporalCrs;
            dates = set;
        }

        @Override
        public SortedSet<? extends DateRange> getTemporalElements(boolean overall,
                ProgressListener listener) throws IOException {
            return new DateRangeTreeSet(dates);
        }

        @Override
        public CoordinateReferenceSystem getCoordinateReferenceSystem() {
            return temporalCrs;
        }

    }

    private static SpatialDomain testSpatialDomain;

    private static TemporalDomain testTemporalDomain = new TestTemporalDomain(DefaultTemporalCRS.JAVA, Collections.singleton(new DateRange(new Date(10000), new Date(20000))));

    public static final String TEST_COVERAGE = "testCoverage";

    public static final Name TEST_NAME = new NameImpl(TEST_COVERAGE);

    public TestCoverageSourceDescriptor(String name) {
        setName(name);
        setVerticalDomain(null);
        setHasVerticalDomain(false);
        setHasTemporalDomain(true);
        List<DimensionDescriptor> dimensionDescriptors = Collections.emptyList();
        setDimensionDescriptors(dimensionDescriptors);
        List<AdditionalDomain> additionalDomains = Collections.emptyList();
        setAdditionalDomains(additionalDomains);
        setHasAdditionalDomains(false);
        testSpatialDomain = new TestSpatialDomain();
        setSpatialDomain(testSpatialDomain);
        setTemporalDomain(testTemporalDomain);
    }
}
TOP

Related Classes of org.geotools.coverage.io.TestCoverageSourceDescriptor

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.