E3De::GenerateProducts

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