Dynamic Hill Shading
The dynamic hill shading tool controls the 3D shading effect displayed on terrain layers and other raster layers with texture map enabled. The Light Direction control allows for dynamic manipulation of the sun angle and height and the resulting shadowing and highlighting effects on the terrain layer. Light direction can be set automatically based on location in Global Mapper Pro, or manually through a gimbal or set altitude and azimuth. Sun effects will also display on 3D vector features with extruded sides.
This tool can be used for cartographic effect to show height texture, or it can be used to simulate real world sun exposure based on a specific date, time, and location.
The dynamic hill shading tool is located in the Viewer Toolbar.
Press the Dynamic Hill Shading button to display the Dynamic Hill Shading dialog.
Set the Light Direction manually, or automatically with Global Mapper Pro:
-
Manually drag the light source sun icon around the gimbal graph to dynamically update the highlight and shadowing effect from the sun on the terrain.
-
Click Calculate Sun Angle to automatically set the sun angle based on the set date, time, and location. This disables the Altitude, Azimuth, and multiple light sources options.
Optionally adjust the settings on the right side to modify the Hill Shade display.
Light Direction
The gimbal graphs the direction and altitude of the sun in relation to the terrain. The four axes represent the cardinal directions (North, East, South, West). The distance from the center represent the altitude of the sun.
Drag the light source symbol around the gimbal to dynamically update the Altitude and Azimuth values, and see the impact of the light direction on the terrain surface.
Azimuth
The direction of the sun, measure in angular degrees from North. An azimuth of 0 means the sun is to the north, 90 azimuth means the sun is to the east, etc.
Altitude
The angle of the sun above the horizon. An altitude of 90 means that the sun is directly overhead, while an altitude of 0 means the sun is on the horizon.
Use Multiple Light Sources
Select this option to add multiple light sources to the terrain. Press the Define... button to setup the light sources using the following settings:
Number of Sources: This is the number of light sources to use with the shader. When a number greater than one is specified, additional light sources will be distributed evenly in a circle, starting from the Azimuth specified above.
For example, if the Azimuth is 45°, and the user specifies 4 light sources, the sources will be positioned at 45°, 135°, 225°, and 315° degrees.
Blending Algorithm: The intensity values calculated for the multiple light sources can be handled in the following ways:
- Maximum - the maximum intensity for each pixel will be used.
- Minimum - the minimum calculated intensity will be used.
- Average - the intensity values from the light sources will be averaged.
- Weighted Average - the intensity values will be averaged, with extra weight given to the value calculated at the specified Azimuth.
Light Direction based on Date/Time/Location
This tool requires Global Mapper Pro.
The specified date and time are local to the selected location, with the default location being the center of the current map view.
Press Calculateto update the Altitude and Azimuth, if possible. The sun must be above the horizon at the specified time.
Additional Settings
Shader Drop-down
The Shader selection box allows for the selection of the algorithm used to color and shade any loaded elevation data.
The shader drop-down is found on the Viewer Toolbar. It can also be accessed from the Configuration Vertical Options section, or the Dynamic Hill Shading tool.
The following default shaders are available:
- The Atlas Shader is the default shader. It generally provides good results for any loaded elevation data. Like most of the options below the color ramp will scale to the data range.
- The Color Ramp Shader displays ramps color from blue for low elevations to red for the highest elevations by default.
- The Daylight Shader colors all elevations the same and is only useful when hill shading is turned on.
- The Global Shader is designed for shading elevation data sets covering large areas of the earth such as Terrain Base and GTOPO30. The results are quite stunning for data sets such as these. This shader uses fixed elevation values, so elevations values will be colored the same from workspace to workspace.
- The Gradient Shader moderates the color with elevation between the low elevation and the high elevation. The actual colors ramped between can be selected on the Shader Option panel.
- The HSV Shader maps the elevations onto the HSV (hue saturation value) color space. The mapping can be configured on the Shader Options panel.
- The Inferno Shaderis useful for visualizing data in the style of a heat map. Similar to the Viridis Shader, it is useful for printing in black and white, or for users with colorblindness.
- The Magma Shadercovers a wide perceptual range in brightness and purple-yellow. Similar to the Viridis Shader, it is useful for printing in black and white, or for users with colorblindness.
- The Plasma Shaderis another color option similar to the Viridis Shader. This color palette is useful for printing in black and white, or for users with colorblindness.
- The REM Shaderis designed to highlight trends at the lowest elevation of the data. Enabled by default when generating REM layers.
- The Slope Shader colors loaded terrain data by the slope of the terrain rather than the absolute elevation. This shader allows you to identify the portions of the terrain that are
relatively flat vs those that are relatively steep. The definitions of "flat" and "steep" are user configurable on the Shader Options panel. - The Slope Direction Shader colors loaded terrain data by direction in which the terrain faces rather than the absolute elevation. This shader allows you to easily identify things like the portions of the terrain that face south, or any other direction. The colors to use for each direction are user configurable on the Shader Options panel.
- The Viridis Shader covers a wide perceptual range in blue-yellow, and does not rely as much on red-green contrast. This color palette is useful for printing in black and white, or for users with colorblindness.
- The NDVI Shader (Normalized Difference Vegetation Index) is used for multi-band imagery that has had the NDVI Calculation applied to it.
- The NDWI Shader (Normalized Difference Water Index) is used for multi-band imagery that has had the NDWI Calculation applied to it.
- The Curvature Shader colors the grid values on a white to black gradient over values around zero with positive values being white and negative values being black. This is a fixed range shader for values [-2, +2] and will be automatically applied to generated curvature grid layers.
- If any custom shaders have been created, they will be available as well.
The Custom Shaders dialog can be used to create . Custom shaders control exactly how elevation data is rendered in terms of how pixel values relate to colors.
To edit an existing custom shader, navigate to the Edit... button in Configuration Shader Options Custom Shader section.
The Delete button in Configuration Shader Options removes the currently selected custom shader.
Pressing the New... button displays the Custom Shader dialog (pictured below) which allows the user to create a new custom shader. New shaders can also be created from the Add Custom Shader...option on the Shader drop-down in the Viewer toolbar, or the Custom Shaders button on the Dynamic Hill Shading tool.
To create a new shader, enter a value in the Height/ Slope entry field. Press the Add button to specify the color associated with that value. Once the color is selected from the color picker, the swatch and value will be displayed in the Elevation/ Slope Colors list.
The Preview on the right side will show the shader color ramp, with a cross bar representing the location of the specified values. Check the Blend Colors Between Elevation/ Slope values option to create a continuous shader, or deselect it to create a classified shader.
The Custom Shader dialog specifies a custom elevation data color palette, and the relationship to the pixel values.
Name
The Name field provides a place to enter the name to associate with the shader to allow the user to select it. The Elevation Colors section display the elevations and their color values associated with the custom shader.
Elevation/ Slope Colors
This list displays the defined colors and values used in the shader.
Pressing the Change Color and Change Value buttons allow the user to change the values associated with the current elevation selected in the Elevation Colors list.
The Delete Value button deletes the currently selected elevation.
The Evenly Space Elevations Starting at Arbitrary Base Elevation button will allow you to quickly populate the list of elevation values with a series of evenly spaced values starting at some specified elevation. You can then assign the colors as desired after that. For example, you could use this to quickly populate the list with all elevations from 0 meters to 5000 meters with an elevation every 500 meters, then modify those as desired.
The Set Elevations to match REM shader… adjusts the elevation ranges for the currently selected colors while making the custom shader. This option lets you mimic the default REM shader with different colors, and further refine the elevations. To use this option, first specify your min and max elevation values or choose to Initialize from Other Shader.
REM shaders typically have bright colors at low elevations. To match this you will be prompted to reverse the colors in your chosen ramp.
New Height/Slope Entry
New elevations can be added by entering the elevation (in the currently selected units) and pressing the Add button.
Load existing shader options
The Initialize from Other Shader button will allow you to initialize the list of color/ elevation pairs to those used by either the Global Shader built into Global Mapper or another user-created custom shader. This allows users to easily create a slightly modified version of an existing shader if they'd like.
The Initialize from Palette File button allows you to initialize the list of color/ elevation pairs from a color palette file in any recognized format (like a comma-delimited file of R,G,B components on each line). Since palette files don't contain elevation values, the elevations will be incremented by one for each color and set to automatically scale the colors between loaded elevation values.
The Initialize from Surfer CLR File button allows you to initialize the list of color/elevation pairs with a a CLR file created by the Surfer application by Golden Software. You can use the Save to Surfer CLR File button to save your custom shader to a CLR file. This is useful for making copies of a custom shader and providing them to other users.
Additional Options
Elevations shaded with a custom shader will use the color specified for each elevation value. Any elevation values between two elevation/ color values will be a blend of the two bounding colors if the Blend Colors Between Elevation/ Slope Values option is checked. For example, if an elevation of 500 meters was set to black and an elevation of 1000 meters was set to white, an elevation of 750 meters would be colored a medium shade of gray. Any elevations below the minimum specified elevation will use the same color as the minimum elevation. The reverse is true for any elevations over the maximum elevation. If the blend colors option is not checked, any elevation between two elevation values will be set to the color associated with the lower of the elevation values.
To scale shader to the elevation range of the currently loaded data rather than stay at fixed elevation values, check the Scale Shader to Loaded Elevation Values. This will make your shader behave similar to most of the built-in shaders, like the Atlas or Color Ramp shaders. For example, if you check this option and specify that an elevation of 0 meters is blue and 1 meter is red, and the actual loaded data has a range of 100 meters to 500 meters, then 100 meters will be blue and 500 meters will be red, with the values gradually shaded in between (if you have the blend colors option checked).
Use the option to Repeat Color Range for Elevations Outside Range to repeat the defined colors for an elevation range when they go outside a specified range.
If you would like to shade based on the slope of the terrain rather than the elevation values, use the Shade Slope Values (Degrees) Rather than Elevations option. This will change the provided values so they are treated as slope angles in degrees and allow you to setup shading based on the slope.
Ambient Lighting
Use the Ambient Lighting to brighten up dark looking data sets or dim bright looking data sets.
Vertical Exaggeration (for hill shading)
The Vertical Exaggeration setting is used to control the exaggeration of relief features for hill shading in terrain datasets and other texture mapped images. Increasing the terrain vertical exaggeration increases the effect of shadowing and highlighting from the light source. This setting is independent of the 3D vertical exaggeration and path profile settings.
Hill Shading Shadow Darkness
The Hill Shading Shadow Darkness setting is used to control how dark the darkest shadows are in hill shading. By default, the value of 0 allows shaded areas to go all the way to black. By moving this slider to the right shadowing will be capped in high relief areas, thus allowing the use of other controls to better bring out detail in low-relief areas.
Hill Shading Highlight from Direct Light
The Hill Shading Highlight from Direct Light setting is used to display a whitened highlight area in terrain areas that are getting direct sunlight based on the lighting angle selected. The slider controls the amount of whitening highlight applied to those direct sunlight areas.
Elevation Display/ Export Units
This option allows you to modify the units that elevations will be displayed in on the status bar as you move the cursor over loaded elevation data.
Native Overlay Units
The status bar display and exports will use the vertical units the layer has assigned in the Elevation Units Interpretation.
Metric
The status bar and export will use metric units.
Statute (ft)
The status bar and export will us statute units.
Color Elevation Values Based on Visible Elevation Values
Check this option to color elevation values based on the min and max in the display extent, rather than the min and max of all loaded data. This option only modifies shaders that use the option to Scale Shader to Loaded Elevation Values.
Restore Defaults
Select this option to restore the settings to the default hillshade settings. The default is an altitude and azimuth at 45°, for visualization purposes to show a 3-dimensional relief effect. This will also reset the various slider bars for lighting and vertical exaggeration.