Package org.vfny.geoserver.crs

Source Code of org.vfny.geoserver.crs.OverrideCRSTest

/* (c) 2014 Open Source Geospatial Foundation - all rights reserved
* (c) 2001 - 2013 OpenPlans
* This code is licensed under the GPL 2.0 license, available at the root
* application directory.
*/
package org.vfny.geoserver.crs;

import static org.junit.Assert.*;

import java.io.File;

import org.geoserver.data.test.SystemTestData;
import org.geoserver.test.GeoServerSystemTestSupport;
import org.geoserver.test.SystemTest;
import org.geotools.referencing.CRS;
import org.geotools.referencing.datum.BursaWolfParameters;
import org.geotools.referencing.datum.DefaultGeodeticDatum;
import org.junit.Test;
import org.junit.experimental.categories.Category;
import org.opengis.referencing.crs.CoordinateReferenceSystem;
import org.opengis.referencing.crs.ProjectedCRS;

@Category(SystemTest.class)
public class OverrideCRSTest extends GeoServerSystemTestSupport {

    @Override
    protected void setUpTestData(SystemTestData testData) throws Exception {
        new File(testData.getDataDirectoryRoot(), "user_projections").mkdir();
        testData.copyTo(OverrideCRSTest.class.getResourceAsStream("test_override_epsg.properties"),
            "user_projections/epsg_overrides.properties");

        CRS.reset("all");
    }

    @Test
    public void testOverride() throws Exception {
        CoordinateReferenceSystem epsg3003 = CRS.decode("EPSG:3003");
        DefaultGeodeticDatum datum3003 = (DefaultGeodeticDatum) (((ProjectedCRSepsg3003).getDatum());
        BursaWolfParameters[] bwParamArray3003 = datum3003.getBursaWolfParameters();
        assertEquals(1, bwParamArray3003.length);
        BursaWolfParameters bw3003 = bwParamArray3003[0];
        double tol = 1E-7;
        assertEquals(-104.1, bw3003.dx, tol);
        assertEquals(-49.1, bw3003.dy, tol);
        assertEquals(-9.9, bw3003.dz, tol);
        assertEquals(0.971, bw3003.ex, tol);
        assertEquals(-2.917, bw3003.ey, tol);
        assertEquals(0.714, bw3003.ez, tol);
        assertEquals(-11.68, bw3003.ppm, tol);
       
        // without an override they should be the same as 3002
        CoordinateReferenceSystem epsg3002 = CRS.decode("EPSG:3002");
        DefaultGeodeticDatum datum3002 = (DefaultGeodeticDatum) (((ProjectedCRSepsg3002).getDatum());
        BursaWolfParameters[] bwParamArray3002 = datum3002.getBursaWolfParameters();
        assertEquals(1, bwParamArray3002.length);
        BursaWolfParameters bw3002 = bwParamArray3002[0];
        assertFalse(bw3002.equals(bw3003));
    }
}
TOP

Related Classes of org.vfny.geoserver.crs.OverrideCRSTest

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.