DirectPosition lowerCorner = envelope.getLowerCorner(); double[] westSouth = lowerCorner.getCoordinate(); DirectPosition upperCorner = envelope.getUpperCorner();
final double xl = newEnv.getLowerCorner().getOrdinate(0); final double yl = newEnv.getLowerCorner().getOrdinate(1); final double cellsizeX = Math.abs(gridToWorld.getScaleX()); final double cellsizeY = Math.abs(gridToWorld.getScaleY());
public static CoordinateReferenceSystem getCRS(final Envelope envelope) { return envelope.getLowerCorner().getCoordinateReferenceSystem(); }
public static CoordinateReferenceSystem getCRS(final Envelope envelope) { return envelope.getLowerCorner().getCoordinateReferenceSystem(); }
public static CoordinateReferenceSystem getCRS(final Envelope envelope) { return envelope.getLowerCorner().getCoordinateReferenceSystem(); }
@Test public void testMBTilesMetaData() throws Exception { try (MBTilesFile file = new MBTilesFile(dbfile); ) { MBTilesMetadata metadata2 = file.loadMetaData(); assertEquals("osm2vectortiles", metadata2.getName()); assertEquals("Extract from http://osm2vectortiles.org", metadata2.getDescription()); assertEquals("2.0", metadata2.getVersion()); metadata2.getBounds().getLowerCorner().getCoordinate(); double delta = 0.0001; assertEquals(-180.0, metadata2.getBounds().getLowerCorner().getOrdinate(0), delta); assertEquals(180.0, metadata2.getBounds().getUpperCorner().getOrdinate(0), delta); assertEquals(-85.0511, metadata2.getBounds().getLowerCorner().getOrdinate(1), delta); assertEquals(85.0511, metadata2.getBounds().getUpperCorner().getOrdinate(1), delta); assertEquals( CRS.decode("EPSG:4326", true), metadata2.getBounds().getCoordinateReferenceSystem()); assertEquals(t_format.PBF, metadata2.getFormat()); assertEquals(t_type.BASE_LAYER, metadata2.getType()); assertEquals(0, metadata2.getMinZoom()); assertEquals(5, metadata2.getMaxZoom()); } }
@Test @Ignore public void testEnvelopeTransformClipping() throws Exception { final CoordinateReferenceSystem source = WGS84; final CoordinateReferenceSystem target; target = CRS.parseWKT( "GEOGCS[\"GCS_North_American_1983\"," + "DATUM[\"North_American_Datum_1983\", " + "SPHEROID[\"GRS_1980\", 6378137.0, 298.257222101]], " + "PRIMEM[\"Greenwich\", 0.0], " + "UNIT[\"degree\", 0.017453292519943295], " + "AXIS[\"Longitude\", EAST], " + "AXIS[\"Latitude\", NORTH]]"); // bounds from geotiff GeneralEnvelope geotiff = new GeneralEnvelope(source); geotiff.add(new DirectPosition2D(source, -179.9, -90.0)); geotiff.add(new DirectPosition2D(source, 180.0, 89.9)); Envelope transformed = CRS.transform(geotiff, target); assertNotNull(transformed); assertTrue("clipped y", transformed.getUpperCorner().getOrdinate(1) > 88.0); assertTrue("clipped y", transformed.getLowerCorner().getOrdinate(1) < -88.0); assertTrue("clipped x", transformed.getUpperCorner().getOrdinate(0) > 170.0); assertTrue("clipped x", transformed.getLowerCorner().getOrdinate(0) < -170.0); }
/** * Compares coordinates between the envelope and another envelope Test OK * * @param env * @return boolean */ public boolean equals(Envelope env) { return (this.getUpperCorner().equals(env.getUpperCorner()) && this .getLowerCorner().equals(env.getLowerCorner())); }
/** * Constructs a two-dimensional envelope defined by an other {@link Envelope}. * * @param envelope the envelope to copy (can not be {@code null}). * @throws MismatchedDimensionException if the given envelope is not two-dimensional. */ public Envelope2D(final Envelope envelope) throws MismatchedDimensionException { this(envelope.getCoordinateReferenceSystem(), envelope.getLowerCorner(), envelope.getUpperCorner()); }
/** * Constructs a two-dimensional envelope defined by an other {@link Envelope}. * * @param envelope the envelope to copy (can not be {@code null}). * @throws MismatchedDimensionException if the given envelope is not two-dimensional. */ public Envelope2D(final Envelope envelope) throws MismatchedDimensionException { this(envelope.getCoordinateReferenceSystem(), envelope.getLowerCorner(), envelope.getUpperCorner()); }
/** * Constructor * * @param env */ public EnvelopeImpl(Envelope env) { pMin = (DirectPosition) env.getLowerCorner().clone(); pMax = (DirectPosition) env.getUpperCorner().clone(); }
public GridCoverage2D execute(GridCoverage2D inputCoverage, double angle) { // The default is the lower left corner of the input raster dataset. DirectPosition origin = inputCoverage.getEnvelope().getLowerCorner(); Coordinate anchorPoint = new Coordinate(origin.getOrdinate(0), origin.getOrdinate(1)); return execute(inputCoverage, anchorPoint, angle); }
/** * Returns {@code true} if at least one ordinate in the given envelope * is {@link Double#NaN}. This is used for assertions only. */ static boolean hasNaN(final Envelope envelope) { return hasNaN(envelope.getLowerCorner()) || hasNaN(envelope.getUpperCorner()); }
/** * Returns {@code true} if at least one ordinate in the given envelope * is {@link Double#NaN}. This is used for assertions only. */ static boolean hasNaN(final Envelope envelope) { return hasNaN(envelope.getLowerCorner()) || hasNaN(envelope.getUpperCorner()); }
public BoundingBoxType(final Envelope envelope) { if (envelope != null) { for (Double d : envelope.getLowerCorner().getCoordinate()) { this.lowerCorner.add(d); } for (Double d : envelope.getUpperCorner().getCoordinate()) { this.upperCorner.add(d); } final CoordinateReferenceSystem crss = envelope.getCoordinateReferenceSystem(); if (crss != null) { try { crs = org.apache.sis.referencing.IdentifiedObjects.lookupURN(crss,null); } catch (FactoryException ex) { LOGGER.log(Level.SEVERE, "Factory exception while creating OWS BoundingBox from opengis one", ex); } } this.dimensions = envelope.getDimension(); } }
/** * Constructs a new envelope with the same data than the specified envelope. * This is a copy constructor. * * @param envelope the envelope to copy. * @throws IllegalArgumentException if an ordinate value in the lower corner is greater than * the corresponding ordinate value in the upper corner. */ public SimpleEnvelope(final Envelope envelope) { crs = envelope.getCoordinateReferenceSystem(); ordinates = new double[envelope.getDimension() * 2]; setCorners(ordinates, envelope.getLowerCorner(), envelope.getUpperCorner()); }
/** * Unions an envelope with an another envelope * * @param env */ public void expand(Envelope env) { this.expand(env.getLowerCorner().getCoordinates()); this.expand(env.getUpperCorner().getCoordinates()); }
/** * Verifies whether another envelope intersects with this envelope * * @param other * @return TRUE, if envelopes intersect; FALSE, if they dont intersect */ public boolean intersects(Envelope other) { return AlgoRectangleND.intersects(this.pMin.getCoordinates(), this.pMax .getCoordinates(), other.getLowerCorner().getCoordinates(), other.getUpperCorner().getCoordinates()); }
/** * Constructs a new envelope with the same data than the specified envelope. * * @param envelope the envelope to copy. */ public ArrayEnvelope(final Envelope envelope) { ensureNonNull("envelope", envelope); crs = envelope.getCoordinateReferenceSystem(); final int dimension = envelope.getDimension(); ordinates = new double[dimension * 2]; final DirectPosition lowerCorner = envelope.getLowerCorner(); final DirectPosition upperCorner = envelope.getUpperCorner(); for (int i=0; i<dimension; i++) { ordinates[i] = lowerCorner.getOrdinate(i); ordinates[i+dimension] = upperCorner.getOrdinate(i); } verifyRanges(crs, ordinates); }
/** * Constructs a new envelope with the same data than the specified envelope. * * @param envelope the envelope to copy. */ public ArrayEnvelope(final Envelope envelope) { ensureNonNull("envelope", envelope); crs = envelope.getCoordinateReferenceSystem(); final int dimension = envelope.getDimension(); ordinates = new double[dimension * 2]; final DirectPosition lowerCorner = envelope.getLowerCorner(); final DirectPosition upperCorner = envelope.getUpperCorner(); for (int i=0; i<dimension; i++) { ordinates[i] = lowerCorner.getOrdinate(i); ordinates[i+dimension] = upperCorner.getOrdinate(i); } verifyRanges(crs, ordinates); }