private GeneralEnvelope calculateOriginalEnvelope( final SeRasterAttr rasterAttributes, CoordinateReferenceSystem coverageCrs) throws IOException { SeExtent sdeExtent; try { sdeExtent = rasterAttributes.getExtent(); } catch (SeException e) { throw new ArcSdeException("Exception getting the raster extent", e); } GeneralEnvelope originalEnvelope = new GeneralEnvelope(coverageCrs); originalEnvelope.setRange(0, sdeExtent.getMinX(), sdeExtent.getMaxX()); originalEnvelope.setRange(1, sdeExtent.getMinY(), sdeExtent.getMaxY()); return originalEnvelope; }
setRange(i, gridRange.getLow(i) - offset, gridRange.getHigh(i) - (offset - 1));
private GeneralEnvelope calculateOriginalEnvelope(final SeRasterAttr rasterAttributes, CoordinateReferenceSystem coverageCrs) throws IOException { SeExtent sdeExtent; try { sdeExtent = rasterAttributes.getExtent(); } catch (SeException e) { throw new ArcSdeException("Exception getting the raster extent", e); } GeneralEnvelope originalEnvelope = new GeneralEnvelope(coverageCrs); originalEnvelope.setRange(0, sdeExtent.getMinX(), sdeExtent.getMaxX()); originalEnvelope.setRange(1, sdeExtent.getMinY(), sdeExtent.getMaxY()); return originalEnvelope; }
/** * Returns a list of envelopes that avoid the dateline crossing "odd" representation, that is, * in that case two envelopes will be returned covering the portion before and after the * dateline */ public GeneralEnvelope[] getNormalizedEnvelopes() { if (!isCrossingDateline()) { return new GeneralEnvelope[] {new GeneralEnvelope(this)}; } else { GeneralEnvelope e1 = new GeneralEnvelope(crs); GeneralEnvelope e2 = new GeneralEnvelope(crs); for (int i = 0; i < dimensions; i++) { if (i == longitudeDimension) { e1.setRange(i, getMinimum(i), 180); if (getSpan(longitudeDimension) < 0) { e2.setRange(i, -180, getMaximum(i)); } else { e2.setRange(i, -180, getMaximum(i) - 360); } } else { e1.setRange(i, getMinimum(i), getMaximum(i)); e2.setRange(i, getMinimum(i), getMaximum(i)); } } return new GeneralEnvelope[] {e1, e2}; } }
crs = CRSUtilities.getSubCRS(crs, dimension, dimension+1); if (!contains(resKey)) { envelope.setRange(dimension, getAsDouble(minKey, crs), getAsDouble(maxKey, crs)); return; if (!contains(maxKey)) { final double min = getAsDouble(minKey, crs); envelope.setRange(dimension, min, min + resolution*range); return; envelope.setRange(dimension, max - resolution*range, max); return; envelope.setRange(dimension, min, max); if (Math.abs((min-max)/resolution - range) > EPS) { throw new AmbiguousMetadataException(Errors.getResources(userLocale).getString(
e1.setRange(i, i * 5 + 2, i * 6 + 5); e2.setRange(2, e2.getMinimum(2) + 3E-5, e2.getMaximum(2) - 3E-5); assertTrue(e1.contains(e2, true)); assertFalse(e1.contains(e2, false)); e2.setRange(1, e2.getMinimum(1) + 3, e2.getMaximum(1) - 3); assertTrue(e1.contains(e2, true)); assertFalse(e1.contains(e2, false));
envelope.setRange(i, min, max);
gridRange.setRange(i, gridRange.getMinimum(i) + 0.5, gridRange.getMaximum(i) + 0.5);