public static Envelope getEnvelope( IIOMetadata metaData, int width, int height, ICRS crs ) { GeoTiffIIOMetadataAdapter geoTIFFMetaData = new GeoTiffIIOMetadataAdapter( metaData ); try { double[] tiePoints = geoTIFFMetaData.getModelTiePoints(); double[] scale = geoTIFFMetaData.getModelPixelScales(); if ( tiePoints != null && scale != null ) { RasterGeoReference rasterReference; if ( Math.abs( scale[0] - 0.5 ) < 0.001 ) { // when first pixel tie point is 0.5 -> center type // rb: this might not always be right, see examples at // http://www.remotesensing.org/geotiff/spec/geotiff3.html#3.2.1. // search for PixelIsArea/PixelIsPoint to determine center/outer rasterReference = new RasterGeoReference( CENTER, scale[0], -scale[1], tiePoints[3], tiePoints[4], crs ); } else { rasterReference = new RasterGeoReference( OUTER, scale[0], -scale[1], tiePoints[3], tiePoints[4], crs ); } return rasterReference.getEnvelope( OUTER, width, height, crs ); } } catch ( UnsupportedOperationException ex ) { LOG.debug( "couldn't read crs information in GeoTIFF" ); } return null; }
crs = options.getCRS(); return new RasterGeoReference( location, resx, resy, values[2], values[1], xmin, ymax, crs );
rasterDataInfo = (RasterDataInfo) in.readObject(); rasterGeoReference = new RasterGeoReference( (OriginLocation) in.readObject(), in.readDouble(), in.readDouble(), in.readDouble(), in.readDouble(), in.readDouble(), in.readDouble(), (CRS) in.readObject() );
rasterReference = new RasterGeoReference( definedRasterOrigLoc, scale[0] * factor, -scale[1] rasterReference = new RasterGeoReference( RasterGeoReference.OriginLocation.CENTER, scale[0] rasterReference = new RasterGeoReference( RasterGeoReference.OriginLocation.OUTER, scale[0]
/** * * @return the raster reference of this tilefile */ public RasterGeoReference getEnvelope() { // rb: should the axis of the crs not been taken into account? return new RasterGeoReference( location, xRes, yRes, env.getMin().get0(), env.getMax().get1() ); }
if ( geoRef1.location != geoRef2.location ) { double[] orig = geoRef2.getOrigin( geoRef1.location ); geoRef2Copy = new RasterGeoReference( geoRef1.location, geoRef2.getResolutionX(), geoRef2.getResolutionY(), geoRef2.getRotationX(), geoRef2.getRotationY(), orig[0], orig[1], geoRef2.crs ); double nOrigy = ( res1y < 0 ) ? max( origin1[1], origin2[1] ) : min( origin1[1], origin2[1] ); return new RasterGeoReference( geoRef1.location, nResx, nResy, geoRef1.getRotationX(), geoRef1.getRotationY(), nOrigx, nOrigy, geoRef1.crs );
RasterGeoReference gRef = new RasterGeoReference( CENTER, resolution, -resolution, tileEnvelope.getMin().get0(), tileEnvelope.getMax().get1(), tileEnvelope.getCoordinateSystem() );
/** * Returns new RasterGeoReference with the origin set to the given target location. Other values are taken from this * instance. * * @param targetLocation * of the new reference * @return new RasterGeoReference or this if the target location is <code>null</code> or equals this one. */ public RasterGeoReference createRelocatedReference( OriginLocation targetLocation ) { if ( targetLocation == null || location == targetLocation ) { return this; } double[] newOrigin = getOrigin( targetLocation ); return new RasterGeoReference( targetLocation, this.getResolutionX(), this.getResolutionY(), this.getRotationX(), this.getRotationY(), newOrigin[0], newOrigin[1], this.crs ); }
geoReference = new RasterGeoReference( RasterGeoReference.OriginLocation.CENTER, gridExtension.resX, gridExtension.resY, gridExtension.minx, gridExtension.maxy );
double resx = cols * ref.getResolutionX() / ( cols - 2 ); double resy = rows * ref.getResolutionY() / ( rows - 2 ); ref = new RasterGeoReference( ref.getOriginLocation(), resx, resy, ref.getOrigin()[0], ref.getOrigin()[1] ); SimpleRaster hillShade = new SimpleRaster( shadeData, raster.getEnvelope(), ref, null );
int maxy = origin - opts.baseHeight / 2 - opts.spacing; Envelope bbox = geofac.createEnvelope( opts.spacing, miny, opts.baseWidth + opts.spacing, maxy, mapcs ); RasterGeoReference rref = new RasterGeoReference( OUTER, 1, 1, opts.spacing, miny, mapcs ); SimpleRaster raster = createEmptyRaster( info, bbox, rref );
if ( geoRef == null ) { geoRef = new RasterGeoReference( OriginLocation.OUTER, 1, -1, 0, 0 );
double origin0 = envelope.getMin().get0(); double origin1 = envelope.getMax().get1(); return new RasterGeoReference( location, resX, resY, origin0, origin1, crs );
sampleSizeY = rRef.getResolutionY(); this.geoReference = new RasterGeoReference( OriginLocation.CENTER, rRef.getResolutionX(), rRef.getResolutionY(), rRef.getRotationX(), rRef.getRotationY(), 0, raster.getEnvelope().getSpan1(), raster.getCoordinateSystem() );
@Override public void setSubRaster( double x, double y, AbstractRaster source ) { RasterGeoReference srcREnv = source.getRasterReference(); RasterGeoReference dstREnv = new RasterGeoReference( srcREnv.getOriginLocation(), srcREnv.getResolutionX(), srcREnv.getResolutionY(), x, y ); Envelope dstEnv = dstREnv.getEnvelope( source.getColumns(), source.getRows(), source.getCoordinateSystem() ); RasterData srcData = source.getAsSimpleRaster().getRasterData(); SimpleRaster movedRaster = new SimpleRaster( srcData, dstEnv, dstREnv, metadata ); setSubRaster( dstEnv, movedRaster ); }
double origin0 = envelope.getMin().get0(); double origin1 = envelope.getMax().get1(); return new RasterGeoReference( location, resX, resY, origin0, origin1, crs );
geoReference = new RasterGeoReference( origLoc, resolution, -resolution, origX, origY + outerCenterY );
private AbstractRaster loadFromReader( JAIRasterDataReader reader, RasterIOOptions options ) { width = reader.getColumns(); height = reader.getRows(); setID( options ); reader.close(); OriginLocation definedRasterOrigLoc = options.getRasterOriginLocation(); // create a 1:1 mapping rasterReference = new RasterGeoReference( definedRasterOrigLoc, 1, -1, 0.5, height - 0.5 ); if ( options.hasRasterGeoReference() ) { rasterReference = options.getRasterGeoReference(); } else { if ( options.readWorldFile() ) { try { if ( file != null ) { rasterReference = WorldFileAccess.readWorldFile( file, options ); } } catch ( IOException e ) { // } } } Envelope envelope = rasterReference.getEnvelope( width, height, null ); // RasterDataContainer source = RasterDataContainerFactory.withDefaultLoadingPolicy( reader ); // RasterDataContainer source = RasterDataContainerFactory.withLoadingPolicy( reader, options.getLoadingPolicy() // ); RasterDataInfo rdi = reader.getRasterDataInfo(); return RasterFactory.createEmptyRaster( rdi, envelope, rasterReference, this, true, options ); }
return new RasterGeoReference( tLoc, this.getResolutionX(), this.getResolutionY(), this.getRotationX(), this.getRotationY(), worldCoordinate[0], worldCoordinate[1], this.crs );
} else { rasterReference = new RasterGeoReference( definedRasterOrigLoc, 1, -1, 0.5, height - 0.5 ); if ( opts.readWorldFile() ) { try {