public static void setSpatialReference(final Dataset dataset, final CoordinateSystem coordinateSystem) { final SpatialReference spatialReference = getSpatialReference(coordinateSystem); if (spatialReference != null) { dataset.SetProjection(spatialReference.ExportToWkt()); } }
private Dataset createMemDataset( Envelope nativeBbox, String nativeProjection, byte[][] composedRegion ) { Driver vrtDriver = gdal.GetDriverByName( "MEM" ); Dataset dataset = vrtDriver.Create( "/tmp/whatever", width, height, composedRegion.length ); dataset.SetProjection( nativeProjection ); dataset.SetGeoTransform( getGeoTransform( nativeBbox, width, height ) ); for ( int i = 1; i <= dataset.getRasterCount(); i++ ) { Band band = dataset.GetRasterBand( i ); if ( band.WriteRaster( 0, 0, width, height, width, height, GDT_Byte, composedRegion[i - 1] ) != CE_None ) { throw new RuntimeException( "Error writing composed raster." ); } } return dataset; }
public Dataset extractRegionAsDataset( Envelope region, int pixelsX, int pixelsY, boolean withAlpha ) throws IOException { byte[][] buffer = extractRegionAsByteArray( region, pixelsX, pixelsY, withAlpha ); Driver vrtDriver = gdal.GetDriverByName( "MEM" ); Dataset ds = vrtDriver.Create( "/tmp/whatever", pixelsX, pixelsY, buffer.length ); ds.SetProjection( dataset.GetProjection() ); int i = 1; for ( byte[] bytes : buffer ) { Band band = ds.GetRasterBand( i ); if ( band.WriteRaster( 0, 0, pixelsX, pixelsY, pixelsX, pixelsY, GDT_Byte, bytes ) != CE_None ) { throw new RuntimeException( "Error writing raster band." ); } i++; } return ds; }
private Dataset reproject( Dataset src, String dstCrsWkt ) { Driver vrtDriver = gdal.GetDriverByName( "MEM" ); Dataset region = vrtDriver.Create( "/tmp/whatever", width, height, src.getRasterCount() ); region.SetProjection( dstCrsWkt ); region.SetGeoTransform( getGeoTransform( bbox, width, height ) ); gdal.ReprojectImage( src, region ); return region; }
this.gdalDataset.SetProjection(""); } else { this.gdalDataset.SetProjection(geoCoding.getGeoCRS().toWKT());
dataset.SetProjection(projection);
dataset.SetProjection(projection);