private static MathTransform getMathTransform(MapTransform mapTransform) throws FactoryException { if (mapTransform.getDescriptor() instanceof AffineTransformDescriptor) { return new AffineTransform2D(new AffineTransform(mapTransform.getParameterValues())); } if (mapTransform instanceof AlbersEqualAreaConicDescriptor.AEAC) { return createAlbersConicEqualAreaMathTransform((AlbersEqualAreaConicDescriptor.AEAC) mapTransform); } if (mapTransform instanceof LambertConformalConicDescriptor.LCCT) { return createLambertConformalConicMathTransform((LambertConformalConicDescriptor.LCCT) mapTransform); } if (mapTransform instanceof StereographicDescriptor.ST) { return createStereographicMathTransform((StereographicDescriptor.ST) mapTransform); } if (mapTransform instanceof TransverseMercatorDescriptor.TMT) { return createTransverseMercatorMathTransform((TransverseMercatorDescriptor.TMT) mapTransform); } return null; }
final double[] parameterValues = mi.getMapProjection().getMapTransform().getParameterValues(); for (int i = 0; i < parameters.length; i++) { final Parameter parameter = parameters[i];
final double[] parameterValues = mapTransform.getParameterValues(); final String transformName = mapTransform.getDescriptor().getName(); out.print(_enviProjectionInfo);
public MapTransform createTransform() { Debug.trace("DefaultMapTransformUI.createTransform"); traceParameterValues(); final MapTransform transform = _transform.getDescriptor().createTransform(getParameterValues()); final double[] parameterValues = transform.getParameterValues(); for (int i = 0; i < parameterValues.length; i++) { Debug.trace(" MapTransform.parameterValues[" + i + "] = " + parameterValues[i]); } return transform; }
public DefaultMapTransformUI(MapTransform transform) { Guardian.assertNotNull("transform", transform); Debug.trace("DefaultMapTransformUI.init"); _transform = transform; _parameters = cloneParameterArray(transform.getDescriptor().getParameters()); setParameterValues(transform.getParameterValues()); traceParameterValues(); }
/** * Alters the underlying map transformation by changing the values of the transform parameters named * "semi_major" and "semi_minor" (if any) to the ones of the supplied ellipsoid. * * @param ellipsoid the ellipsoid */ public void alterMapTransform(Ellipsoid ellipsoid) { final MapTransform oldTransform = getMapTransform(); final Parameter[] parameters = oldTransform.getDescriptor().getParameters(); final double[] parameterValues = oldTransform.getParameterValues(); boolean altered = false; for (int i = 0; i < parameters.length; i++) { if ("semi_minor".equals(parameters[i].getName())) { parameterValues[i] = ellipsoid.getSemiMinor(); altered = true; } else if ("semi_major".equals(parameters[i].getName())) { parameterValues[i] = ellipsoid.getSemiMajor(); altered = true; } } if (altered) { final MapTransform newTransform = oldTransform.getDescriptor().createTransform(parameterValues); setMapTransform(newTransform); } }
public void testX() { final TransverseMercatorDescriptor tmd = new TransverseMercatorDescriptor(); final MapProjection mp = new MapProjection("bibo", tmd.createTransform(null), "meter"); assertEquals(Ellipsoid.WGS_84.getSemiMajor(), mp.getMapTransform().getParameterValues()[0], 1e-5); assertEquals(Ellipsoid.WGS_84.getSemiMinor(), mp.getMapTransform().getParameterValues()[1], 1e-5); mp.alterMapTransform(Ellipsoid.BESSEL); assertEquals(Ellipsoid.BESSEL.getSemiMajor(), mp.getMapTransform().getParameterValues()[0], 1e-5); assertEquals(Ellipsoid.BESSEL.getSemiMinor(), mp.getMapTransform().getParameterValues()[1], 1e-5); }
@Override public boolean equals(Object obj) { if (obj == this) { return true; } if (obj == null) { return false; } if (obj instanceof MapProjection) { MapProjection other = (MapProjection) obj; return ObjectUtils.equalObjects(other.getName(), getName()) && ObjectUtils.equalObjects(other.getMapUnit(), getMapUnit()) && ObjectUtils.equalObjects(other.getMapTransform().getDescriptor(), getMapTransform().getDescriptor()) && ObjectUtils.equalObjects(other.getMapTransform().getParameterValues(), getMapTransform().getParameterValues()); } return false; } }
private void writeMapGeoCoding(MapGeoCoding mgc, String nodeType) { final MapInfo mi = mgc.getMapInfo(); addEmptyRow(); addRow("The " + nodeType + " uses a map-projection based geo-coding."); addEmptyRow(); addRow("Projection", mi.getMapProjection().getName()); addRow("Projection parameters"); final Parameter[] parameters = mi.getMapProjection().getMapTransform().getDescriptor().getParameters(); final double[] parameterValues = mi.getMapProjection().getMapTransform().getParameterValues(); for (int i = 0; i < parameters.length; i++) { addRow(parameters[i].getName(), String.valueOf(parameterValues[i]) + " " + parameters[i].getProperties().getPhysicalUnit()); } addEmptyRow(); addRow("Map CRS Name", mgc.getMapCRS().getName().toString()); addRow("Map CRS WKT"); addRow(mgc.getMapCRS().toWKT()); addEmptyRow(); addRow("Output parameters"); addRow("Datum", mi.getDatum().getName()); addRow("Reference pixel X", String.valueOf(mi.getPixelX())); addRow("Reference pixel Y", String.valueOf(mi.getPixelY())); addRow("Orientation", String.valueOf(mi.getOrientation()) + " degree"); String mapUnit = mi.getMapProjection().getMapUnit(); addRow("Northing", String.valueOf(mi.getNorthing()) + " " + mapUnit); addRow("Easting", String.valueOf(mi.getEasting()) + " " + mapUnit); addRow("Pixel size X", String.valueOf(mi.getPixelSizeX()) + " " + mapUnit); addRow("Pixel size Y", String.valueOf(mi.getPixelSizeY()) + " " + mapUnit); }
final Ellipsoid ellipsoid = datum.getEllipsoid(); final MapTransform mapTransform = projection.getMapTransform(); final double[] parameterValues = mapTransform.getParameterValues(); final MapTransformDescriptor descriptor = mapTransform.getDescriptor(); final String datumName = datum.getName();
assertEquals(expTransform.getClass(), actualTransform.getClass()); final double[] actualValues = actualTransform.getParameterValues(); assertEquals(true, Arrays.equals(expTransform.getParameterValues(), actualValues));
createScalarAttribute(paramsID, parameters[i].getName(), mapTransform.getParameterValues()[i]);
assertEquals(LambertConformalConicDescriptor.LCCT.class, actualTransform.getClass()); final double[] actualValues = actualTransform.getParameterValues(); assertEquals(true, Arrays.equals(_expValues, actualValues));
assertEquals(LambertConformalConicDescriptor.LCCT.class, actualTransform.getClass()); final double[] actualValues = actualTransform.getParameterValues(); for (int i = 0; i < actualValues.length; i++) { assertEquals(_expValues[i], actualValues[i], 1.0e-5);