GridEnvelope2D targetRange = new GridEnvelope2D( (int) Math.round(padRange.getMinimum(0)), (int) Math.round(padRange.getMinimum(1)), (int) Math.round(padRange.getSpan(0)), (int) Math.round(padRange.getSpan(1)));
ReferencedEnvelope re = new ReferencedEnvelope( envelope.getMinimum(0), envelope.getMaximum(0), envelope.getMinimum(1), envelope.getMaximum(1), wli.getNativeCRS());
ReferencedEnvelope re = new ReferencedEnvelope( envelope.getMinimum(0), envelope.getMaximum(0), envelope.getMinimum(1), envelope.getMaximum(1), wli.getNativeCRS());
writer.write( "<pos>" + wgs84envelope.getMinimum(0) + " " + wgs84envelope.getMinimum(1) + "</pos>\n"); writer.write(
@Override protected void setGridSelectParams( PreparedStatement s, GeneralEnvelope envelope, ImageLevelInfo li) throws SQLException { s.setDouble(1, envelope.getMaximum(0)); s.setDouble(2, envelope.getMaximum(1)); s.setDouble(3, envelope.getMinimum(0)); s.setDouble(4, envelope.getMinimum(1)); }
@Override protected void setGridSelectParams( PreparedStatement s, GeneralEnvelope envelope, ImageLevelInfo li) throws SQLException { s.setDouble(1, li.getSrsId()); s.setDouble(2, envelope.getMinimum(0)); s.setDouble(3, envelope.getMinimum(1)); s.setDouble(4, envelope.getMaximum(0)); s.setDouble(5, envelope.getMaximum(1)); } }
/** Converts a {@link GeneralEnvelope} into a {@link ReferencedEnvelope} */ ReferencedEnvelope reference(GeneralEnvelope ge) { return new ReferencedEnvelope( ge.getMinimum(0), ge.getMaximum(0), ge.getMinimum(1), ge.getMaximum(1), ge.getCoordinateReferenceSystem()); }
private static ReferencedEnvelope toReferencedEnvelope(GeneralEnvelope envelope) { double minx = envelope.getMinimum(0); double maxx = envelope.getMaximum(0); double miny = envelope.getMinimum(1); double maxy = envelope.getMaximum(1); CoordinateReferenceSystem crs = envelope.getCoordinateReferenceSystem(); ReferencedEnvelope refEnv = new ReferencedEnvelope(minx, maxx, miny, maxy, crs); return refEnv; }
/** * Converts a {@link GeneralEnvelope} into a {@link ReferencedEnvelope} * * @param ge * @return */ ReferencedEnvelope reference(GeneralEnvelope ge) { return new ReferencedEnvelope( ge.getMinimum(0), ge.getMaximum(0), ge.getMinimum(1), ge.getMaximum(1), ge.getCoordinateReferenceSystem()); }
public void appendLoggingGeometries(String geomName, GeneralEnvelope env) { if (LOGGER.isLoggable(GEOM_LEVEL)) { StringBuilder sb = getGeom(geomName); sb.append( " ((" + env.getMinimum(0) + " " + env.getMinimum(1) + ", " + env.getMaximum(0) + " " + env.getMinimum(1) + ", " + env.getMaximum(0) + " " + env.getMaximum(1) + ", " + env.getMinimum(0) + " " + env.getMaximum(1) + ", " + env.getMinimum(0) + " " + env.getMinimum(1) + ")),"); } }
/** * @param env GeneralEnvelope * @return Polygon object with the same boundary as env */ protected Polygon polyFromEnvelope(GeneralEnvelope env) { GeometryFactory factory = new GeometryFactory(); Coordinate[] coords = new Coordinate[] { new Coordinate(env.getMinimum(0), env.getMinimum(1)), new Coordinate(env.getMinimum(0), env.getMaximum(1)), new Coordinate(env.getMaximum(0), env.getMaximum(1)), new Coordinate(env.getMaximum(0), env.getMinimum(1)), new Coordinate(env.getMinimum(0), env.getMinimum(1)) }; return factory.createPolygon(factory.createLinearRing(coords), new LinearRing[0]); }
assertEquals(399960, envelope.getMinimum(0), 1); assertEquals(5190240, envelope.getMinimum(1), 1); assertEquals(509760, envelope.getMaximum(0), 1); assertEquals(5300040, envelope.getMaximum(1), 1);
private static GridEnvelope getTargetGridRange( final MathTransform modelToRaster, final Envelope requestedEnvelope) { GridEnvelope levelOverlappingPixels; int levelMinPixelX; int levelMaxPixelX; int levelMinPixelY; int levelMaxPixelY; { // use a model to raster transform to find out which pixel range at the specified level // better match the requested extent GeneralEnvelope requestedPixels; try { requestedPixels = CRS.transform(modelToRaster, requestedEnvelope); } catch (NoninvertibleTransformException e) { throw new IllegalArgumentException(e); } catch (TransformException e) { throw new IllegalArgumentException(e); } levelMinPixelX = (int) Math.floor(requestedPixels.getMinimum(0)); levelMinPixelY = (int) Math.floor(requestedPixels.getMinimum(1)); levelMaxPixelX = (int) Math.ceil(requestedPixels.getMaximum(0)); levelMaxPixelY = (int) Math.ceil(requestedPixels.getMaximum(1)); final int width = levelMaxPixelX - levelMinPixelX; final int height = levelMaxPixelY - levelMinPixelY; levelOverlappingPixels = new GridEnvelope2D(levelMinPixelX, levelMinPixelY, width, height); } return levelOverlappingPixels; }
/** * @param env GeneralEnvelope * @return Polygon object with the same boundary as env */ protected Polygon polyFromEnvelope(GeneralEnvelope env) { GeometryFactory factory = new GeometryFactory(); Coordinate[] coords = new Coordinate[] { new Coordinate(env.getMinimum(0), env.getMinimum(1)), new Coordinate(env.getMinimum(0), env.getMaximum(1)), new Coordinate(env.getMaximum(0), env.getMaximum(1)), new Coordinate(env.getMaximum(0), env.getMinimum(1)), new Coordinate(env.getMinimum(0), env.getMinimum(1)) }; return factory.createPolygon(factory.createLinearRing(coords), new LinearRing[0]); }
GeneralEnvelope env = getOriginalEnvelope(); sb.append(", Envelope: ") .append(env.getMinimum(0)) .append(",") .append(env.getMinimum(1)) .append(" ") .append(env.getMaximum(0))
assertEquals(399960, envelope.getMinimum(0), 1); assertEquals(5192273, envelope.getMinimum(1), 1); assertEquals(507726, envelope.getMaximum(0), 1); assertEquals(5300040, envelope.getMaximum(1), 1);
/** * Returns the two-dimensional bounding box for the coverage domain in coordinate reference * system coordinates. If the coverage envelope has more than two dimensions, only the * dimensions used in the underlying rendered image are returned. * * @return The bounding box in "real world" coordinates (never {@code null}). * @throws InvalidGridGeometryException if this grid geometry has no envelope (i.e. <code> * {@linkplain #isDefined isDefined}({@linkplain #ENVELOPE_BITMASK ENVELOPE_BITMASK})</code> * returned {@code false}). * @see #getEnvelope */ public Envelope2D getEnvelope2D() throws InvalidGridGeometryException { if (envelope != null && !envelope.isNull()) { assert isDefined(ENVELOPE_BITMASK); return new Envelope2D( crs2D, envelope.getMinimum(axisDimensionX), envelope.getMinimum(axisDimensionY), envelope.getSpan(axisDimensionX), envelope.getSpan(axisDimensionY)); // Note: we didn't invoked reduce(Envelope) in order to make sure that // our privated 'envelope' field is not exposed to subclasses. } assert !isDefined(ENVELOPE_BITMASK); throw new InvalidGridGeometryException( gridToCRS == null ? ErrorKeys.UNSPECIFIED_TRANSFORM : ErrorKeys.UNSPECIFIED_IMAGE_SIZE); }
+ gridEnvelope.getLow(1) + " extent: " + spatialExtent.getMinimum(0) + "," + spatialExtent.getMinimum(1) + "," + spatialExtent.getMaximum(0)
double deltaY = resolution[1] / 2; env.setEnvelope( env.getMinimum(0) + deltaX, env.getMinimum(1) + deltaY, env.getMaximum(0) - deltaX, env.getMaximum(1) - deltaY);
/** * Tests the transformations of an envelope when the two CRS have identify transforms but * different datum names */ @Test public void testEnvelopeTransformation2() throws FactoryException, TransformException { final CoordinateReferenceSystem WGS84Altered = CRS.parseWKT(WKT.WGS84_ALTERED); final CoordinateReferenceSystem WGS84 = DefaultGeographicCRS.WGS84; final MathTransform crsTransform = CRS.findMathTransform(WGS84, WGS84Altered, true); assertTrue(crsTransform.isIdentity()); final GeneralEnvelope firstEnvelope; firstEnvelope = new GeneralEnvelope(new double[] {-124, 42}, new double[] {-122, 43}); firstEnvelope.setCoordinateReferenceSystem(WGS84); // this triggered a assertion error in GEOT-2934 Envelope transformed = CRS.transform(firstEnvelope, WGS84Altered); // check the envelope is what we expect assertEquals(transformed.getCoordinateReferenceSystem(), WGS84Altered); double EPS = 1e-9; assertEquals(transformed.getMinimum(0), firstEnvelope.getMinimum(0), EPS); assertEquals(transformed.getMinimum(1), firstEnvelope.getMinimum(1), EPS); assertEquals(transformed.getMaximum(0), firstEnvelope.getMaximum(0), EPS); assertEquals(transformed.getMaximum(1), firstEnvelope.getMaximum(1), EPS); }