ENVIAgZones::Save
The Save method writes the contents of an ENVIAgZones object to an IDL save file (.sav
).
This method requires a separate license for the ENVI Crop Science Module; contact your sales representative for more information.
Example
This example runs AgCreateZones Task to create a classification raster and a zones object named outZones
. It changes the values of the CLASS_NAMES and APPLICATION_CATEGORY_NAMES attributes, then it saves the zones object.
; Start the application
e = ENVI(/HEADLESS)
; Open a DEM file
File = Filepath('FieldDEM.dat', $
Subdir=['data','crop_science'], $
Root_Dir=e.Root_Dir)
Raster = e.OpenRaster(File)
; Get the task from the catalog of ENVITasks
Task = ENVITask('AgCreateZones')
; Define inputs
Task.INPUT_RASTER = Raster
Task.MINIMUM_AREA = 2023
Task.NUMBER_OF_APPLICATION_CATEGORIES = 5
; Define outputs
Task.OUTPUT_RASTER_URI = e.GetTemporaryFilename()
; Run the task
Task.Execute
; Get the zones object
outZones = Task.OUTPUT_ZONES
; Rename the application category names
newAppCatNames = ['Low', 'Medium', 'High']
zoneNames = outZones.CLASS_NAME
appCatIDs = outZones.CAT_ID
FOR i=1, N_ELEMENTS(newAppCatNames)-1 DO $
idx = WHERE(appCatIDs EQ 1)
zoneNames[idx] = (zoneNames[idx]).Replace( $
'Application Category ' + STRTRIM(i,2), $
newAppCatNames[i-1])
; Create a new zones object with the modified attributes
outZones2 = ENVIAgZones(ZONES=outZones, $
APPLICATION_CATEGORY_NAMES=newAppCatNames, $
CLASS_NAME=zoneNames)
; Save the zones object
outFile = e.GetTemporaryFilename('sav')
outZones2.Save, URI=outFile
Syntax
ENVIAgZones.Save [, Keywords=value]
Arguments
None
Keywords
ERROR (optional)
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.
URI (required)
Set this keyword to a fully qualified path and filename where the ENVIAgZones object will be saved.
Version History
Crop Science 1.1 |
Introduced |
See Also
ENVIAgZones, AgCreateZones Task, AgConvertZonesToShapefile Task