-highestRes[1], targetBounds.getLowerCorner().getOrdinate(0) + 0.5 * highestRes[0], targetBounds.getUpperCorner().getOrdinate(1) - 0.5 * highestRes[1]); reprojected.spatialDomainManager = new SpatialDomainManager(
protected void handleEnvelope(ReferencedEnvelope envelope) { start("ows:WGS84BoundingBox"); element( "ows:LowerCorner", new StringBuffer(Double.toString(envelope.getLowerCorner().getOrdinate(0))) .append(" ") .append(envelope.getLowerCorner().getOrdinate(1)) .toString()); element( "ows:UpperCorner", new StringBuffer(Double.toString(envelope.getUpperCorner().getOrdinate(0))) .append(" ") .append(envelope.getUpperCorner().getOrdinate(1)) .toString()); end("ows:WGS84BoundingBox"); }
/** @param refEnvelope */ private static String bboxToJSON(ReferencedEnvelope refEnvelope) { if (refEnvelope == null) return "[[]]"; // "[[[-2,45],[8,45],[8,55],[-2,55],[-2,45]]]" double minx = refEnvelope.getLowerCorner().getOrdinate(0); double miny = refEnvelope.getLowerCorner().getOrdinate(1); double maxx = refEnvelope.getUpperCorner().getOrdinate(0); double maxy = refEnvelope.getUpperCorner().getOrdinate(1); return "[[[" + minx + "," + miny + "],[" + maxx + "," + miny + "],[" + maxx + "," + maxy + "],[" + minx + "," + maxy + "],[" + minx + "," + miny + "]]]"; }
/** @param refEnvelope */ private static String bboxToString(ReferencedEnvelope refEnvelope) { double minx = refEnvelope.getLowerCorner().getOrdinate(0); double miny = refEnvelope.getLowerCorner().getOrdinate(1); double maxx = refEnvelope.getUpperCorner().getOrdinate(0); double maxy = refEnvelope.getUpperCorner().getOrdinate(1); return minx + "," + miny + "," + maxx + "," + maxy; }
new StringBuffer( Double.toString( encodedEnvelope.getUpperCorner().getOrdinate(0))) .append(" ") .append(encodedEnvelope.getUpperCorner().getOrdinate(1)) .toString()); end("ows:BoundingBox");
public static Rectangle worldToGrid(GridCoverage2D srcCoverage, ReferencedEnvelope envelope) throws TransformException { GridGeometry gg2D = srcCoverage.getGridGeometry(); MathTransform gridToCRS = gg2D.getGridToCRS(); MathTransform crsToGrid = gridToCRS.inverse(); DirectPosition lcGrid = new DirectPosition2D(); crsToGrid.transform(envelope.getLowerCorner(), lcGrid); DirectPosition ucGrid = new DirectPosition2D(); crsToGrid.transform(envelope.getUpperCorner(), ucGrid); int x = (int) Math.min(lcGrid.getOrdinate(0), ucGrid.getOrdinate(0)); int y = (int) Math.min(lcGrid.getOrdinate(1), ucGrid.getOrdinate(1)); int width = (int) Math.abs(lcGrid.getOrdinate(0) - ucGrid.getOrdinate(0)); int height = (int) Math.abs(lcGrid.getOrdinate(1) - ucGrid.getOrdinate(1)); return new Rectangle(x, y, width, height); }
private boolean detect180MeridianCrossing() throws TransformException, FactoryException { final Rectangle bounds = this.imageBounds; ReferencedEnvelope referencedEnvelope = new ReferencedEnvelope(bounds.getMinX() + 0.5, bounds.getMaxX() - 0.5, bounds.getMinY() + 0.5, bounds.getMaxY() - 0.5, getImageCRS()); referencedEnvelope = referencedEnvelope.transform(getGeoCRS(), true); final DirectPosition uc = referencedEnvelope.getUpperCorner(); final DirectPosition lc = referencedEnvelope.getLowerCorner(); return uc.getOrdinate(0) > 180 || lc.getOrdinate(0) < -180; }
ReferencedEnvelope productEnvelope = new ReferencedEnvelope(productArea, this.targetCRS); final DirectPosition targetLower = this.targetEnvelope.getLowerCorner(); final DirectPosition targetUpper = this.targetEnvelope.getUpperCorner(); final DirectPosition productLower = productEnvelope.getLowerCorner(); final DirectPosition productUpper = productEnvelope.getUpperCorner(); if (targetLower.getOrdinate(0) > productLower.getOrdinate(0) || targetLower.getOrdinate(1) > productLower.getOrdinate(1) ||
width, height, targetEnvelope.getLowerCorner().getOrdinate(0), targetEnvelope.getUpperCorner().getOrdinate(1), this.pixelSizeX, this.pixelSizeY); final Product product = new Product("Multi-size Mosaic", "BEAM_MOSAIC", width, height);