/** * Tests if a user interface is available. The method is a shorthand for * <pre> * getMapTransform().getDescriptor().hasTransformUI(); * </pre> * * @return <code>true</code> if a user interface is available, in this case the {@link #getMapTransformUI} method * never returns null. */ public boolean hasMapTransformUI() { return getMapTransform().getDescriptor().hasTransformUI(); }
/** * Gets a user interface for editing the transformation properties of this map projection. * * @return the user interface or null if editing is not supported. The {@link #hasMapTransformUI()} hasTransformUI} method shall return * <code>false</code> in this case. */ public MapTransformUI getMapTransformUI() { MapTransform mapTransform = getMapTransform(); MapTransformDescriptor descriptor = mapTransform.getDescriptor(); return descriptor.getTransformUI(mapTransform); }
@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 boolean isGeographicLatLon(GeoCoding geoCoding) { if (geoCoding instanceof MapGeoCoding) { MapGeoCoding mapGeoCoding = (MapGeoCoding) geoCoding; MapTransformDescriptor transformDescriptor = mapGeoCoding.getMapInfo() .getMapProjection().getMapTransform().getDescriptor(); String typeID = transformDescriptor.getTypeID(); if (typeID.equals(IdentityTransformDescriptor.TYPE_ID)) { return true; } } else if (geoCoding instanceof CrsGeoCoding) { return CRS.equalsIgnoreMetadata(geoCoding.getMapCRS(), DefaultGeographicCRS.WGS84); } return false; }
final Parameter[] parameters = mi.getMapProjection().getMapTransform().getDescriptor().getParameters(); final double[] parameterValues = mi.getMapProjection().getMapTransform().getParameterValues(); for (int i = 0; i < parameters.length; i++) { final Parameter parameter = parameters[i];
final MapTransform mapTransform = mapProjection.getMapTransform(); final Point2D[] envelope = createMapEnvelope(product, rect, mapTransform); final double mapW = Math.abs(envelope[1].getX() - envelope[0].getX());
final MapTransform mapTransform = mapProjection.getMapTransform(); final Point2D[] envelope = createMapEnvelope(product, new Rectangle(sourceW, sourceH), mapTransform); final Point2D pMin = envelope[0];
/** * 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); } }
final MapTransform mapTransform = mapGeoCoding.getMapInfo().getMapProjection().getMapTransform(); Point2D mapPoint = mapTransform.forward(geoPos, null); tmx = String.valueOf(MathUtils.round(mapPoint.getX(), 10000.0));
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); }
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); }
@Override public void actionPerformed(CommandEvent event) { ProductSceneView view = VisatApp.getApp().getSelectedProductSceneView(); final GeoCoding geoCoding = view.getProduct().getGeoCoding(); boolean isGeographic = false; if (geoCoding instanceof MapGeoCoding) { MapGeoCoding mapGeoCoding = (MapGeoCoding) geoCoding; MapTransformDescriptor transformDescriptor = mapGeoCoding.getMapInfo() .getMapProjection().getMapTransform().getDescriptor(); String typeID = transformDescriptor.getTypeID(); if (typeID.equals(IdentityTransformDescriptor.TYPE_ID)) { isGeographic = true; } } else if(geoCoding instanceof CrsGeoCoding){ isGeographic = CRS.equalsIgnoreMetadata(geoCoding.getMapCRS(), DefaultGeographicCRS.WGS84); } if(isGeographic) { exportImage(view); }else { String message = "Product must be in ''Geographic Lat/Lon'' projection."; VisatApp.getApp().showInfoDialog(message, null); } }
throw new IllegalArgumentException("mapInfo", e); mapTransform = this.mapInfo.getMapProjection().getMapTransform();
MapGeoCoding mapGeoCoding = (MapGeoCoding) geoCoding; MapTransformDescriptor transformDescriptor = mapGeoCoding.getMapInfo() .getMapProjection().getMapTransform().getDescriptor(); String typeID = transformDescriptor.getTypeID(); if (typeID.equals(IdentityTransformDescriptor.TYPE_ID)) {
final PixelPos pixelPos = new PixelPos(region.x + pixelX, region.y + pixelY); final GeoPos geoPos = getGeoPos(pixelPos, null); final Point2D mapPoint = this.getMapInfo().getMapProjection().getMapTransform().forward(geoPos, null); easting = (float) mapPoint.getX(); northing = (float) mapPoint.getY();
public void testCoordinateReferenceSystems() throws FactoryException { final MapProjection gp = MapProjectionRegistry.getProjection(new IdentityTransformDescriptor().getName()); assertSame(DefaultGeographicCRS.WGS84, CoordinateReferenceSystems.getCRS(gp, Datum.WGS_84)); for (final MapProjection projection : MapProjectionRegistry.getProjections()) { if (!(projection.getMapTransform().getDescriptor() instanceof IdentityTransformDescriptor)) { assertTrue(CoordinateReferenceSystems.getCRS(projection, Datum.ITRF_97) instanceof ProjectedCRS); assertTrue(CoordinateReferenceSystems.getCRS(projection, Datum.WGS_72) instanceof ProjectedCRS); assertTrue(CoordinateReferenceSystems.getCRS(projection, Datum.WGS_84) instanceof ProjectedCRS); } } }
final int paramsID = createH5G(groupID, "projection_params"); try { final MapTransform mapTransform = mapProjection.getMapTransform(); final MapTransformDescriptor mapTransformDescriptor = mapTransform.getDescriptor(); final Parameter[] parameters = mapTransformDescriptor.getParameters();
assertEquals(_semiMinor, actualEllipsoid.getSemiMinor(), 1.0e-10); final MapTransform actualTransform = actualProjection.getMapTransform(); assertEquals(LambertConformalConicDescriptor.LCCT.class, actualTransform.getClass());
assertEquals(expEllipsoid.getSemiMinor(), actualEllipsoid.getSemiMinor(), 1.0e-10); final MapTransform actualTransform = actualProjection.getMapTransform(); assertEquals(expTransform.getClass(), actualTransform.getClass());
assertEquals(_semiMinor, actualEllipsoid.getSemiMinor(), 1.0e-10); final MapTransform actualTransform = actualProjection.getMapTransform(); assertEquals(LambertConformalConicDescriptor.LCCT.class, actualTransform.getClass());