DEFINE_LIDAR_FILTER

The DEFINE_LIDAR_FILTER command provides a way to define a Lidar point filter for use in later commands, like EDIT_LIDAR. The following parameters can be used for this command:

  • NAME - specifies the name for the filter

  • LIDAR_ELEV_RANGE - specifies the range of elevations to include in the grid in meters. By default all elevations are gridded, but if you want to restrict values to say 50m - 150m, you could add LIDAR_ELEV_RANGE="50,150".

  • LIDAR_HEIGHT_RANGE - specifies the range of heights above ground to keep in meters. By default all heights are used, but if you want to restrict values to say 0m - 2m above ground, you could add LIDAR_HEIGHT_RANGE="0,2".

  • LIDAR_SCAN_ANGLE_RANGE - specifies the range of scan angles to include in the grid in degrees. By default all scan angles are gridded, but if you want to restrict the grid to only those points with scan angles between 0 and 30 degrees, you could add LIDAR_SCAN_ANGLE_RANGE="0,30".

  • LIDAR_FILTER - specifies a comma-separated list of Lidar class numbers to export. Provide a minus sign to remove the type from the filter rather than add it. The filter starts off with nothing in it if you provide a LIDAR_FILTER string, but you can add ALL to enable everything or NONE to clear the filter, then add or remove stuff after that. For example, to specify a class filter with only types 2 and 3 enabled, use LIDAR_FILTER="NONE,2,3". To get one with everything but classes 2 and 3, use LIDAR_FILTER="ALL,-2,-3". If no LIDAR_FILTER is provided then all types currently enabled in the shared global Lidar filter are used.

  • LIDAR_RETURN_FILTER - specifies a comma-separated list of Lidar return types to enable or disable. Provide a minus sign to remove the type from the filter rather than add it. The filter starts off with the current filter settings, but you can add ALL to enable everything or NONE to clear the filter, then add or remove stuff after that. For example, to specify a return filter with only unknown and first returns, use LIDAR_RETURN_FILTER="NONE,0,1". To get one with everything but the first return, use LIDAR_RETURN_FILTER="ALL,-1". The numeric values have the following meanings:

    • 0 - Unknown Returns
    • 1 - First Return
    • 2 - Second Return
    • 3 - Last Return
    • 4 - Single Return
    • 5 - First of Many Returns
    • 6 - Second of Many Returns
    • 7 - Third of Many Returns
    • 8 - Last of Many Returns
  • LIDAR_COLOR_FILTER - specifies a color to include in the grid. If no value is provided then all colors are gridded. Otherwise, you can provide multiple LIDAR_COLOR_FILTER parameters of the format LIDAR_COLOR_FILTER="RGB(red,green,blue)" to specify colors to keep. The LIDAR_COLOR_DIST parameter specifies how far from an exact match to a specified color that a point color can be to be kept.

  • LIDAR_DENSITY_RANGE - specifies the range of point densities in points per square meter to include. Any Lidar points in regions with densities outside the range are ignored. If you use two values then everything between the values is used. If only one value is specified, then all points in areas >= to the specified value are used. For example, LIDAR_DENSITY_RANGE="1.0" means that all points in areas with densities of 1.0 points per square meter or higher are used.

  • LIDAR_SOURCE_ID_LIST - specifies a comma-separated list of point source IDs to keep. If no list is provided all points are kept. For example, to keep just points with a source ID of 5 or 6, use LIDAR_SOURCE_ID_LIST="5,6".

SAMPLE

// Define a Lidar filter for all points
DEFINE_LIDAR_FILTER NAME="LidarFilter_Vegetation" LIDAR_FILTER="3,4,5"
DEFINE_LIDAR_FILTER NAME="LidarFilter_Building" LIDAR_FILTER="6"

// Move all vegetation points within 2 meter of building points to new layer (mark as deleted in original layer)
EDIT_LIDAR FILENAME="*" LIDAR_FILTER_NAME="LidarFilter_Vegetation" \
NEW_LAYER_NAME="Veg within 2m of Building" DELETE_FEATURES="YES" \
LIDAR_FILTER_NEAR_NAME="LidarFilter_Building" MAX_DIST="2.0" USE_3D_DIST="YES"