/** * Creates an {@link Envelope} in 2D space. * * @param minx * minimum x corner coordinate * @param miny * minimum y corner coordinate * @param maxx * maximum x corner coordinate * @param maxy * maximum y corner coordinate * @param crs * coordinate reference system, may be null * @return created {@link Envelope} */ public Envelope createEnvelope( double minx, double miny, double maxx, double maxy, ICRS crs ) { return createEnvelope( new double[] { minx, miny }, new double[] { maxx, maxy }, crs ); }
/** * Create an {@link Envelope} from a list of Doubles. * * @param lowerCorner * @param upperCorner * @param crs * coordinate reference system, may be null * @return the envelope */ public Envelope createEnvelope( List<Double> lowerCorner, List<Double> upperCorner, ICRS crs ) { if ( lowerCorner.size() != upperCorner.size() ) { throw new IllegalArgumentException( "LowerCorner must be of same dimension as upperCorner." ); } double[] lc = new double[lowerCorner.size()]; double[] uc = new double[upperCorner.size()]; for ( int i = 0; i < lc.length; ++i ) { lc[i] = lowerCorner.get( i ); uc[i] = upperCorner.get( i ); } return createEnvelope( lc, uc, crs ); }
private void evaluateValidDomain( ICRS crs, Geometry geometry, String handle ) throws OWSException { double[] validDomain = crs.getValidDomain(); if ( validDomain == null ) { LOG.warn( "Valid domain of crs {} is not available. Check if geometry is inside the valid " + "domain not possible. The check is skipped and insert processed.", crs.getAlias() ); return; } Envelope validDomainBbox = GEOM_FACTORY.createEnvelope( validDomain[0], validDomain[1], validDomain[2], validDomain[3], crs ); if ( !geometry.isWithin( validDomainBbox ) ) { String message = "At least one geometry is not in the valid domain of the srs."; if ( handle == null || "".equals( handle ) ) handle = "Transaction"; throw new OWSException( message, OWSException.OPERATION_PROCESSING_FAILED, handle ); } }
private Envelope parseBoundingBox( XMLStreamReader in ) throws UnknownCRSException, OWSException, XMLStreamException { String crsValue = XMLStreamUtils.getAttributeValue( in, "crs" ); ICRS crs = CRSManager.lookup( crsValue ); QName lowerCorner = new QName( OWS_NS, "LowerCorner" ); skipToRequiredElement( in, lowerCorner ); double[] min = parseCorner( in, lowerCorner ); QName upperCorner = new QName( OWS_NS, "UpperCorner" ); skipToRequiredElement( in, upperCorner ); double[] max = parseCorner( in, upperCorner ); return GEOMETRY_FACTORY.createEnvelope( min, max, crs ); }
env = new SimpleGeometryFactory().createEnvelope( -180, -90, 180, 90, CRSManager.getCRSRef( "EPSG:4326" ) );
private Envelope copyEnvelope( Envelope envelopeToCopy ) { if ( envelopeToCopy != null ) { Point min = envelopeToCopy.getMin(); Point max = envelopeToCopy.getMax(); ICRS crs = envelopeToCopy.getCoordinateSystem(); return GEOM_FACTORY.createEnvelope( min.get0(), min.get1(), max.get0(), max.get1(), crs ); } return null; }
env = new SimpleGeometryFactory().createEnvelope( -180, -90, 180, 90, CRSManager.getCRSRef( "EPSG:4326" ) );