Types for Surface Analysis ========================== The following types are used in functions related to surface analysis operations as parameters and return values. These types use fixed, numeric constants, which are defined here. ------------------------------------------------------------------------------------------------------------------------ .. py:data:: globalmapper.GM_CombineOp_t8 Available operations when combining terrain layers :values: **GM_CombineOp_Add** = 0 Addition **GM_CombineOp_SubtractSigned** = 1 Subtraction (Difference) - Signed **GM_CombineOp_SubtractUnsigned** = 2 Subtraction (Difference) - Unsigned **GM_CombineOp_Average** = 3 Average Elevation **GM_CombineOp_Minimum** = 4 Minimum Elevation **GM_CombineOp_Maximum** = 5 Maximum Elevation **GM_CombineOp_Multiply** = 6 Multiply the values from the layers together **GM_CombineOp_Divide** = 7 Divide the First Layer Value by the Second **GM_CombineOp_FilterKeepFirstIfSecond** = 8 Filter - Keep First Layer Value only if Second Layer Value Valid **GM_CombineOp_KeepFirstIfGTSecond** = 9 Filter - Keep First Layer Value only if Greater Than Second Layer Value **GM_CombineOp_KeepFirstIfLTSecond** = 10 Filter - Keep First Layer Value only if Less Than Second Layer Value **GM_CombineOp_KeepFirstIfSecondGTVal** = 11 Filter - Keep First Layer Value only if Second Layer Value > Some Value **GM_CombineOp_KeepFirstIfSecondLTVal** = 12 Filter - Keep First Layer Value only if Second Layer Value > Some Value **GM_CombineOp_FilterKeepFirstIfNotSecond** = 13 Filter - Keep First Layer Value only if Second Layer Value Invalid **GM_CombineOp_CountValid** = 14 Count Valid Samples at Each Location **GM_CombineOp_NumTypes** = 15 ------------------------------------------------------------------------------------------------------------------------ .. py:data:: globalmapper.GM_CombineOpFlags_t32 Flags used in the setup structure needed for a grid layer combine operation :values: **GM_CombineOp_FillGaps** = 0x00000001 Fill small gaps in terrain layers **GM_CombineOp_HideProgress** = 0x00000002 Hide progress for the operation **GM_CombineOp_FindOverlap** = 0x00000004 When counting layers, only count where all layers overlap (1 for valid from all, 0 otherwise) ------------------------------------------------------------------------------------------------------------------------ .. py:data:: globalmapper.GM_DensityGridFlags_t32 Flags for density grid generation :values: **GM_DensityFlags_DisableProgress** = 0x00000001 Don't display a progress dialog ------------------------------------------------------------------------------------------------------------------------ .. py:data:: globalmapper.GM_DensityKernelType_t8 Different type of calculation kernels to use for density generation :values: **GM_KernelType_Gaussian** = 0 Gaussian **GM_KernelType_Circle** = 1 Circle **GM_KernelType_Epanechnikov** = 2 Anechnikov **GM_NumKernelTypes** = 3 ------------------------------------------------------------------------------------------------------------------------ .. py:data:: globalmapper.GM_EqualValueAreaFlags_t32 Flags for the equal-value area operation :values: **GM_EqualValueArea_ForceRGB** = 0x00000001 Use RGB attribute for color attributes even if in palette **GM_EqualValueArea_Coverage** = 0x00000002 Just create a coverage layer, so we only care about valid or not **GM_EqualValueArea_FixInvalid** = 0x00000004 Automatically chop up any resulting areas that are invalid **GM_EqualValueArea_BluntCorners** = 0x00000008 Force the blunting of right angles to avoid invalid areas **GM_EqualValueArea_NoSlope** = 0x00000010 Don't do equal value of slope even if slope shader is used **GM_EqualValueArea_UseElevRange** = 0x00000020 The mElevRangeLow/mElevRangeHigh values in GM_EqualValueAreaSetup_t are valid **GM_EqualValueArea_UseSlopeDir** = 0x00000040 Use slope direction values ------------------------------------------------------------------------------------------------------------------------ .. py:data:: globalmapper.GM_GridAlg_t8 Gridding algorithm - Specify what gridding algorithm to use when gridding 3D vector data and point clouds :values: **GM_GridAlg_TIN** = 0 Triangulate and grid, same as normal 3D gridding **GM_GridAlg_BinMinimum** = 1 (DTM) Bin the points, use min value (i.e. elevation) in each bin, use a bin size some multiplier of average spacing **GM_GridAlg_BinAverage** = 2 Bin the points, use avg value (i.e. elevation) in each bin, use a bin size some multiplier of average spacing **GM_GridAlg_BinMaximum** = 3 (DSM) Bin the points, use max value (i.e. elevation) in each bin, use a bin size some multiplier of average spacing **GM_GridAlg_BinMedian** = 4 Bin the points. Use median value (i.e. elevation) in each bin. **GM_GridAlg_BinVariance** = 5 Bin the points. use variance of value (i.e. elevation) in each bin. **GM_GridAlg_BinFromMaxElev** = 6 Bin Lidar points, use attribute value from point with maximum elevation **GM_GridAlg_BinFromMinElev** = 7 Bin Lidar points, use attribute value from point with minimum elevation **GM_GridAlg_NumTypes** = 8 **GM_GridAlg_None** = 0xFF Create a point cloud (don't grid) **GM_GridAlg_Default** = GM_GridAlg_TIN **GM_GridAlg_DefaultLidar** = GM_GridAlg_BinMinimum Default algorithm for only Lidar points ------------------------------------------------------------------------------------------------------------------------ .. py:data:: globalmapper.GM_GridGapFillAlg_t8 Gridding gap fill algorithm - specify what gridding algorithm to use when filling gaps :values: **GM_GapFillAlg_None** = 0 No Gap fill at all **GM_GapFillAlg_TinSample** = 1 Sample TIN surface triangles (piecewise affine) [only available with GM_GridAlg_TIN] **GM_GapFillAlg_IDW** = 2 Inverse weighted distance algorithm **GM_GapFillAlg_Kriging** = 3 Kriging **GM_GapFillAlg_NearestNeighbor** = 4 Use elevation of nearest valid sample **GM_GapFillAlg_NaturalNeighbor** = 5 The neighbor weights are calculated by finding how much of each of the surrounding areas is "stolen" when inserting (x,y) into the Voronoi tessellation **GM_GapFillAlg_NumTypes** = 6 **GM_GapFillAlg_Default** = GM_GapFillAlg_IDW ------------------------------------------------------------------------------------------------------------------------ .. py:data:: globalmapper.GM_GridGenFlags_t32 This type represents the different flags available for elevation grid generation :values: **GM_GridGen_NoConstraints** = 0x00000001 Don't treat area and line boundaries as constraints (i.e. break lines) **GM_GridGen_FlattenAreas** = 0x00000002 Flatten 3D areas **GM_GridGen_FillToBounds** = 0x00000004 Fill the grid to the full bounding rectangle of the input data and not just to the convex hull **GM_GridGen_IgnoreZeroElevs** = 0x00000008 Don't use features with an elevation value of 0 **GM_GridGen_HeightsRelative** = 0x00000010 Vector elevations are relative to underlying terrain data (if loaded) **GM_GridGen_CropToAreasIfAllAreas** = 0x00000020 If all features are areas, mark everything outside areas as invalid **GM_GridGen_IncludeStreams** = 0x00000040 If stream lines are provided assign them elevations from intersecting lines **GM_GridGen_SelAreasOnly** = 0x00000080 Only consider selected areas **GM_GridGen_AreaVertexRelativeOnly** = 0x00000100 Only the area vertex height is relative to ground, not inside the area **GM_GridGen_RelativeRequireValid** = 0x00000200 If GM_GridGen_HeightsRelative is set, don't grid points if there is no terrain at the location **GM_GridGen_SaveGroundHeight** = 0x00000400 If using Lidar field GM_LidarGrid_Height, grid the DSM (digital surface model) by working backwards from calculated heights above ground **GM_GridGen_CreateLidarImage** = 0x00000800 If gridding a Lidar field than can potentially be stored as an image or grid (i.e. GM_LidarGrid_Intensity), create an image rather than a grid **GM_GridGen_ApplyLidarBreaklines** = 0x00040000 Apply 3D line and 3D area features as breaklines when gridding Lidar data **GM_GridGen_IgnoreTypeFilters** = 0x00080000 Ignore any set type filters and grid all 3D features in the provided layer(s) **GM_GridGen_TinAreasOnly** = 0x00100000 Only grid 3D area features with TIN geometry (ignore all other features) **GM_GridGen_HideProgress** = 0x00200000 Don't show progress during this operation ------------------------------------------------------------------------------------------------------------------------ .. py:data:: globalmapper.GM_GridValType_t8 **(DEPRECATED)** List of supported grid layouts for GM_CreateCustomElevGridLayer :values: **GM_GridValType_SInt16** = 0 Each sample is a signed 16-bit integer **GM_GridValType_SInt32** = 1 Each sample is a signed 32-bit integer **GM_GridValType_Float** = 2 Each sample is an IEEE 32-bit floating point number **GM_GridValType_NumTypes** = 3 ------------------------------------------------------------------------------------------------------------------------ .. py:data:: globalmapper.GM_PathProfileLOSFlags_t32 Flags to control the behavior of path profile/line of sight analysis :values: **GM_PathProfile_LOSValid** = 0x00000001 Perform line-of-sight analysis **GM_PathProfile_LOSIgnoreEndpoints** = 0x00000002 Ignore endpoints when performing line-of-sight analysis (i.e. end points can't block line of sight) **GM_PathProfile_LOSFromHeightAbsolute=** = 2 **GM_PathProfile_LOSToHeightAbsolute** = 0x00000008 Line-of-sight to height is absolute height above sea level rathern than height above ground **GM_PathProfile_IgnoreEarthCurvature** = 0x00000010 Ignore earth curvature in any line-of-sight analysis ------------------------------------------------------------------------------------------------------------------------ .. py:data:: globalmapper.GM_RoughnessGridFlags_t32 Flags for roughness grid generation :values: **GM_RoughnessFlags_DisableProgress** = 0x00000001 Don't display a progress dialog **GM_RoughnessFlags_DontFixInvalid** = 0x00000002 Don't automatically chop up invalid areas to make them valid ------------------------------------------------------------------------------------------------------------------------ .. py:data:: globalmapper.GM_RoughnessTable_t Types of roughness tables for converting color values representing land cover to roughness values :values: **GM_Roughness_CorineSummer** = 0 CORINE Land Cover - Summer **GM_Roughness_CorineWinter** = 1 CORINE Land Cover - Winter **GM_Roughness_VCF** = 2 Vegetation Continuous Fields (GLCF from MODIS) **GM_Roughness_NLCD** = 3 US NLCD (National Land Cover Database) **GM_Roughness_GlobCoverESA2009** = 4 GlobCover ESA 2009 Land Cover Database **GM_Roughness_GlobeLand30** = 5 GlobeLand30 Land Cover Database **GM_Roughness_ESA_CCI** = 6 ESA CCI (Climate Change Initiative) Land Cover Database **GM_Roughness_NumTypes** = 7 ------------------------------------------------------------------------------------------------------------------------ .. py:data:: globalmapper.GM_WatershedFlags_32 Flags for watershed calculations :values: **GM_Watershed_FillGaps** = 0x00000001 Fill small gaps when getting elevation values? **GM_Watershed_CreateAreas** = 0x00000002 Should we generate areas coverage the drainage basin for each stream? **GM_Watershed_KeepZeroAtZero** = 0x00000004 Keep elevation of zero at zero during depression filling **GM_Watershed_SmoothStreams** = 0x00000008 Smooth generated streams? **GM_Watershed_FindRidgeLines** = 0x00000010 Find ridge lines rather than streams. This is basically a watershed operation with inverted terrain.