ArcGIS Online

Creating a grayscale version of any ArcGIS Online basemap

By Rajinder Nagi, Esri Cartographic Product Engineer

Grayscale - thumbnail

We recently got a question on Ask a Cartographer in which Julie asked if you can create a grayscale basemap from any of the colored basemaps that you add from ArcGIS Online. One solution is to use the approach Ismael described in his blog entry Crafting Your Own Basemap Styles with Flex or Silverlight. His approach involves the use of matrices to transform RGB colors, scale RGB colors, and control hue, saturation and contrast. This approach is useful if you want to change the way the basemap is rendered when using Flex or Silverlight to serve a Web map. In this blog entry, we describe how you can “transform” a colored basemap to a grayscale one directly in ArcMap.

The steps involved include:

  1. creating an ArcGIS server connection to the ArcGIS online basemaps,
  2. creating a mosaic dataset,
  3. adding the Basemap Map Service to the Mosaic Dataset,
  4. applying the Grayscale Function to the Basemap Map Service, and
  5. optionally, setting the map scales to ArcGIS Online / Bing Maps / Google Maps.

Creating an ArcGIS Server Connection to the Online Basemaps

To start, you need to connect to the ArcGIS server that has the ArcGIS online basemaps.

  1. Start ArcMap.
  2. Open ArcCatalog.
  3. Expand the GIS Servers folder and double-click Add ArcGIS Server.
    Grayscale - ArcGIS Servers 1
  4. On the first page of the Add ArcGIS Server dialog, opt to “Use GIS Services”.Grayscale - Server 1
  5. On the second page, use an Internet server connection to this Server URL: http://services.arcgisonline.com/arcgis/services.Grayscale - Server 2
  6. Click Finish.
  7. Check that there is a now a connection to “arcgis on services.arcgisonline.com”.Grayscale - ArcGIS Servers 2
  8. Expand the folder for the added server – you will see number of basemaps as map services: Grayscale - ArcGIS Servers 3

Creating a Mosaic Dataset

The next step is to create a mosaic dataset in a new file geodatabase.

  1. In ArcCatalog, create a directory for the location of the new file geodatabase by right clicking the folder for the new FGDB and selecting New > File Geodatabase.
  2. Rename the FGDB “GrayscaleBasemap”.
  3. Right click the GrayscaleBasemap FGDB and click New > Mosaic Dataset.
  4. Name the mosaic dataset GrayscaleBasemap.
  5. Set the projection by clicking the Spatial Reference Properties button Grayscale - Spatial Reference Properties button > Select > Projected Coordinate Systems > World > WGS 1984 Web Mercator (Auxiliary Sphere).prj.
  6. Grayscale Create Mosaic Dataset

Adding the Basemap Map Service to the Mosaic Dataset

Now you need to add the basemap that you want to show with a grayscale to the mosaic dataset you created.

  1. Right click the mosaic dataset and click Add Rasters.
  2. In the Add Rasters to Mosaic Dataset tool, set the Raster Type to Web Services.
  3. For Input, click the Browse button.
  4. In the Input dialog, click the down arrow for “Look in:”, scroll to the bottom, click GIS Servers and double click “arcgis on services.arcgisonline.com”.
  5. Select the basemap you want to work with. In this example, we selected the World_Topo_Map map service.Grayscale - Add Rasters
  6. Click OK.
  7. Check that the map service for the basemap you selected is added to the mosaic dataset, and that it is added to the table of contents as a three band raster in a composite layer.
  8. Grayscale - Table of Contents

Applying the Grayscale Function to the Basemap Map Service

Now that you have the basemap in a mosaic dataset, you can use the Grayscale function to render it in gray tones.

  1. In ArcCatalog, right click the GrayscaleBasemap mosaic dataset and click Properties.
  2. On the Functions tab of the Mosaic Dataset Properties dialog, under Function Chain > GrayscaleBasemap, right click Mosaic Function and click Insert > Grayscale Function.
  3. In the Raster Function Properties dialog, the set weight for each band to 0.33.Grayscale - Raster Functions
  4. Click OK to accept all changes.
  5. To turn off the green outline in the basemap image, uncheck viewing for the Footprint in the table of contents.Grayscale - ArcMap view

The basemap will now be displayed with a grayscale.

Examples

Here is an example of a portion of the World Topo Map when rendered with the grayscale function in ArcMap.

Grayscale - Colored and Grayscale Basemaps
World Topo Map                                      World Topo Map (converted to grayscale)

Here are some examples in which thematic content (point and line), when overlaid on the grayscale basemap, is visibly brought to the foreground.

Grayscale - Colored and Grayscale Churches
Point data representing churches in Redlands, California overlaid on the World Topo Map (left) and on the grayscale version of the basemap (right).

Grayscale - Colored and Grayscale Dams
Point data representing dam storage capacity in Oregon overlaid on the World Topo Map (left) and on the grayscale version of the basemap (right).

Grayscale - Colored and Grayscale Metro
Line data representing the metro transit system in Madrid, Spain overlaid on the World Topo Map (left) and on the grayscale version of the basemap (right).

OPTIONAL: Setting the Map Scales to ArcGIS Online / Bing Maps / Google Maps

You will want to make sure to use the map scales for ArcGIS Online / Bing Maps / Google Maps when zooming in and out in ArcMap, otherwise the wrong cache tiles may be fetched and the view will be wrong for the map scale you zoom to.

  1. On the Standard toolbar, click the down arrow next to the map scale.Grayscale - Standard Toolbar
  2. Click Customize This List.
  3. On the Scale Settings dialog, click the Load button.
  4. Select the ArcGIS Online / Bing Maps / Google Maps map scales.
  5. Click OK.

You may want to use the Light Gray Canvas Basemap color styles when designing operational overlays for your grayscale basemap. The Mapping Center Canvas Map Color Styles blog entry explains how to use these styles when designing your maps.

Thanks to Aileen Buckley, Mapping Center Lead, for her help with this blog entry.

About

Rajinder has more than 15 years of experience in GIS and Remote Sensing. He came to Esri about 11 years ago and has worked with various teams in different capacities. In his current role, he leads the community elevation program at Esri and has wide experience in cartographic visualization, image processing, databases and geo-processing. By virtue of his strong research interest in terrain visualization, Rajinder has developed a multi-directional hillshade (esriurl.com/NextGenHillshade) algorithm to improve terrain visualization in Esri basemaps that is available as part of world elevation layers. He has also developed a fusion technique (esriurl.com/NAGIfusion) which maintains details and colors when integrating colored rasters with hillshades. Rajinder holds a Master of Science degree in Geoinformatics from the International Institute for Geo-Information Science and Earth Observation (ITC), The Netherlands, and a Bachelor of Science degree in Urban & Regional Planning from GND University, Amritsar, India.

Next Article

Adding labels to ArcGIS Online web maps: Part 1

Read this article