The WriteMetadata method saves all metadata associated with a raster to a header file (.hdr) on disk. The header file is in the same directory as the data file. If you do not have permission to write the metadata file to that directory, the file is written to an auxiliary location specified by the Auxiliary File Directory preference.

Although this method is automatically called by the Save method, you can call ENVIDeepLearningRaster::WriteMetadata directly to save the metadata independently of saving the raster data.

This method does not write the 'read procedures' metadata field to an ENVIRasterMetadata object in custom file readers.

This method is part of ENVI Deep Learning, which requires a separate license and installation.


Sample data files are available on our ENVI Tutorials web page. Click the "Deep Learning" link in the ENVI Tutorial Data section to download a .zip file containing the data. Extract the contents to a local directory.

; Launch the application
e = ENVI()
; Update the following line with the correct path
; to the tutorial data files
File = 'C:\MyTutorialFiles\OaklandPortOrthophoto1.dat'
Raster1 = ENVIDeepLearningRaster(File)
; Create a temporary output file
newFile = e.GetTemporaryFilename('dat')
Raster1.Export, newFile, 'ENVI'
; Open the file
Raster2 = ENVIDeepLearningRaster(newFile)
; Add metadata to the raster for band names and wavelengths
Raster2.Metadata.UpdateItem, 'band names', $
  ['Red', 'Green', 'Blue', 'NIR']
Raster2.Metadata.AddItem, 'new item', 'new metadata item'
; Update the ENVI format .hdr file with new metadata
; Close and reopen the raster data
Raster = ENVIDeepLearningRaster(newFile)
; Obtain the current view and load the raster as a layer
View = e.GetView()
Layer = View.CreateLayer(Raster)


ENVIDeepLearningRaster.WriteMetadata [, ERROR=variable]


Properties marked as (Init) are applied only during the initial creation of the object. Properties marked as (Get) can be retrieved but not set. All other properties can be set during the creation of the object, or retrieved or changed after creation.


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 the Manage Errors topic in ENVI Help for more information on error handling.

Version History

Deep Learning 1.0


See Also