The E3DProductionParameters object allows inspection and modification of the automated feature extraction production parameters. This provides input to the algorithms used to generate buildings, trees, power lines, and so on. The E3De::GetProductionParameters method should be used to get the E3DProductionParameters for the specified LiDAR data.

Note: Building, tree, and power line feature extraction requires an ENVI Feature Extraction license to generate. Contact your NV5 Geospatial Solutions sales representative for more information.

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

Example


; Create a headless instance
e = E3De(/HEADLESS)
 
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)
 
; Change the buildings minimum area
params.BUILDINGS_MINIMUM_AREA = 15
 
; Save the change so the next time we call GetProductionParameters
; buildings minimum area will be 15
params.Save
 
; Close any open lidar objects
e.Close

Methods


Save

Properties


Properties marked as (Set) can be set, but cannot be retrieved. The following properties are available:

3D Viewer Database Generation

General Product

Building Extraction

Orthophoto Extraction

DEM/TIN Extraction

Power Line and Power Pole Extraction

DSM Extraction

Products Location

Filtered Point Cloud Generation

Tree Extraction

Building Extraction Properties


BUILDINGS_BOX_MODELS_TYPE

An integer to set the roof contour height. Use when the BUILDINGS_USE_BOX_MODELS value is 1. Set as follows:

  • 0: Height at Average Roof. The roof contour is set at the average height of the roof.
  • 1: Height at Bottom Roof (default). The roof contour is set at the lowest point of the roof.
  • 2: Height at Top Roof. The roof contour is set at the highest point of the roof.

BUILDINGS_FILENAME

A string value specifying the filename for the buildings product.

BUILDINGS_FORMAT

An integer value specifying the format of the buildings product output. Valid values are:

  • 0: DXF
  • 1: SHP (default)

BUILDINGS_GENERATE

A boolean value to generate buildings products as follows:

  • 0: Do not generate (default)
  • 1: Generate

BUILDINGS_MINIMUM_AREA

A float value specifying the minimum area for building planes. The buildings algorithm searches for all flat surfaces, then measures the area of each flat surface. Surfaces with an area less than this value are filtered out before processing continues. Units: square meters. Default: 10.

BUILDINGS_NEAR_GROUND_FILTER_WIDTH

A float value specifying the near-ground filter width. This is useful for preventing buses, trucks, train cars, and so forth from being classified as buildings. Near-ground filtering occurs after BUILDINGS_MINIMUM_AREA filtering. Objects less than 5 meters above the ground that have a width less than this value are filtered out of the building classification. Units: centimeters. Default: 300.

BUILDINGS_PLANE_SURFACE_TOLERANCE

A float value specifying the plane surface tolerance. This is the allowed vertical tolerance for searching for the surface in the neighboring points. This setting is useful for databases that have higher noise, and also when the nature of surfaces requires a higher tolerance, such as curved surfaces. If trees are present, increasing this value also increases the likelihood of falsely identifying trees as buildings. Range: greater than or equal to 15.0 and less than or equal to 60.0. Units: centimeters. Default: 30.

BUILDINGS_POINTS_IN_RANGE

A float value specifying the buildings points range. This is useful for detecting building planes when the point density is not equal throughout the data. Typically, this value should be 0 (Auto in the user interface); however, if the data density is low (1 point per m2 or lower), large buildings such as hangars or warehouses may not be classified as buildings. Increasing this value to 1.2 or 1.4 will help detect them, but also increases the likelihood of falsely identifying trees as buildings. Range: greater than or equal to 0.5 and less than or equal to 1.4. Units: meters. Default: 0.

BUILDINGS_USE_BOX_MODELS

A boolean value as follows:

  • 0: Do not use box models (default).
  • 1: Use box models to calculate buildings as a perimeter line with one flat roof shape. This prevents the algorithm from dividing buildings into sub-surfaces and leaves them as flat roof bounding contours. The classification is the same, but only one contour is generated at the height set in BUILDINGS_BOX_MODELS_TYPE.

DEM/TIN Extraction


DEM_CONSTANT_HEIGHT_OFFSET

A float value to specify an offset for the DEM grid in a noisy dataset. The elevation of the DEM may be slightly offset in noisy datasets due to inaccurate points above and below the ground. If this occurs, you can shift the terrain grid up or down by up to 10 centimeters. A positive number moves the DEM up, and a negative number moves the DEM down. Units: Centimeters. Default: 2.

DEM_CONTOURS_FILENAME

A string value specifying the filename for the DEM contours product.

DEM_CONTOURS_FORMAT

An integer specifying the format of the DEM contours product output. Valid values are:

  • 0: DXF
  • 1: SHP (default)

DEM_CONTOURS_GENERATE

A boolean value to generate DEM contours as follows:

  • 0: Do not generate (default)
  • 1: Generate

DEM_CONTOURS_LINES_SPACING

A float value specifying the vertical spacing between the DEM height contour lines. This step is done after the DEM grid is generated; therefore, it does not affect the DEM grid generation. Range: greater than or equal to 50 and less than or equal to 1000. Units: centimeters. Default: 200.

DEM_FILENAME

A string value specifying the filename for the DEM product.

DEM_FILTER_DATABASE_EDGES

A boolean value. In some terrain, such as forested areas with trees at the edge of the dataset, the algorithms of the DEM grid generation do not detect the edges of the database well. Set the value as follows:

  • 0: Process the edge of the database (default).
  • 1: Do not process the edge of the database. Points that are located within an area up to 16 meters from the database edges are classified as unprocessed.

DEM_FILTER_LOWER_POINTS

An unsigned char value. This parameter is useful for filtering points that are lower than the terrain. Valid values are:

  • 0: Do Not Filter. Disables filtering of points that are lower than the terrain. Use for low density LiDAR data (less than 5 points per square meter).
  • 3: Urban Area Filtering. To filter, the area is divided to the grid resolution. For each cell in the grid, the points are put into a histogram and examined. Points are sorted by height, and the median point and standard deviation are found. Points that are below a multiplier of the standard deviation from the median are filtered out. If the standard deviation is too large, gaps are also counted in the histogram for better filtering. Urban areas have more false points that needed to be filtered; if you specify rural filtering in an urban area, some of the false points will not be detected.
  • 10: Rural Area Filtering (default). Processing is done as it is in Urban Area Filtering, the difference being how the standard deviation criterion is applied. If you specify urban filtering in a rural area, the filtering may be too aggressive, and some good terrain points in forest areas may be filtered out resulting in bumps under trees.

DEM_FORMAT

An integer value specifying the format of the DEM product output. Valid values are:Note for all post 5.2 output formats: change value to be a string value (as in ENVI API).

  • 2: Erdas Elevation (Erdas Imagine IMG format with elevation data)
  • 3: Surfer ASCII Grid
  • 4: Surfer Binary Grid v6
  • 6: USGS ASCII DEM format
  • 7: XYZ ASCII Grid file
  • 8: Arc Info ASCII Grid format
  • 9: GeoTIFF
  • 50: LIDAR_EXPORT_ENVI_ELEVATION (default). In the user interface, this is the ENVI Elevation Format.

DEM_GENERATE

A boolean value to generate DEM-related products as follows:

  • 0: Do not generate (default)
  • 1: Generate

DEM_GRID_RESOLUTION

An unsigned long integer value specifying the grid resolution to use when creating the DEM. Internally, a 50 or 100 centimeter grid resolution is used and sub-sampled to 200-1000 centimeters, if selected. The 50 centimeter grid tunes the DEM extraction algorithms to be more sensitive at some points, and requires higher density data. If the project density is lower than 4 points / m2, selecting a 50 centimeter grid will not result in better resolution of the DEM, and the amount of time to create the DEM will increase. To save processing time, 100 centimeter resolution is recommended unless a very detailed 50 centimeter posting DEM is needed. Range: greater than or equal to 50, and less than or equal to 1000. Units: centimeters. Default: 100.

DEM_NEAR_TERRAIN_CLASSIFICATION

A float value to specify the near-terrain classification. Classifying points as near-terrain is useful to catch low objects that are not part of the terrain and are also not buildings, trees or power lines. For example, low vegetation, cars, buses, and so forth could all be classified as near-terrain objects. This classification is done after the DEM grid is created. When set to 50, a point is classified as terrain if it is within 50 centimeters of the grid. You can set near-terrain classification between 15 and 50 centimeters. For example, if this value is set at 20, points with a distance of 0 to 20 centimeters from the grid are classified as terrain points, and points with a distance of 20 to 50 centimeters are classified as near-terrain points. Range: greater than or equal to 15 and less than or equal to 50. Units: centimeters. Default: 50.

DEM_SENSITIVITY

A float value. Use when the DEM_VARIABLE_SENSITIVITY_ALGORITHM value is 1. The higher the sensitivity, the better it works with higher-frequency terrain, but increases the likelihood of falsely identifying terrain as buildings. Default: 30 (medium sensitivity).

DEM_TIN_GENERATE

A boolean value to generate a TIN-related product as follows:

  • 0: Do not generate (default)
  • 1: Generate

DEM_TIN_FILENAME

A string value specifying the filename for the DEM TIN product.

DEM_TIN_FORMAT

An integer value specifying the format of the DEM TIN product output. Valid values are:

  • 0: DXF
  • 1: SHP (default)

DEM_TIN_MAX_ERROR

A float value specifying the maximum permitted vertical distance between a triangle and the actual terrain. The distance between the TIN and the actual terrain introduces errors into the TIN mesh. Reducing the this value results in a more accurate TIN, but increases triangle count.

This value and the DEM_TIN_MAX_POLYGON_DENSITY value will affect the TIN representation of the ground. TIN production does not affect the DEM grid production algorithm. TIN production uses only the points classified as terrain. Reducing the value of DEM_NEAR_TERRAIN_CLASSIFICATION results in reducing the number of points that are classified as terrain, thereby reducing both the time for TIN generation and the size of the TIN generated. Units: centimeters. Default: 10.

DEM_TIN_MAX_POLYGON_DENSITY

A float value specifying the maximum number of triangles that will be produced in a 100x100 meter area when producing the TIN. This value and the DEM_TIN_MAX_ERROR parameter will affect the TIN representation of the ground. If this value is set too low, it may not be possible to achieve the DEM_TIN_MAX_ERROR. Default: 10000.

DEM_VARIABLE_SENSITIVITY_ALGORITHM

A boolean value to use the variable sensitivity algorithm as follows:

  • 0: Do not use (default)
  • 1: Use the algorithm. This algorithm works best in low-density forest areas and areas with large gaps between points, but has difficulty identifying large buildings.

DSM Extraction


DSM_FILENAME

A string value specifying the filename for the DSM product.

DSM_FORMAT

An integer value specifying the format of the DSM product output. Valid values are:

  • 2: Erdas Elevation (Erdas Imagine IMG format with elevation data)
  • 3: Surfer ASCII Grid
  • 4: Surfer Binary Grid v6
  • 6: USGS ASCII DEM format
  • 7: XYZ ASCII Grid file
  • 8: Arc Info ASCII Grid format
  • 9: GeoTIFF
  • 50: LIDAR_EXPORT_ENVI_ELEVATION (default). In the user interface, this is the ENVI Elevation Format.

DSM_GENERATE

A boolean value to generate a DSM-related product as follows:

  • 0: Do not generate (default)
  • 1: Generate

DSM_GRID_RESOLUTION

An unsigned long integer specifying the resolution of the DSM grid. Range: Greater than or equal to 25 and less than or equal to 1000. Units: centimeters. Default: 100.

DSM_USE_POWERLINES_POINTS

A boolean value to specify whether power lines and cables will be part of the DSM. If Viewshed Analysis will be used with the processed project, power lines and cables need to be included in the DSM. Valid values are:

  • 0: Do not include
  • 1: Include (default)

Filtered Point Cloud Generation


FILTERED_POINTCLOUD_GENERATE

A boolean value to generate point cloud-related products as follows:

  • 0: Do not generate (default)
  • 1: Generate

FILTERED_POINTCLOUD_FILENAME

A string value specifying the base filename for the filtered point cloud product. This name can have the following formats:

  <base_filename>_unclassified_000.las
   
  <base_filename>_<product>_000.las (ex. pc_trees_000.las)

FILTERED_POINTCLOUD_FORMAT

An integer specifying the format of the filtered point cloud product output. Valid values are:

  • 0: TEXT
  • 1: LAS (default)
  • 2: BIN

FILTERED_POINTCLOUD_SEPARATE_BY_CLASS

A boolean value to separate point cloud datasets, each containing data from an individual class, as follows:

  • 0: Do not separate (default)
  • 1: Separate

FILTERED_POINTCLOUD_SIZE_LIMIT

A float value. Set this to limit the size of each of the generated point cloud files. If the value specified is less than 10000 (10MB), then a value of 10000 will be used. Units: kilobytes. Default: 500000.

General Product


GENERAL_CLIP_MAX_HEIGHT

A float value specifying the maximum height extent of the source project at which to filter high-altitude noise. Set the value to the highest known point in the area. All points above this height are ignored. The default is the height value of the highest point in the file.

GENERAL_CLIP_MIN_HEIGHT

A float value specifying the minimum height extent of the source project at which to filter false low points. Set the value to the lowest known point in the area. All points below this height are ignored. The default is the actual lowest point in the file.

GENERAL_MAX_POINTS_DENSITY

A float value that limits the number of processed and viewed points. The limit is applied by taking only some of the points per block of data (a single block is 32x32 meters). Limiting the density shortens the processing time of the building and power line detection algorithms, but might also limit the number of extracted features. Used mostly with terrestrial and mobile scanning databases, as the density is much higher closer to the scanner. Specify the units using GENERAL_POINTS_DENSITY_UNITS. Default: 50 points per square meter, regardless of the density of the input; or 0.141421 Ground Sample Distance, in meters.

GENERAL_POINTS_DENSITY_UNITS

An integer specifying the units of the maximum points density. Use with GENERAL_MAX_POINTS_DENSITY. Valid values are:

  • 0: points per square meter (default)
  • 1: Ground Sample Distance (GSD), in meters

GENERAL_PROCESS_RECT_MAXX

A double-precision floating point value specifying the maximum X value of the dataset to include in processing. This value should be in the coordinate system specified by the SPATAILREF property. Default: use full dataset.

GENERAL_PROCESS_RECT_MAXY

A double-precision floating point value specifying the maximum Y value of the dataset to include in processing. This value should be in the coordinate system specified by the SPATAILREF property. Default: use full dataset.

GENERAL_PROCESS_RECT_MINX

A double-precision floating point value specifying the minimum X value of the dataset to include in processing. This value should be in the coordinate system specified by the SPATAILREF property. Default: use full dataset.

GENERAL_PROCESS_RECT_MINY

A double-precision floating point value specifying the minimum Y value of the dataset to include in processing. This value should be in the coordinate system specified by the SPATAILREF property. Default: use full dataset.

SPATIALREF

An E3DLidarSpatialRef object that specifies the desired coordinate system of the generated products.

NUMBER_OF_CORES

An unsigned long integer specifying the number of cores to use for product processing when multiple CPUs are available.

Zero indicates to use all available cores for processing. If a value less than the maximum cores is specified, the remainder will be available for other processes. If a value greater than the number of available cores is specified, then the maximum number of available cores will be used. Default: 0.

Orthophoto Extraction


ORTHOPHOTO_FILENAME

A string value specifying the filename for the orthophoto product.

ORTHOPHOTO_FORMAT

An integer specifying the format of the orthophoto product output. Valid values are:

  • 0: GeoTIFF (default)
  • 1: JPG
  • 2: PNG
  • 3: Erdas Imagine IMG
  • 4: BMP
  • 50: ENVI raster format

ORTHOPHOTO_GENERATE

A boolean value to generate orthophoto-related products as follows:

  • 0: Do not generate
  • 1: Generate (default)

ORTHOPHOTO_INTENSITY_RANGE_MAX

A float value. All points with intensity higher than this value appear white. This setting also affects the intensity display in the Main window. Use the default value unless you see that the file is all or mostly black, in which case decrease the value. You can invert the ORTHOPHOTO_INTENSITY_RANGE_MAX and ORTHOPHOTO_INTENSITY_RANGE_MIN intensity range values so that darker features will appear darker. Default: 255.

ORTHOPHOTO_INTENSITY_RANGE_MIN

A float value. All points with intensity lower than this value appear black. This setting also affects the intensity display in the Main window. Use the default value unless you see that the file is all or mostly white, in which case increase the value. You can invert the ORTHOPHOTO_INTENSITY_RANGE_MIN and ORTHOPHOTO_INTENSITY_RANGE_MAX intensity range values so that darker features will appear lighter. Default: 0.

ORTHOPHOTO_RESOLUTION

An unsigned long integer specifying the resolution of the generated orthophoto. The orthophoto is based on LiDAR intensity or RGB (if supported by the point data format; otherwise, it is grayscale intensity). Range: greater than or equal to 25 and less than or equal to 800. Units: centimeters per pixel. Default: 100.

Power Line and Power Pole Extraction


POWERLINES_FILENAME

A string value specifying the filename for the power lines product.

POWERLINES_FORMAT

An integer value specifying the format of the power lines product output. Valid values are:

  • 0: DXF
  • 1: SHP (default)

POWERLINES_GENERATE

A boolean value to generate power lines and power poles products as follows:

  • 0: Do not generate (default)
  • 1: Generate

POWERLINES_MIN_HEIGHT

A float value to specify the minimum height from the ground at which to detect power lines. Units: meters. Default: 6.

POWERLINES_SEARCH_LOWKV

A boolean value as follows:

  • 0: Do not search for low kilo volt power lines that are close to each other (default).
  • 1: Search for low kilo volt power lines that are close to each other. The algorithm will be able to separate the lines only if the point density is high and the noise is low. Otherwise, expect that power lines might cross each other. Do not use this property and POWERLINES_SEARCH_WIDE together.

POWERLINES_SEARCH_WIDE

A boolean value as follows:

  • 0: Do not get one vector for triple conductors attached together in transmission lines (default).
  • 1: Get one vector for triple conductors attached together in transmission lines. This property searches power lines in noisy data where points that belong to one power line may be horizontally scattered over one meter. Use with caution as it may connect several lines together. This property is not optimized for low KV power lines. Do not use this property and POWERLINES_SEARCH_LOWKV together.

POWERPOLES_CLASS_EXTEND_TOP

A float value. See POWERPOLES_CLASS_RADIUS_LOW and POWERPOLES_MAX_RADIUS_TOP. The classification of the top part of the power pole is done by the width of the power poles arms. If a wider radius is needed, use this parameter to extend it. At the higher part of the power pole, points located this distance from the attachment points will be classified as power line points. Units: meters. Default: 0.

POWERPOLES_CLASS_RADIUS_LOW

A float value to specify the lower part of the pole from the ground level to the half of the pole height. This is used for classification after the power pole was identified. The classification is done in a cylinder around the pole center. If the radius of the power pole is known, set the parameter to the known radius of the base. For large pylons, if this parameter is not increased to a high enough value, not all of the points on the pylon will be classified as power pole. Units: meters. Default: 3.

POWERPOLES_DETECT

A boolean value as follows:

  • 0: Do not generate power pole output (default).
  • 1: Process power poles by searching, or by using the imported power pole locations reference list. Power poles are searched for by looking for attachment points where two power lines have a shared point. After identifying these shared points, the algorithm searches for a cluster of points with a shared angle range of lines extending from the shared points.

POWERPOLES_EXTEND_WIRES_DISTANCE

A float value to set the maximum power line gap to be corrected. This bridges gaps in the line from the end of the detected line to the next power pole. This algorithm assumes the power lines are not continuous for reasons such as:

  • Points may not be recorded if the LiDAR sensor was too close to the high points on the power line.
  • The LiDAR sensor's view of one power line may be obscured by another line.

Units: meters. Default: 40.

POWERPOLES_LOCATION_FILE (Set)

A string specifying the filename of the power pole locations file to import. The pole locations file is in ASCII CSV format, for example:

622967.510,5829323.700,109.355
622934.300,5829330.640,109.544
622908.220,5829337.950,109.628
622886.330,5829341.760,109.805
622856.430,5829348.280,110.018
622832.600,5829351.730,110.028
622775.250,5829360.800,109.760
622753.600,5829364.680,109.659

where:

Column 1: X location

Column 2: Y location

Column 3: Height (meters)

POWERPOLES_MAX_RADIUS_TOP

A float value indicating the maximum radius of the power pole arm. In most situations, there is no need to change it, as it is selected automatically by the attachment point spreading. Set this parameter so the algorithm will not join attachment points with the wrong placement of the power pole base. This will happen if there are two parallel lines with separated power poles. Units: meters. Default: 10.

POWERPOLES_SEARCH_ADDITIONAL

Power poles can be imported from a file using the POWERPOLES_LOCATION_FILE property. A boolean value as follows:

  • 0: Use only the power poles imported from POWERPOLES_LOCATION_FILE (default).
  • 1: If a list of points was imported, search for additional power poles. Power poles are searched for by looking for attachment points where two power lines have a shared point. After identifying these shared points, the algorithm searches for a cluster of points with a shared angle range of lines extending from the shared points.

Products Location


PRODUCTS_LOCATION

A string value specifying the name of the output folder to which the associated product files will be written. This location is a subfolder of the main project folder. Default: Products.

Tree Extraction


TREES_FILENAME

A string value specifying the filename for the trees product.

TREES_FORMAT

An integer value specifying the format of the trees product output. Valid values are:

  • 0: CSV
  • 1: SHP (default)

TREES_GENERATE

A boolean value to generate trees products as follows:

  • 0: Do not generate
  • 1: Generate (default)

TREES_MAX_HEIGHT

A float value specifying the expected maximum height of trees in the project. Higher points will not be classified as trees. This avoids items such as cranes being classified as trees. Units: centimeters. Default: 5000.

TREES_MIN_HEIGHT

A float value specifying the expected minimum height of trees in the project. Points with dispersal characteristic of trees will be classified as trees. Units: centimeters. Default: 130.

TREES_MAX_RADIUS

A float value specifying the expected maximum radius of trees in the project. Units: centimeters. Default: 600.

TREES_MIN_RADIUS

A float value specifying the expected minimum radius of trees in the project. This avoids items such as lampposts being classified as trees. Units: centimeters. Default: 200.

3D Viewer Database Generation


VIEWER_DATABASE_GENERATE

A boolean value to generate the ENVI LiDAR 3D Viewer database as follows:

  • 0: Do not generate
  • 1: Generate (default)

Version History


3.2

Introduced

3.2 SP1 Added NUMBER_OF_CORES property
ENVI 5.3 Obsolete

See Also


E3De::GetProductionParameters, E3DLidarSpatialRef