ENVIRaster::Export

The Export method saves a raster to a specific format. This method creates a new file, but it does not change the existing raster.

Example

; Launch the application

e = ENVI()

 

; Create an ENVIRaster

file = FILEPATH('qb_boulder_pan', ROOT_DIR=e.ROOT_DIR, $

SUBDIRECTORY = ['data'])

raster1 = e.OpenRaster(file)

 

; Create a temporary output file

newFile = e.GetTemporaryFilename('tif')

 

; Export a subset of the raster as a TIFF file

subRaster = ENVISubsetRaster(raster1, SUB_RECT=[500,2500,1699,3999])

subraster.Export, newFile, 'TIFF'

 

; Open the TIFF file

raster2 = e.OpenRaster(newFile)

view = e.GetView()

layer = view.CreateLayer(raster2)

Also see More Examples below.

Syntax

ENVIRaster.Export, URI, Format [, Keywords=value]

Arguments

URI

A scalar string denoting the fully qualified file path in which the raster will be saved.

Format

A scalar string denoting the format in which the raster(s) will be saved. An error will be thrown if the format is unrecognized or unsupported by the raster. The valid string values are as follows; they are not case-sensitive:

Keywords

Keywords are applied only during the initial creation of the object.

Note: Keywords not associated with the given format are quietly ignored.

DATA_IGNORE_VALUE

Set this keyword to specify a unique data value to use on output for any pixels that have a pixel state of non-zero (No Data, Mask, Outside of ROI). If the ENVIRasterMetadata object associated with the ENVIRaster already contains a data ignore value and you do not set this keyword, that value will be used. For more details on pixel state, see Raster Pixel State.

ERROR

Set this keyword to a named variable that will contain any error message issued during execution of this routine. If no error occurs, the ERROR variable will be set to a null string (''). If an error occurs and the routine is a function, then the function result will be undefined.

When this keyword is not set and an error occurs, ENVI returns to the caller and execution halts. In this case, the error message is contained within !ERROR_STATE and can be caught using IDL's CATCH routine. See IDL Help for more information on !ERROR_STATE and CATCH.

See Manage Errors for more information on error handling in ENVI programming.

INTERLEAVE

Set this keyword to a string specifying the interleave of the raster:

String Interleave Data Array
bil

Band interleaved by line

[ncolumns, nbands, nrows]

bip

Band interleaved by pixel

[nbands, ncolumns, nrows]
bsq

Band sequential

[ncolumns, nrows, nbands]

NITF_COMPRESSION

If you specify NITF as the Format value, set this keyword to a string denoting the NITF compression type, listed below.

The following NITF_COMPRESSION options are only available for use when the NITF Version is set to NITF02.10 or NSIF01.00 in ENVI Preferences (NITF > NITF File Settings), and the data type is byte, integer, unsigned integer, long integer, and unsigned long integer:

The following options work in all supported NITF versions for rasters that have one or three bands, and the data type is byte:

The default value is no compression.

More Examples

The following example creates a mask from a region of interest (ROI) and applies the mask to the source raster. If you were to display the masked raster immediately after creating it, you would not see the masked pixels. In this case, you must export the masked raster and set the DATA_IGNORE_VALUE keyword to 0. When you reopen and display the masked raster, you will see the masked pixels. See How do I set a data value to ignore? for details.

; Start the application

e = ENVI()

 

; Open an input file

file = FILEPATH('qb_boulder_msi', ROOT_DIR=e.ROOT_DIR, $

  SUBDIRECTORY = ['data'])

raster = e.OpenRaster(file)

 

; Open a multi-part ROI

fileName = Filepath('qb_boulder_roi.xml', SUBDIR=['data'], $

  ROOT_DIR=e.Root_Dir)

rois = e.OpenRoi(fileName)

 

; Create a masked raster based on the water ROI.

; Pixels outside of the ROI are masked.

mask = ENVIRoiMaskRaster(raster, rois[2])

 

; Save the masked raster to disk

outFile = e.GetTemporaryFilename()

mask.Export, outFile, 'ENVI', DATA_IGNORE_VALUE=0

Version History

ENVI 5.1

Introduced

API Version

4.2

See Also

ENVIRaster, ENVIRaster::Save