CreateSubrectsFromDistance Task

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 parameters (Set, Get): DISTANCE_UNITS, INPUT_RASTER, TILE_DISTANCE

Output parameters (Get only): SUBRECTS, SUBRECT_NAMES

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

Input Parameters

DISTANCE_UNITS (required)

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

INPUT_RASTER (required)

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

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.

Output Parameters

SUBRECTS

This parameter contains an array of output subrects.

SUBRECT_NAMES

This parameter contains the names of each output subrect.

Methods

Execute

Parameter

ParameterNames

Properties

DESCRIPTION

DISPLAY_NAME

NAME

REVISION

TAGS

Version History

ENVI 5.4

Introduced

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