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