Package org.geotools.geometry

Examples of org.geotools.geometry.GeneralDirectPosition


        return max - min;
    }

    public DirectPosition getUpperCorner() {
        return new GeneralDirectPosition(getMaxX(), getMaxY());
    }
View Full Code Here


    public DirectPosition getUpperCorner() {
        return new GeneralDirectPosition(getMaxX(), getMaxY());
    }

    public DirectPosition getLowerCorner() {
        return new GeneralDirectPosition(getMinX(), getMinY());
    }
View Full Code Here

                    // -------------------------------
                    //   source|target pt = <coords>
                    // -------------------------------
                    if (key1.equalsIgnoreCase("pt")) {
                        if (key0.equalsIgnoreCase("source")) {
                            sourcePosition = new GeneralDirectPosition(parseVector(value));
                            return;
                        }
                        if (key0.equalsIgnoreCase("target")) {
                            targetPosition = new GeneralDirectPosition(parseVector(value));
                            if (tolerance!=null && sourcePosition!=null) {
                                update();
                                if (transform != null) {
                                    test();
                                }
View Full Code Here

            if (targetPosition != null) try {
                transformedTarget = transform.inverse().transform(targetPosition, null);
            } catch (NoninvertibleTransformException exception) {
                targetException = exception.getLocalizedMessage();
                if (sourcePosition != null) {
                    final GeneralDirectPosition p;
                    transformedTarget = p = new GeneralDirectPosition(sourcePosition.getDimension());
                    Arrays.fill(p.ordinates, Double.NaN);
                }
            }
        }
        final Locale locale = null;
View Full Code Here

    /**
     * Format the specified coordinates using the specified formatter, which should be an instance
     * of {@link CoordinateFormat}.
     */
    private static String format(final Format cf, final double longitude, final double latitude) {
        return cf.format(new GeneralDirectPosition(toDegrees(longitude), toDegrees(latitude)));
    }
View Full Code Here

                                                final DirectPosition source)
            throws TransformException
    {
        final int sourceDim = transform.getSourceDimensions();
        final int targetDim = transform.getTargetDimensions();
        DirectPosition P1 = new GeneralDirectPosition(sourceDim);
        DirectPosition P2 = new GeneralDirectPosition(sourceDim);
        for (int i=0; i<sourceDim; i++) {
            final double c = origin.getOrdinate(i);
            final double d = source.getOrdinate(i) * 0.5;
            P1.setOrdinate(i, c-d);
            P2.setOrdinate(i, c+d);
        }
        P1 = transform.transform(P1, (sourceDim==targetDim) ? P1 : null);
        P2 = transform.transform(P2, (sourceDim==targetDim) ? P2 : null);
        for (int i=0; i<targetDim; i++) {
            P2.setOrdinate(i, P2.getOrdinate(i) - P1.getOrdinate(i));
        }
        return P2;
    }
View Full Code Here

    @Test
    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

        for (int i=0; i<transforms.length; i++) {
            final int dimSource = transforms[i].getSourceDimensions();
            final int dimTarget = transforms[i].getTargetDimensions();
            if (dimSource > maxDimSource) maxDimSource = dimSource;
            if (dimTarget > maxDimTarget) maxDimTarget = dimTarget;
            sources[i] = new GeneralDirectPosition(dimSource);
            targets[i] = new GeneralDirectPosition(dimTarget);
        }
        /*
         * Test with an arbitrary number of randoms points.
         */
        for (int pass=0; pass<200; pass++) {
            for (int j=0; j<maxDimSource; j++) {
                final double ord = 100*random.nextDouble();
                for (int i=0; i<sources.length; i++) {
                    final GeneralDirectPosition source = sources[i];
                    if (j < source.ordinates.length) {
                        source.ordinates[j] = ord;
                    }
                }
            }
            for (int j=0; j<transforms.length; j++) {
                assertSame(transforms[j].transform(sources[j], targets[j]), targets[j]);
            }
            /*
             * Compare all target points.
             */
            final StringBuilder buffer = new StringBuilder(name);
            buffer.append(": Compare transform[");
            final int lengthJ = buffer.length();
            for (int j=0; j<targets.length; j++) {
                buffer.setLength(lengthJ);
                buffer.append(j).append("] with [");
                final int lengthI = buffer.length();
                final GeneralDirectPosition targetJ = targets[j];
                for (int i=j+1; i<targets.length; i++) {
                    buffer.setLength(lengthI);
                    buffer.append(i).append(']');
                    final String label = buffer.toString();
                    final GeneralDirectPosition targetI = targets[i];
                    assertTrue(targetJ.ordinates != targetI.ordinates);
                    for (int k=Math.min(targetJ.ordinates.length, targetI.ordinates.length); --k>=0;) {
                        assertEquals(label, targetJ.ordinates[k], targetI.ordinates[k], 1E-6);
                    }
                }
View Full Code Here

        double sin = Math.sin(angle);

        List <MappedPosition> vectors = new ArrayList<MappedPosition>();

        vectors.add(new MappedPosition(
                    new GeneralDirectPosition(R, 0, 0),
                    new GeneralDirectPosition(R, 0, 0)));

        vectors.add(new MappedPosition(
                    new GeneralDirectPosition(0, cos * R, -sin * R),
                    new GeneralDirectPosition(0, R, 0)));

        vectors.add(new MappedPosition(
                    new GeneralDirectPosition(0, sin * R, cos * R),
                    new GeneralDirectPosition(0, 0, R)));

        double[] points = new double[vectors.size() * 3];

        for (int i = 0; i < vectors.size(); i++) {
            points[i * 3]       = vectors.get(i).getSource().getCoordinate()[0];
View Full Code Here

        for (int i = 0; i < (3 * 10); i++) {
            double gamma = ((45 + (random.nextDouble() * 10)) * Math.PI) / 180;
            double alfa = ((45 + (random.nextDouble() * 10)) * Math.PI) / 180;

            //   generate source points
            ptSrc = new GeneralDirectPosition(R * Math.sin(gamma) * Math.cos(
                        alfa), R * Math.sin(gamma) * Math.cos(alfa),
                    R * Math.cos(gamma));

            double[] pom = new double[3];

            //  generates destination points
            gt.transform(ptSrc.getCoordinate(), 0, pom, 0, 1);
            ptDst = new GeneralDirectPosition(pom);
            vectors.add(new MappedPosition(ptSrc,ptDst));
        }

        BursaWolfTransformBuilder BWPT = new BursaWolfTransformBuilder(vectors);
        assertEquals(BWPT.getBursaWolfParameters(null).dx, bwp.dx, 1E-2);
View Full Code Here

TOP

Related Classes of org.geotools.geometry.GeneralDirectPosition

Copyright © 2018 www.massapicom. 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.