Package org.opengis.referencing.operation

Examples of org.opengis.referencing.operation.MathTransform.transform()


        final MathTransform test = factory.createParameterizedTransform(param);
        final GeneralDirectPosition position = new GeneralDirectPosition(3);
        position.setOrdinate(0, 3657660.66);
        position.setOrdinate(1255768.55);
        position.setOrdinate(2, 5201382.11);
        assertSame(position, test.transform(position, position));
        assertEquals(3657660.78, position.getOrdinate(0), 1E-2);
        assertEquals( 255778.43, position.getOrdinate(1), 1E-5);
        assertEquals(5201387.75, position.getOrdinate(2), 1E-2);
    }
View Full Code Here


        final MathTransform test = factory.createParameterizedTransform(param);
        final GeneralDirectPosition position = new GeneralDirectPosition(3);
        position.setOrdinate(0, 3657660.66);
        position.setOrdinate(1255768.55);
        position.setOrdinate(2, 5201382.11);
        assertSame(position, test.transform(position, position));
        assertEquals(3657660.78, position.getOrdinate(0), 1E-2);
        assertEquals( 255778.43, position.getOrdinate(1), 1E-5);
        assertEquals(5201387.75, position.getOrdinate(2), 1E-2);
    }
View Full Code Here

        final GeneralDirectPosition position = new GeneralDirectPosition(3);
        position.setOrdinate(0,    4.00); // Longitude
        position.setOrdinate(1,   55.00); // Latitude
        position.setOrdinate(2, -191.61); // Height

        assertSame(position, test.transform(position, position));
        assertEquals( 4.00, position.getOrdinate(0), 1E-2);
        assertEquals(55.00, position.getOrdinate(1), 1E-2);
        assertEquals( 3.23, position.getOrdinate(2), 1E-2);
    }
}
View Full Code Here

        final double[] point = new double[] { -62, 10 };
        final double[] expected = new double[] { 66644.94 * linkToMeter, 82536.22 * linkToMeter };
       
        // check forward transform
        final double[] forward = new double[2];
        transform.transform(point, 0, forward, 0, 1);
        assertEquals(expected[0], forward[0], 1e-1);
        assertEquals(expected[1], forward[1], 1e-1);
       
        // check inverse transform
        final double[] inverse = new double[2];
View Full Code Here

    public void testDirectPositionTransform() throws FactoryException, TransformException {
        CoordinateReferenceSystem crs = ReferencingFactoryFinder.getCRSFactory(null).createFromWKT(WKT.UTM_10N);
        MathTransform t = ReferencingFactoryFinder.getCoordinateOperationFactory(null).
                createOperation(DefaultGeographicCRS.WGS84, crs).getMathTransform();
        DirectPosition position = new GeneralDirectPosition(-123, 55);
        position = t.          transform(position, position);
        position = t.inverse().transform(position, position);
        assertEquals(-123, position.getOrdinate(0), 1E-6);
        assertEquals55, position.getOrdinate(1), 1E-6);
    }
View Full Code Here

                -129.992589135802,    55.9226692948365, -129.987254340541,
                  55.9249676996729, -129.982715772093,    55.9308988434656,
                -129.989772198265,    55.9289277997662, -129.992589135802, 55.9226692948365
        };
        final double[] transformedPoints = new double[points.length];
        mt.transform(points, 0, transformedPoints, 0, points.length/2);
        at.transform(points, 0, points, 0, points.length/2);
        for (int i=0; i<transformedPoints.length; i++) {
            assertEquals(points[i], transformedPoints[i], ACCURACY);
        }
    }
View Full Code Here

            final double[]    delta = new double[dimTarget];
            for (int i=0; i<numPts; i++) {
                sourcePt[i] = 100*random.nextDouble()-50;
            }
            tr1.transform(sourcePt, 0, intermPt, 0, numPts);
            tr2.transform(intermPt, 0, targetPt, 0, numPts);
            Arrays.fill(delta, 1E-6);
            /*
             * Create two set of concatenated transform: the first one computed from matrix
             * multiplication;   the second one is forced to a ConcatenatedTransform object
             * for testing purpose.
View Full Code Here

            for (int i=0; i<transforms.length; i++) {
                final MathTransform transform = transforms[i];
                assertInterfaced(transform);
                assertEquals("dimSource["+i+']', dimSource, transform.getSourceDimensions());
                assertEquals("dimTarget["+i+']', dimTarget, transform.getTargetDimensions());
                transform.transform(sourcePt, 0, compare, 0, numPts);
                String name = "transform["+i+"]("+dimSource+" -> "+dimInterm+" -> "+dimTarget+')';
                assertPointsEqual(name, targetPt, compare, delta);
            }
        }
    }
View Full Code Here

        for (int pass=0; pass<100; pass++) {
            for (int i=0; i<numPts; i++) {
                sourcePt[i] = 20*random.nextDouble()+0.1;
            }
            MathTransform ctr = getRandomTransform1D();
            ctr.transform(sourcePt, 0, targetPt,  0, numPts);
            for (int i=random.nextInt(2)+1; --i>=0;) {
                final MathTransform1D step = getRandomTransform1D();
                ctr = (MathTransform1D) factory.createConcatenatedTransform(ctr, step);
                step.transform(targetPt, 0, targetPt, 0, numPts);
            }
View Full Code Here

            for (int i=random.nextInt(2)+1; --i>=0;) {
                final MathTransform1D step = getRandomTransform1D();
                ctr = (MathTransform1D) factory.createConcatenatedTransform(ctr, step);
                step.transform(targetPt, 0, targetPt, 0, numPts);
            }
            ctr.transform(sourcePt, 0, compare,  0, numPts);
            final double EPS = Math.pow(10, -5+countNonlinear(ctr));
            for (int i=0; i<numPts; i++) {
                delta[i] = Math.max(1E-9, Math.abs(targetPt[i]*EPS));
                if (targetPt[i] >= +1E+300) targetPt[i] = Double.POSITIVE_INFINITY;
                if (targetPt[i] <= -1E+300) targetPt[i] = Double.NEGATIVE_INFINITY;
View Full Code Here

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.