private Envelope transformEnvelopeIntoQuerySrs( ICRS querySrs, Envelope env ) throws TransformationException, UnknownCRSException { GeometryTransformer transformer = new GeometryTransformer( querySrs ); return transformer.transform( env ); }
GeometryHelper( Envelope bbox, int width, AffineTransform worldToScreen ) { this.worldToScreen = worldToScreen; try { if ( bbox.getCoordinateSystem() != null && ( !bbox.getCoordinateSystem().getAlias().equals( "CRS:1" ) ) ) { transformer = new GeometryTransformer( bbox.getCoordinateSystem() ); } } catch ( Throwable e ) { LOG.debug( "Stack trace:", e ); LOG.warn( "Setting up the renderer yielded an exception when setting up internal transformer. This may lead to problems." ); } }
private Envelope transform( Envelope bbox, ICRS targetCrs ) throws IllegalArgumentException, TransformationException, UnknownCRSException { if ( targetCrs.equals( bbox.getEnvelope().getCoordinateSystem() ) ) { return bbox; } GeometryTransformer transformer = new GeometryTransformer( targetCrs ); return transformer.transform( bbox ); } }
private Geometry getCompatibleGeometry( Geometry literal ) throws SQLException { if ( crs == null ) { return literal; } Geometry transformedLiteral = literal; if ( literal != null ) { ICRS literalCRS = literal.getCoordinateSystem(); if ( literalCRS != null && !( crs.equals( literalCRS ) ) ) { LOG.debug( "Need transformed literal geometry for evaluation: " + literalCRS.getAlias() + " -> " + crs.getAlias() ); try { GeometryTransformer transformer = new GeometryTransformer( crs ); transformedLiteral = transformer.transform( literal ); } catch ( Throwable e ) { throw new SQLException( e.getMessage() ); } } } return transformedLiteral; }
private Geometry getCompatibleGeometry( Geometry literal ) throws SQLException { if ( crs == null ) { return literal; } Geometry transformedLiteral = literal; if ( literal != null ) { ICRS literalCRS = literal.getCoordinateSystem(); if ( literalCRS != null && !( crs.equals( literalCRS ) ) ) { LOG.debug( "Need transformed literal geometry for evaluation: " + literalCRS.getAlias() + " -> " + crs.getAlias() ); try { GeometryTransformer transformer = new GeometryTransformer( crs ); transformedLiteral = transformer.transform( literal ); } catch ( Exception e ) { throw new SQLException( e.getMessage(), e ); } } } return transformedLiteral; }
private static Envelope getTransformedEnvelopeWithAuthoritativeAxisOrdering( final Envelope nativeBbox, final ICRS targetCrs, final ICRS latlon ) { ICRS targetCrsWithOfficialAxisOrder = targetCrs; try { targetCrsWithOfficialAxisOrder = getAxisAwareCrs( targetCrs ); } catch ( UnknownCRSException e ) { LOG.warn( "Cannot determine axis-aware CRS: {}", e.getLocalizedMessage() ); LOG.trace( "Stack trace:", e ); } try { GeometryTransformer transformer = new GeometryTransformer( targetCrsWithOfficialAxisOrder ); if ( nativeBbox.getCoordinateSystem() == null ) { return transformer.transform( nativeBbox, latlon ); } else { return transformer.transform( nativeBbox ); } } catch ( Throwable e ) { LOG.warn( "Cannot transform: {}", e.getLocalizedMessage() ); LOG.trace( "Stack trace:", e ); } return null; }
if ( bbox == null ) { bbox = newBox; trans = new GeometryTransformer( bbox.getCoordinateSystem() ); } else { bbox.merge( trans.transform( newBox ) );
/** * Returns a transformed version of the given {@link Geometry} in the specified CRS. * * @param literal * @param crs * @return transformed version of the geometry, never <code>null</code> * @throws FilterEvaluationException */ public static Geometry getCompatibleGeometry( Geometry literal, ICRS crs ) throws FilterEvaluationException { if ( crs == null ) { return literal; } Geometry transformedLiteral = literal; if ( literal != null ) { ICRS literalCRS = literal.getCoordinateSystem(); if ( literalCRS != null && !( crs.equals( literalCRS ) ) ) { LOG.debug( "Need transformed literal geometry for evaluation: " + literalCRS.getAlias() + " -> " + crs.getAlias() ); try { GeometryTransformer transformer = new GeometryTransformer( crs ); transformedLiteral = transformer.transform( literal ); } catch ( Exception e ) { throw new FilterEvaluationException( e.getMessage() ); } } } return transformedLiteral; }
private FeatureCollection transformGeometries( FeatureCollection fc ) throws IllegalArgumentException, UnknownCRSException, TransformationException { FeatureCollection transformedFc = new GenericFeatureCollection(); GeometryTransformer transformer = new GeometryTransformer( fs.getStorageCRS() ); for ( Feature feature : fc ) { transformedFc.add( transformGeometries( feature, transformer ) ); } return transformedFc; }
Envelope box = new GeometryTransformer( EPSG_4326 ).transform( bbox ); double minx = box.getMin().get0(), miny = box.getMin().get1(); double maxx = minx + box.getSpan0();
try { if ( bbox.getCoordinateSystem() != null && !bbox.getCoordinateSystem().equals( storageSrs ) ) { GeometryTransformer transformer = new GeometryTransformer( storageSrs ); bbox = transformer.transform( bbox );
if ( transformedLiteral == null ) { try { GeometryTransformer transformer = new GeometryTransformer( paramCRS ); transformedLiteral = transformer.transform( literal ); srsNameToTransformedGeometry.put( paramCRS.getAlias(), transformedLiteral );
&& !sourceEnvelope.getCoordinateSystem().equals( targetCRS ) ) { try { result = new GeometryTransformer( targetCRS ).transform( sourceEnvelope ); } catch ( IllegalArgumentException e ) { throw new TransformationException( "Could not transform to given envelope because: "
GeometryTransformer gt = new GeometryTransformer( getTargetCRS() ); Envelope dstEnvelope = gt.transform( sourceRaster.getEnvelope(), srcCRS ).getEnvelope();
/** * Creates a new {@link GML3GeometryWriter} instance. * * @param gmlStreamWriter * gml stream writer, must not be <code>null</code> */ public GML3GeometryWriter( GMLStreamWriter gmlStreamWriter ) { super( gmlStreamWriter ); this.outputCRS = gmlStreamWriter.getOutputCrs(); this.simplifier = gmlStreamWriter.getGeometrySimplifier(); IUnit crsUnits = null; if ( outputCRS != null ) { try { ICRS crs = outputCRS; crsUnits = crs.getAxis()[0].getUnits(); transformer = new CoordinateTransformer( crs ); transformedOrdinates = new double[crs.getDimension()]; geoTransformer = new GeometryTransformer( crs ); } catch ( Exception e ) { LOG.debug( "Could not create transformer for CRS '" + outputCRS + "': " + e.getMessage() + ". Encoding will fail if a transformation is actually necessary." ); } } formatter = gmlStreamWriter.getCoordinateFormatter(); if ( formatter == null ) { formatter = new DecimalCoordinateFormatter( crsUnits ); } }
GeometryTransformer trans = new GeometryTransformer( WGS84 ); try { bbox = trans.transform( bbox, crs );
private static void exportLonLatEnvelope( XMLStreamWriter writer, Envelope envelope ) throws XMLStreamException { try { ICRS wgs84 = CRSManager.lookup( "EPSG:4326" ); GeometryTransformer transformer = new GeometryTransformer( wgs84 ); Envelope lonLatEnv = (Envelope) transformer.transform( envelope ); writer.writeStartElement( WCS_100_NS, "lonLatEnvelope" ); // @srsName urn:ogc:def:crs:OGC:1.3:CRS84 writer.writeAttribute( "srsName", "urn:ogc:def:crs:OGC:1.3:CRS84" ); exportGMLPos( writer, lonLatEnv.getMin().get0(), lonLatEnv.getMin().get1() ); exportGMLPos( writer, lonLatEnv.getMax().get0(), lonLatEnv.getMax().get1() ); writer.writeEndElement(); // lonLatEnvelope } catch ( UnknownCRSException e ) { e.printStackTrace(); return; } catch ( TransformationException e ) { e.printStackTrace(); return; } }
if ( srcCRS != null && !srcCRS.equals( getTargetCRS() ) ) { GeometryTransformer srcTransf = new GeometryTransformer( srcCRS );
transformer = new GeometryTransformer( this.getCoordinateSystem() );
dstSRS = srcRaster.getCoordinateSystem(); } else { GeometryTransformer dstTransformer = new GeometryTransformer( dstSRS ); dstEnv = dstTransformer.transform( srcRaster.getEnvelope(), srcRaster.getCoordinateSystem() );