The GENERATE_ELEV_GRID command allows for the generation of a gridded elevation layer using loaded 3D vector data. The following parameters are supported by the command as well as the display option parameters supported by the IMPORT command.
- FILENAME - filename of the layer(s) to grid. If an empty value is passed in, all loaded vector layers with 3D data will be gridded. This parameter can be listed more than once to specify multiple input files, like FILENAME="FILENAME_1" FILENAME="FILENAME_2". When running the script in the context of the main map view (including loading a workspace) you can also pass in the value 'USER CREATED FEATURES' to have the 'User Created Features' layer updated or 'SELECTED LAYERS' to have any layers selected in the Control Center gridded.
- ELEV_UNITS - specify elevation units to use for new grid
- FEET - US feet
- DECIFEET - 10ths of US feet
- METERS - meters
- DECIMETERS - 10ths of meters
- CENTIMETERS - centimeters
- GRID_ALG - specify gridding algorithm to use
- TIN - triangulate 3D data and grid it. This is the default and allows use of lines and areas as constraints.
- BIN_MIN - uses the minimum value within a bin of size GRID_BIN_SIZE. Requires a Lidar module license . Lidar data will be binned, and 3D line an area features will be used as grid constraints/ break-lines.
- BIN_AVG - uses the average value within a bin of size GRID_BIN_SIZE. Requires a Lidar module license . Lidar data will be binned, and 3D line an area features will be used as grid constraints/ break-lines.
- BIN_MAX - uses the maximum value within a bin of size GRID_BIN_SIZE. Requires a Lidar module license. Lidar data will be binned, and 3D line an area features will be used as grid constraints/ break-lines.
- SPATIAL_RES - specifies spacing of grid points to use in generated grid. A smaller grid spacing results in higher fidelity, but larger, elevation grids. Should be formatted as x_resolution,y_resolution. The units are the units of the current global projection. For example, if UTM was the current global projection and you wanted to use a grid with a 30 meter spacing, the parameter/ value pair would look like SPATIAL_RES=30.0,30.0. If you do not provide a SPATIAL_RES value, a good default for the input data will be chosen, so in most cases it is best just to leave this off.
- SPATIAL_RES_METERS - specifies spatial resolution to use in meters. The value in meters will automatically be converted to the current view/ export projection units. For example, to do an export at 2.0 meter spacing (or as close as you can get to that in the current units), use SPATIAL_RES_METERS=2.0, or to do an export at 1.0 meters in X by 1.5 meters in Y, use SPATIAL_RES_METERS="1.0,1.5".
- GRID_BIN_SIZE - if using a bin-based GRID_ALG for Lidar data this specifies how many native spacings in size to make each bin. For example a value of GRID_BIN_SIZE="3.0" would make each square bin 3 times the calculated native spacing of the point data. You can specify a bin size in meters by using the SPATIAL_RES_METERS parameter or a negative GRID_BIN_SIZE (like GRID_BIN_SIZE="-0.5" for 0.5 meter spacing.
- LAYER_DESC - specifies the name to assign to this layer. If no layer description is provided, a default name will be assigned.
- NO_DATA_DIST_MULT - specifies how far from an actual data point a grid cell has to be before it is treated as a no data value. This number is given as a multiple of the diagonal size of a single grid cell as nominally determined by the gridding algorithm or specified with the SPATIAL_RES parameter. A value of 0 (the default) means that all points should be considered as valid.
- GRID_FILL_TO_BOUNDS - specifies that the grid values should be filled out to the entire bounds of the gridded data rather than just to the convex hull of the data being gridded. Use GRID_FILL_TO_BOUNDS=YES to enable this.
- GRID_FLATTEN_AREAS - specifies that area features with elevation values should be flattened to the elevation of the area features. Use GRID_FLATTEN_AREAS=NO to disable this.
- GRID_HEIGHTS_RELATIVE - specifies that the elevation values for the input vector features should be treated as relative to any loaded terrain data rather than as absolute elevation values. This useful for things like trees or buildings where you have a height above the ground rather than an absolute height. Use GRID_HEIGHTS_RELATIVE=YES to enable this.
- GRID_SAVE_TIN - specifies that the triangulated irregular network (TIN) for the grid operation should be saved as a new separate vector layer consisting of triangular 3D area features. Use GRID_SAVE_TIN=YES to enable this.
- GRID_USE_CONSTRAINTS - specifies that 3D line and area features should be treated as constraints (breaklines) during the gridding process. Use GRID_USE_CONSTRAINTS=YES to enable this. GRID_USE_CONSTRAINTS=NO will disable using 3D line and area features in the grid generation. The method for applying the constraints or breaklines depends on the GRID_ALG. The binning methods use a soft edge value of 2 samples.
- GRID_IGNORE_ZERO - specifies that features with an elevation of 0.0 will not be used during the gridding process.
- GRID_TYPE - specifies what values should be gridded for a bin-based grid. The following values are supported:
- ELEVATION - default, grids the elevation values for each point
- INTENSITY - grids the intensity value for each point
- HEIGHT_ABOVE_GROUND - grids the height above ground for each point
- NDVI - grids the calculate NDVI (normalized difference vegetation index) for 4-band (RGB+NIR) Lidar points
- NDWI - grids the calculate NDWI (normalized difference water index) for 4-band (RGB+NIR) Lidar points
CLASS - grids the classification code of the Lidar points. The classification type that occurs the most in each cell is used, with unknown / unclassified types only being used if no known types are found.
Lidar Point Filter Parameters
See also Lidar Advanced Filter Options
- 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".
- LIDAR_INTENSITY_RANGE - filter to only the specified intensity values. The value is a pair of integers representing the range of intensity values to be included. Example: LIDAR_INTENSITY_RANGE=100,15. If only the first value is provided, it will be considered the minimum intensity value, so all values greater than that value will be included.
Specify Bounding Box for Operation
See also Specify Bounds for Operation
- GLOBAL_BOUNDS - specifies the combine bounds in units of the current global projection. There should be 4 values in a comma-delimited list following the parameter name. The values should be in order of minimum x, minimum y, maximum x, maximum y.
- GLOBAL_BOUNDS_SIZE - specifies the combine bounds in units of the current global projection. There should be 4 values in a comma-delimited list following the parameter name. The values should be in order of minimum x, minimum y, width in x, width in y.
- LAT_LON_BOUNDS - specifies the combine bounds in latitude/longitude degrees. There should be 4 values in a comma-delimited list following the parameter name. The values should be in order of west-most longitude, southern-most latitude, eastern-most longitude, northern-most latitude.
- LAYER_BOUNDS - specifies that the operation should use the bounds of the loaded layer(s) with the given filename. For example, to export to the bounds of the file "c:\test.tif", you would use LAYER_BOUNDS="c:\test.tif". Keep in mind that the file must be currently loaded.
- LAYER_BOUNDS_EXPAND - specifies that the operation should expand the used LAYER_BOUNDS bounding box by some amount. The amount to expand the bounding rectangle by should be specified in the current global projection. For example, if you have a UTM/meters projection active and want to expand the bounds retrieved from the LAYER_BOUNDS parameter by 100 meters on the left and right, and 50 meters on the top and bottom, you could use LAYER_BOUNDS_EXPAND="100.0,50.0". You can also specify a single value to apply to all 4 sides, or supply 4 separate values in the order left,top,right,bottom.
- SNAP_BOUNDS_TO_MULTIPLE - specifies that the top-left corner of the bounding box for the operation should be snapped to a multiple of the given value. For example, using SNAP_BOUNDS_TO_MULTIPLE=1 will snap the top-left corner to the nearest whole number. The values will always go smaller for X/easting/longitude and larger to Y/northing/latitude so you always get at least what is requested.
- SNAP_BOUNDS_TO_SPACING - specifies that the top-left corner of the bounding box for the operation should be snapped to a multiple of the resolution of the operation. For example, if you are exporting at 5 meter spacing, the top left corner will be snapped to the nearest multiple of 5. Use SNAP_BOUNDS_TO_SPACING=YES to enable or SNAP_BOUNDS_TO_SPACING=NO to disable. If not provided, the global setting for snapping exports to the nearest sample spacing boundary from the Advanced section of the General tab of the Configuration dialog will be used.
- USE_EXACT_BOUNDS - specifies that the exact bounds that were defined in the command should be used. Generally, when the bounds specified in a command are not the same as the data bounds, the command uses the intersection between the two. When USE_EXACT_BOUNDS=YES is specified, the command will use the bounds as specified, instead of the intersection.
Cropping to Polygons/Areas
- POLYGON_CROP_FILE - specifies the full path and filename or loaded layer description of a vector file/loaded layer containing one or more polygon features to which the operation should be cropped. If multiple polygons are found in the specified file the polygon which has the largest intersection with the data to be combined will be used as the crop polygon (see POLYGON_CROP_USE_ALL or POLYGON_CROP_USE_EACH for exceptions).
- POLYGON_CROP_FILE_PROJ - specifies the projection to use for the POLYGON_CROP_FILE. Use if the file doesn't have an associated projection file. See special Projection Specification for instructions.
- POLYGON_CROP_NAME - specifies the name of a polygon shape previously defined using the DEFINE_SHAPE command to which the export should be cropped. The coordinates in the shape need to have been provided in whatever projection the new terrain layer will be in (i.e. the current projection). If you want to crop to any area features that are selected with the Digitizer Tool in the user interface rather than a defined polygon, use POLYGON_CROP_NAME="SELECTED".
- POLYGON_CROP_USE_ALL - specifies that if a POLYGON_CROP_FILE is specified that contains multiple polygons, the operation will be cropped to all polygons in that file rather than just the best-fit polygon.
- POLYGON_CROP_USE_EACH - specifies that if a POLYGON_CROP_FILE is specified that contains multiple polygons, the operation will generate a separate export for each polygons in that file rather than just the best-fit polygon. See the POLYGON_CROP_BBOX_ONLY and POLYGON_CROP_NAME_ATTR options for naming and other options when using this parameter. Use POLYGON_CROP_USE_EACH=YES to enable. This parameter also works with FEATHER_BLEND_EDGES. Use POLYGON_CROP_USE_EACH=YES with FEATHER_BLEND_POLY_FILE or FEATHER_BLEND_POLY to feather the edges of multiple polygons.
- POLYGON_CROP_EXCLUDE - specifies that the crop areas are actually regions to exclude from the export rather than include. If you add POLYGON_CROP_EXCLUDE=YES to the command the results will contain everything outside the crop areas but within the full export bounds.
- POLYGON_CROP_COMBINE_DUPS - specifies that if a POLYGON_CROP_FILE is specified that contains multiple polygons and POLYGON_CROP_USE_EACH is set, whether or not polygons with duplicate values for the attribute used for filenaming will be combined into a single export or split into separate exports. The default is POLYGON_CROP_COMBINE_DUPS=YES.
- POLYGON_CROP_BBOX_ONLY - specifies that if the POLYGON_CROP_USE_EACH parameter is specified that each export should just be cropped to the bounding box of each polygon rather than the actual boundary of the polygon. Use POLYGON_CROP_BBOX_ONLY=YES to enable only cropping to the bounding box.
- POLYGON_CROP_GRID_ONLY - specifies that any crop polygon(s) are used only to determine which tile/grid cells will be exported. For each tile/grid cell that intersects a crop polygon, the full tile/grid cell will be exported. Use POLYGON_CROP_GRID_ONLY=YES to enable.
- POLYGON_CROP_INT_DATA_BOUNDS - control how the bounding box for the export is determined if a crop polygon is specified. If this option is disabled, the export bounds will be the bounds of the crop area(s), even if they extend outside the data bounds, unless you explicitly specified a bounding box in the other parameters (i.e. LAYER_BOUNDS, GLOBAL_BOUNDS, etc.). If the option is enabled, the export bounds will be the intersection of the crop area bounds and the non-cropped bounding box (i.e. full data bounds or specified bounds in other parameter). This parameter is enabled by default, use POLYGON_CROP_INT_DATA_BOUNDS=NO to disable.
- POLYGON_CROP_NAME_ATTR - used to control the filenames generated when cropping to multiple polygons using the POLYGON_CROP_USE_EACH parameter. See special Attribute Name parameter details. This value will be appended to any filename specified in the EXPORT FILENAME parameter. If no value is provided, the exported files will be sequentially numbered.
- POLYGON_CROP_FOLDER_ATTR - used to control the filenames generated when cropping to multiple polygons using the POLYGON_CROP_USE_EACH parameter. See special Attribute Name parameter details.
- POLYGON_CROP_FILENAME_SUFFIX - specifies the text to insert in the output filename just before the file extension when cropping to polygons. For example, if you add POLYGON_CROP_FILENAME_SUFFIX="_out", the original FILENAME was "my_file_.dem" and the value from the polygon was "A1", you would get an output filename of "my_file_A1_out.dem".
- POLYGON_CROP_COMPARE_STR - specifies a compare string to use to filter out the areas in the polygon crop file. See the COMPARE_STR parameter for the EDIT_VECTOR script command for details.