This task creates a 2D array of subrects based on a specified distance. A subrect is a bounding box used to spatially subset a raster. It is part of a sequence for dicing rasters:

Consider using ENVIDiceRasterByDistance to perform these steps in one task.

Example


; Start the application
e = ENVI()
 
; Open an input file
File = Filepath('qb_boulder_msi', Subdir=['data'], $
  Root_Dir=e.Root_Dir)
Raster = e.OpenRaster(File)
 
; Get the task from the catalog of ENVITasks
Task = ENVITask('CreateSubrectsFromDistance')
 
; Define inputs
Task.TILE_DISTANCE = 1000
Task.DISTANCE_UNITS = 'Meters'
Task.INPUT_RASTER = Raster
 
; Run the task
Task.Execute
 
; Get the resulting subrects
Subrects = Task.SUBRECTS
 
; Get a list of names that could be used for the subrect areas
SubNames = Task.SUBRECT_NAMES
 
; Print information about the subrects
Help, Subrects

IDL prints:

SUBRECTS   LONG   =Array[4, 9]

This shows that nine subrects were created with four coordinate points each. Now pass the subrects to the DiceRasterBySubrects task:

; Dice raster by subrects
DiceTask = ENVITask('DiceRasterBySubrects')
 
; Define inputs
DiceTask.INPUT_RASTER = Raster
DiceTask.SUBRECT_ARRAY = Subrects
DiceTask.SUBRECT_NAMES = SubNames
 
; Run the task
DiceTask.Execute
 
; Export the rasters to disk
ExportTask = ENVITask('ExportRastersToDirectory')
 
; Define inputs
ExportTask.INPUT_RASTER = DiceTask.OUTPUT_RASTER
ExportTask.OUTPUT_DIRECTORY = Filepath('', /TMP)
 
; Run the task
ExportTask.Execute
 

Syntax


Result = ENVITask('CreateSubrectsFromDistance')

Input properties (Set, Get): DISTANCE_UNITS, INPUT_RASTER, TILE_DISTANCE

Output properties (Get only): SUBRECTS, SUBRECT_NAMES

Properties marked as "Set" are those that you can set to specific values. You can also retrieve their current values any time. Properties marked as "Get" are those whose values you can retrieve but not set.

Methods


This task inherits the following methods from ENVITask:

AddParameter

Execute

Parameter

ParameterNames

RemoveParameter

Properties


This task inherits the following properties from ENVITask:

COMMUTE_ON_DOWNSAMPLE

COMMUTE_ON_SUBSET

DESCRIPTION

DISPLAY_NAME

NAME

REVISION

TAGS

This task also contains the following properties:

DISTANCE_UNITS (required)

Specify a string indicating the units of the tile distance. The options are:

  • Meters
  • Km
  • Feet
  • US Survey Feet
  • Yards
  • Miles
  • Nautical Miles

INPUT_RASTER (required)

Specify the input raster. It must have an ENVIStandardRasterSpatialRef, ENVIRPCRasterSpatialRef, or ENVIPseudoRasterSpatialRef spatial reference defined.

SUBRECTS

This property contains an array of output subrects.

SUBRECT_NAMES

This property contains the names of each output subrect.

TILE_DISTANCE (required)

Specify a double-precision value indicating the distance by which tiles are created, in the units specified by DISTANCE_UNITS. This value applies to both the X and Y direction.

Version History


ENVI 5.4

Introduced

API Version


4.2

See Also


ENVITask, ENVITask::Parameter, ENVISubsetRaster, CreateSubrectsFromPixels Task, CreateSubrectsFromROI Task, CreateSubrectsFromTileCount Task, CreateSubrectsFromVector Task, DiceRasterByDistance Task, DiceRasterByPixel Task, DiceRasterBySubrects Task, DiceRasterByTileCount Task, DiceRasterByVector Task, ExportRastersToDirectory Task