/** * Constructs the provider. */ public GeocentricTranslation3D() { this(3, 3, new GeocentricAffineBetweenGeographic[4]); redimensioned[0] = new GeocentricTranslation2D( redimensioned); redimensioned[1] = new GeocentricTranslation3D(2, 3, redimensioned); redimensioned[2] = new GeocentricTranslation3D(3, 2, redimensioned); redimensioned[3] = this; }
/** * Constructs a provider with default parameters. */ public GeographicOffsets() { super(3, 3, PARAMETERS, new GeographicOffsets[4]); redimensioned[0] = new GeographicOffsets2D(redimensioned); redimensioned[1] = new GeographicOffsets(2, 3, PARAMETERS, redimensioned); redimensioned[2] = new GeographicOffsets(3, 2, PARAMETERS, redimensioned); redimensioned[3] = this; }
/** * Constructs the provider. */ public CoordinateFrameRotation3D() { this(3, 3, new GeocentricAffineBetweenGeographic[4]); redimensioned[0] = new CoordinateFrameRotation2D( redimensioned); redimensioned[1] = new CoordinateFrameRotation3D(2, 3, redimensioned); redimensioned[2] = new CoordinateFrameRotation3D(3, 2, redimensioned); redimensioned[3] = this; }
/** * Returns the parameter descriptors for this math transform. */ @Override public ParameterDescriptorGroup getParameterDescriptors() { return Affine.getProvider(2, 2, true).getParameters(); }
/** * Constructs the provider. */ public PositionVector7Param3D() { this(3, 3, new GeocentricAffineBetweenGeographic[4]); redimensioned[0] = new PositionVector7Param2D( redimensioned); redimensioned[1] = new PositionVector7Param3D(2, 3, redimensioned); redimensioned[2] = new PositionVector7Param3D(3, 2, redimensioned); redimensioned[3] = this; }
/** Indicates whether the given geographic area intersects the regions that need to be handled in a special way. */ @Override public boolean isSpecialCase(final double φmin, final double φmax, final double λmin, final double λmax) { if (φmax >= NORWAY_BOUNDS && φmin < NORTH_BOUNDS) { return super.zone(0, λmax) >= 31 && super.zone(0, λmin) <= 37; } return false; } },
/** * Constructs a provider with default parameters. */ public Geographic3Dto2D() { this(new GeodeticOperation[4]); redimensioned[0] = new GeographicRedimension(2, redimensioned); redimensioned[1] = new Geographic2Dto3D(redimensioned); redimensioned[2] = this; redimensioned[3] = new GeographicRedimension(3, redimensioned); }
/** * Returns the same operation method, but for different dimensions. * * @param sourceDimensions the desired number of input dimensions. * @param targetDimensions the desired number of output dimensions. * @return the redimensioned operation method, or {@code this} if no change is needed. */ @Override public OperationMethod redimension(final int sourceDimensions, final int targetDimensions) { return getProvider(sourceDimensions, targetDimensions, false); }
/** Indicates whether the given zone needs to be handled in a special way for the given latitude. */ @Override public boolean isSpecialCase(final int zone, final double φ) { if (zone >= 31 && zone <= 37) { return isSvalbard(φ) || (zone <= 32 && isNorway(φ)); } return false; }
/** * Constructs a provider. */ public FranceGeocentricInterpolation() { this(2, 2, PARAMETERS, new FranceGeocentricInterpolation[4]); redimensioned[0] = this; redimensioned[1] = new FranceGeocentricInterpolation(2, 3, PARAMETERS, redimensioned); redimensioned[2] = new FranceGeocentricInterpolation(3, 2, PARAMETERS, redimensioned); redimensioned[3] = new FranceGeocentricInterpolation(3, 3, PARAMETERS, redimensioned); }
/** * Creates the transformation from WGS 72 to WGS 84. */ private void createTransform(final GeocentricAffine method) throws FactoryException { transform = PositionVector7ParamTest.createTransform(method, -1); validate(); }
/** * Returns a new grid with the same geometry than this grid but different data arrays. */ @Override protected final DatumShiftGridFile<C,T> setData(final Object[] other) { return new DatumShiftGridCompressed<>(this, averages, (short[][]) other, scale); }
/** * Returns {@code true} if the given method flags itself as invertible. */ private static boolean isInvertible(final OperationMethod method) { return method instanceof AbstractProvider && ((AbstractProvider) method).isInvertible(); }
/** * Constructs a three-dimensional map projection for the given two-dimensional projection. */ MapProjection3D(final MapProjection proj) { super(3, 3, proj.getParameters()); redimensioned = proj; }
/** * Constructs the provider. */ public GeocentricTranslation3D() { this(3, 3, new GeocentricAffineBetweenGeographic[4]); redimensioned[0] = new GeocentricTranslation2D( redimensioned); redimensioned[1] = new GeocentricTranslation3D(2, 3, redimensioned); redimensioned[2] = new GeocentricTranslation3D(3, 2, redimensioned); redimensioned[3] = this; }
/** * Constructs a provider with default parameters. */ public GeographicOffsets() { super(3, 3, PARAMETERS, new GeographicOffsets[4]); redimensioned[0] = new GeographicOffsets2D(redimensioned); redimensioned[1] = new GeographicOffsets(2, 3, PARAMETERS, redimensioned); redimensioned[2] = new GeographicOffsets(3, 2, PARAMETERS, redimensioned); redimensioned[3] = this; }
/** * Returns the parameter descriptors for this math transform. */ @Override public ParameterDescriptorGroup getParameterDescriptors() { return Affine.getProvider(1, 1, true).getParameters(); }
/** * Constructs the provider. */ public CoordinateFrameRotation3D() { this(3, 3, new GeocentricAffineBetweenGeographic[4]); redimensioned[0] = new CoordinateFrameRotation2D( redimensioned); redimensioned[1] = new CoordinateFrameRotation3D(2, 3, redimensioned); redimensioned[2] = new CoordinateFrameRotation3D(3, 2, redimensioned); redimensioned[3] = this; }
/** * Constructs the provider. */ public PositionVector7Param3D() { this(3, 3, new GeocentricAffineBetweenGeographic[4]); redimensioned[0] = new PositionVector7Param2D( redimensioned); redimensioned[1] = new PositionVector7Param3D(2, 3, redimensioned); redimensioned[2] = new PositionVector7Param3D(3, 2, redimensioned); redimensioned[3] = this; }
/** * Constructs a provider with default parameters. */ public Geographic3Dto2D() { this(new GeodeticOperation[4]); redimensioned[0] = new GeographicRedimension(2, redimensioned); redimensioned[1] = new Geographic2Dto3D(redimensioned); redimensioned[2] = this; redimensioned[3] = new GeographicRedimension(3, redimensioned); }