The GenerateProducts method uses ENVI LiDAR's automated feature extraction to generate products from LiDAR data.

This method has been deprecated. Use the PointCloudFeatureExtraction task instead.

Example


; Create a headless instance
e = E3De(/HEADLESS)
 
; Open a las file
file = FILEPATH('DataSample.las', ROOT_DIR=e.ROOT_DIR, $
  SUBDIRECTORY = 'DataSample')
lidar = e.OpenLidar(file, AUXILIARY_URI='C:\lidar\DataSample')
 
params = e.GetProductionParameters(lidar, ERROR=error)
 
; Make sure buildings and trees generation is on
params.Buildings_Generate = 1
params.Trees_Generate = 1
 
; Generate products for buildings and trees
e.GenerateProducts, lidar, params, ERROR=error
print, 'Buildings shapefile: ', params.Buildings_Filename
print, 'Trees shapefile: ', params.Trees_Filename
 
; Close any open lidar objects
e.Close

Syntax


E3De.GenerateProducts, E3dlidar [, ProductionParameters] [, CALLBACK=callback] [, ERROR=variable]

Arguments


E3dlidar

An E3DLidar object that is the input data to the automated feature extraction.

ProductionParameters

An E3DProductionParameters object containing the parameters for the automated feature extraction. This is normally created by calling E3De::GetProductionParameters. If this argument is not specified, then the default or saved parameters for the E3DLidar will be used.

Keywords


CALLBACK

Allows you to pass in a callback object. This object must include an ::OnProgress and ::OnDone method. While GenerateProducts is processing ::OnProgress will be called periodically with a progress value as a percentage. The ::OnDone method is called when GenerateProducts is complete. An example callback method is shown below:

function GenerateProductsCallback::Init
return, 1
end
 
pro GenerateProductsCallback::OnDone
print, "done"
end
 
pro GenerateProductsCallback::OnProgress, progress
self.progress = progress
print, progress
end
 
pro GenerateProductsCallback__define
void = {GenerateProductsCallback, $
 progress: 0 $
}
end

ERROR

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


3.2

Introduced

ENVI 5.3 Obsolete

See Also


E3De, E3De::GetProductionParameters, E3DLidar, E3DProductionParameters