Sun glints add realism to your map

By Aileen Buckley, Mapping Center Lead

Sun Glints - Thumb

Sun glints are a way to add a more realistic effect to your map by modulating the tone of water features. We rarely see flat tones in nature, so using sun glints simulates the subtle tonal variations caused by the reflection of sunlight off a water surface. This method was first described in Tom Patterson’s article, “Getting Real: Reflecting on the New Look of National Park Service Maps” on his Shaded Relief web site. Although he describes how he achieved the effect using Photoshop, this tip describes how you can use ArcMap to accomplish the same thing.

The example used a map of the southwestern part of Oregon in the Crater Lake area (figure 1).

Sun Glints - SW OR Map

Figure 1. Crater Lake area map

In essence, sun glints are symbolized using a gradient fill for the water polygons (figure 2). The angle of the gradient fill varies randomly from feature to feature.

Sun Glints - No Glints Sun Glints - With Glints

Figure 2. Water polygon features symbolized without sun glints (left) and with sun glints (right).

To achieve this effect, you only need a water polygon feature class.

Step One

Using a random number calculation, you can add an attribute that distinguishes which features will be symbolized with gradient fills from varying angles. To do that, for the layer that contains the water features, open the attribute table, add a new field, and calculate it to contain random numbers:

  1. Right click the water polygons layer in the table of contents and open the attribute table.
  2. At the top left of the Table dialog box, click the Table Options button and click Add Field.
  3. Name the field and keep it a short integer type.
  4. Click OK.
  5. Right click the name of the field and click Field Calculator.
  6. Choose the option to use the Python parser.
  7. Also choose the Show Codebook option.
  8. In the Pre-Logic Script Code area type the code as shown in the figure below. Note that the following expression calculates random values from 1 to 4—you can modify these values if you want but realize that you will need to define a new symbol for each random number.
    Sun Glints - Thumb
  9. Type the following at the bottom, under where your new field name is shown: getRandomValue()
  10. If desired, click the Save button to save the expression so you can use or modify it later.
  11. Click OK.
  12. Verify that the field now contains random numbers for the range you defined.
  13. Close the attribute table.

Step Two

The next step is to symbolize the features:

  1. Right click the layer in the table of contents and click Properties.
  2. Click the Symbology tab, and choose to use the Categories > Unique values renderer.
  3. Set the value field to the attribute you added in step one.
  4. Click Add All Values.
  5. Right click any symbol and click Properties for All Symbols.
  6. On the Symbol Selector dialog box, click Edit Symbol.
  7. On the Symbol Property Editor dialog box, change Type to Gradient Fill Symbol.
  8. Right-click the color ramp Style and click Properties.
  9. Click the Color 2 option to enable the second color.
  10. Click the Color 2 color patch to change the color.
  11. Select a light blue color or click More Colors to define your own color (this example used RGB 191 233, 255).
  12. Click the Color 1 color patch to change the color.
  13. Select a darker blue color or click More Colors to define your own color (this example used RGB 0, 168, 230).
  14. Click OK on the Edit Color Ramp dialog.
  15. On the Symbol Property Editor dialog, right-click the modified color ramp and click Save to Style.
  16. Give it a name so that you will recognize it when you see it in your personal style.
  17. Change Intervals to 50, Percentage to 100, and Angle to 135 (figure 3). What this does is adds a smoother appearance to the color gradation by using more intervals, applies the gradient fill across 100 percent of the polygon features, and changes the angle of the gradient fill from E (90) to SE (135).
    Sun Glints - Symbol Property Editor
    Figure 3. Symbol Property Editor
  18. Click OK.
  19. On the Symbol Selector dialog box, change Outline Color to No Color.
  20. Click OK.
  21. Click Apply to see your changes so far.

Step Three

The final step is to modify the symbols so the features with different attribute values have gradient fills with different angles.

  1. Decide which symbol will retain the symbology definition you just set.
  2. Right-click one of the other symbols, click Properties for Selected Symbol(s), then click Edit Symbol.
  3. Change Angle to 45, click OK, and click OK.
  4. Repeat steps 2 and 3 above for the other symbols using other angles (for example, 225 and 315).
  5. Verify that the symbols appear different for each value (figure 4).
    Sun Glints - Layer Properties
    Figure 4. Layer Properties dialog box
  6. Click OK to save your changes.

The results, when combined with other methods that promote a feeling of realism on a map, such as hillshading and elevation tinting, provide a much more aesthetically pleasing impression (figure 5).

Sun Glints - With Glints and Hillshade

Figure 5. The sun glints with other “realistic” symbology such as hillshades and elevation tints

On the final map, the sun glints add a subtle professional touch (figure 6).

Sun Glints - With Glints on Final Map

Figure 6. The sun glints on the final map

Thanks to David Barnes, Cartographic Product Engineer, for his Crater Lake area map.

About the author

Dr. Aileen Buckley is a cartographer who’s been at Esri since 2003. She finds and shares best practices for mapping and analysis with ArcGIS, which leads her to publish widely and present world-wide.

Notify of
Inline Feedbacks
View all comments

Next Article

Visualize your Mission Responders Activity with Tracklines

Read this article