The GetZoneProperty method retrieves properties (also called attributes) for a specified management zone.

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 retrieves all properties for the zone with a ZONE_ID of 1.

; 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
 
; Get some properties that are specific to 
; the zone associated with ZONE_ID=1
outZones.GetZoneProperty, 1, $
  AREA=area, $
  CAT_ID=categoryID, $
  CLASS_NAME=className, $
  CLASS_CLRS=classColors
 
; Print the values of these properties
Print, 'Area: ',area
Print, 'Category ID: ',categoryID
Print, 'Class Name: ',className
Print, 'Class Colors: ',classColors

Syntax


ENVIAgZones.GetZoneProperty, ZoneID [, Keywords=value]

Arguments


ZoneID

Specify a zone ID from which to extract attributes. If you use AgCreateZones Task to create an ENVIAgZones object, it will create a unique ID for each zone; use one of these for the ZoneID argument.

Keywords


ATTRIBUTES (optional)

Specify a hash containing zone-specific attributes. The hash is not case-sensitive. An attribute is recognized as zone-specific if it is an array or list and the number of elements in the last dimension is equal to the number of zones. Not all zone-specific attributes can be exported to a shapefile. Shapefiles require a one-dimensional array of integers, floating-point values, or strings.

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.

PARTS (optional)

Set this keyword to return an array of starting indices of each section of vertices in the specified zone. It is used to identify holes. Zones without holes will have a single-element array, [0].

VERTICES (optional)

Set this keyword to return a [2, n] array of x,y map coordinates for the vertices in the specified zone, where n is the number of points defining the zone.

Version History


Crop Science 1.1

Introduced

See Also


ENVIAgZones, AgCreateZones Task