public AffineTransform getPixelToMapTransform() { AffineTransform transform = new AffineTransform(); transform.translate(getEasting(), getNorthing()); transform.scale(getPixelSizeX(), -getPixelSizeY()); transform.rotate(Math.toRadians(-getOrientation())); transform.translate(-getPixelX(), -getPixelY()); return transform; } }
buffer.append(getPixelX()); buffer.append(", "); buffer.append(getPixelY()); buffer.append(", "); buffer.append(getEasting());
String.valueOf(mi.getPixelY())));
pw.println(" <MAP_INFO>"); pw.println(" <PIXEL_X value=\"" + mapInfo.getPixelX() + "\" />"); pw.println(" <PIXEL_Y value=\"" + mapInfo.getPixelY() + "\" />"); pw.println(" <EASTING value=\"" + mapInfo.getEasting() + "\" />"); pw.println(" <NORTHING value=\"" + mapInfo.getNorthing() + "\" />");
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 MapInfo srcMapInfo = srcMapGeoCoding.getMapInfo(); float pixelX = srcMapInfo.getPixelX(); float pixelY = srcMapInfo.getPixelY(); float easting = srcMapInfo.getEasting(); float northing = srcMapInfo.getNorthing();
mapAttrib[0][1] = String.valueOf(info.getPixelX()); printLine(indent, DimapProductConstants.TAG_MAP_INFO_PIXEL_X, mapAttrib, null); mapAttrib[0][1] = String.valueOf(info.getPixelY()); printLine(indent, DimapProductConstants.TAG_MAP_INFO_PIXEL_Y, mapAttrib, null); mapAttrib[0][1] = String.valueOf(info.getEasting());
createScalarAttribute(groupID, "northing", mapInfo.getNorthing()); createScalarAttribute(groupID, "pixel_x", mapInfo.getPixelX()); createScalarAttribute(groupID, "pixel_y", mapInfo.getPixelY()); createScalarAttribute(groupID, "pixel_size_x", mapInfo.getPixelSizeX()); createScalarAttribute(groupID, "pixel_size_y", mapInfo.getPixelSizeY());
assertEquals(_pixelY, actualMapinfo.getPixelY(), 1.0e-6); assertEquals(_easting, actualMapinfo.getEasting(), 1.0e-6); assertEquals(_northing, actualMapinfo.getNorthing(), 1.0e-6);
assertEquals(pixelY, actualMapinfo.getPixelY(), 1.0e-6); assertEquals(easting, actualMapinfo.getEasting(), 1.0e-6); assertEquals(northing, actualMapinfo.getNorthing(), 1.0e-6);
assertEquals(_pixelY, actualMapinfo.getPixelY(), 1.0e-6); assertEquals(_easting, actualMapinfo.getEasting(), 1.0e-6); assertEquals(_northing, actualMapinfo.getNorthing(), 1.0e-6);
public void testCreateDeepClone() { MapInfo original = createMapInfo(); original.setNoDataValue(-1.23456); original.setOrthorectified(true); original.setSceneSizeFitted(true); original.setElevationModelName("G8"); MapInfo deepClone = original.createDeepClone(); assertEquals(deepClone.getMapProjection(), original.getMapProjection()); assertEquals(deepClone.getDatum(), original.getDatum()); assertEquals(deepClone.getPixelX(), original.getPixelX(), 1e-6f); assertEquals(deepClone.getPixelY(), original.getPixelY(), 1e-6f); assertEquals(deepClone.getPixelSizeX(), original.getPixelSizeX(), 1e-6f); assertEquals(deepClone.getPixelSizeY(), original.getPixelSizeY(), 1e-6f); assertEquals(deepClone.getNorthing(), original.getNorthing(), 1e-6f); assertEquals(deepClone.getEasting(), original.getEasting(), 1e-6f); assertEquals(deepClone.getOrientation(), original.getOrientation(), 1e-6f); assertEquals(deepClone.getElevationModelName(), original.getElevationModelName()); assertEquals(deepClone.getSceneWidth(), original.getSceneWidth()); assertEquals(deepClone.getSceneHeight(), original.getSceneHeight()); assertEquals(deepClone.getNoDataValue(), original.getNoDataValue(), 1e-10); assertEquals(deepClone.isOrthorectified(), original.isOrthorectified()); assertEquals(deepClone.isSceneSizeFitted(), original.isSceneSizeFitted()); }
public void testTransferGeoCodingWithoutSubset() { MapGeoCoding mapGeoCoding = createIdentityMapGeoCoding(); final Band destNode = new Band("destDummy", ProductData.TYPE_INT8, 10, 20); final Band srcNode = new Band("srcDummy", ProductData.TYPE_INT8, 10, 20); srcNode.setGeoCoding(mapGeoCoding); final Scene destScene = SceneFactory.createScene(destNode); final Scene srcScene = SceneFactory.createScene(srcNode); srcScene.transferGeoCodingTo(destScene, null); assertNotSame(mapGeoCoding, destScene.getGeoCoding()); final MapInfo origMapInfo = mapGeoCoding.getMapInfo(); final MapInfo copyMapInfo = ((MapGeoCoding) destScene.getGeoCoding()).getMapInfo(); assertNotSame(origMapInfo, copyMapInfo); assertEquals(origMapInfo.getEasting(), copyMapInfo.getEasting(), 1e-6); assertEquals(origMapInfo.getNorthing(), copyMapInfo.getNorthing(), 1e-6); assertSame(origMapInfo.getDatum(), copyMapInfo.getDatum()); assertEquals(origMapInfo.getElevationModelName(), copyMapInfo.getElevationModelName()); assertEquals(origMapInfo.getMapProjection().getName(), copyMapInfo.getMapProjection().getName()); assertEquals(origMapInfo.getOrientation(), copyMapInfo.getOrientation(), 1e-6); assertEquals(origMapInfo.getPixelSizeX(), copyMapInfo.getPixelSizeX(), 1e-6); assertEquals(origMapInfo.getPixelSizeY(), copyMapInfo.getPixelSizeY(), 1e-6); assertEquals(origMapInfo.getPixelX(), copyMapInfo.getPixelY(), 1e-6); assertEquals(destScene.getRasterHeight(), copyMapInfo.getSceneHeight(), 1e-6); assertEquals(destScene.getRasterWidth(), copyMapInfo.getSceneWidth(), 1e-6); }