The AddVectorRecords method adds geometry records from an ENVIVector to an ROI.


; Launch the application
e = ENVI()
; Use the IDLffShape object to read in vector attributes
file = Filepath('qb_boulder_msi_vectors.shp', ROOT_DIR=e.Root_Dir, $
shape = IDLffShape(file)
attributes = shape.GetAttributes(/ALL)
Obj_Destroy, shape
; Locate the records where the second attribute 
; "CLASS_NAME" is equal to "water"
records = Where(attributes.(1) EQ "water")
; Open the shapefile in ENVI
vector = e.OpenVector(file)
; Define a new ROI using these records
roi = EnviRoi(NAME='Water', COLOR="Dark Blue")
roi.AddVectorRecords, vector, records
; Open the input file
file = Filepath('qb_boulder_pan', ROOT_DIR=e.Root_Dir, $
raster = e.OpenRaster(file)
view = e.GetView()
layer = view.CreateLayer(raster)
view.Zoom, /FULL_EXTENT
; Display the shapfile
vectorLayer = view.CreateLayer(vector)
; Display the new "Water" ROI
roiLayer = layer.AddRoi(roi)


ENVIROI.AddVectorRecord, Vector, Records [, ERROR=variable]



The ENVIVector reference that contains the geometry records to add. The records are sequential and zero-based, for example, 0=Record1, 1=Record2, and so on.


A long array of which geometry records to include from the ENVIVector.



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.

Version History

ENVI 5.1


API Version


See Also

ENVIROI, ENVIROI::ClearVectorRecords, ENVIVector