A zoom level or scale is a number that defines how large or small the contents of a map appear in a map view.
- Scale is a ratio between measurements on a map view and measurements in the real-world. When a map is displayed at a scale of 1:100 (or simply
100.0
), 1cm on the display represents 1m (100cm) in the real world. A scale of100,000.0
means that 1cm on the map display represents 1km (100,000cm) in the real world, and so on. - Zoom level is a number between 0 (global view) and 23 (very detailed view) and is used as a shorthand for predetermined scale values, but comes with some limitations.
Most web mapping APIs support zoom levels as a convenience. Zoom levels are only typically used for building applications that display data in Web Mercator projection. Scales are used to display data in any projection.
A brief history of zoom levels
Zoom levels were made popular by various web mapping solutions and APIs in the early 2000s. These adopted a tiling scheme that defined how a global map in Web Mercator projection could be pre-rendered for display in a web browser.
The tiling scheme is based on pre-rendering sets of 96 ppi 256x256 pixel PNG or JPEG image tiles, starting with a single tile at zoom level 0 that covers the entire world. This single tile, spanning -180º longitude to 180º longitude at 256 pixels width and 96 ppi, turns out to be of horizontal scale 1:591,657,527.591555 at the equator. So 591657527.591555
is the map scale for zoom level 0.
Zooming in by one level halves the scale (and consequently quadruples the number of 256x256 pixel tiles required to cover the world - 2x the horizontal tiles, and 2x the vertical tiles). Zoom level 1 requires 4 tiles to cover the same geographic area as the single zoom level 0 tile; zoom level 2 requires 16 tiles; zoom level 3 requires 64, and so on. By the time you get to zoom level 20, 1,099,511,627,776 tiles are needed.
Crucially, these zoom levels represented scales at which the pre-rendered 96 ppi 256x256 pixel map tiles could be displayed crisply, without pixel resampling, in a web browser. Web browsers used the standard CSS pixel size of 96 ppi: that is, 1 tile pixel would match 1 screen (browser) pixel.
Over time, this mapping between zoom levels and map scales became established as a de facto standard, despite tiles being used outside of browser apps at many different screen resolutions, and despite the onset of dynamically rendered vector tiles in place of the original pre-rendered 96 ppi PNG or JPEG image tiles.
Many modern mapping solutions and APIs only display Web Mercator maps and so continue to use zoom level as a shortcut for map scale. They do this despite using vector tiles and vector data, which means they don't need to lock to these specific legacy zoom levels for a crisp map display that avoids pixel resampling, although many do.
ArcGIS APIs can render many different map projections at a full range of scales, and so use scale rather than zoom level (although the ArcGIS JavaScript API does provide support for zoom levels as a convenience).
Zoom level presets
The scale of each zoom level preset (0-23) depends on the type of layer used in your application. Vector tile layers and image tile layers both support zoom levels, but they use different scale values for each preset.
The zoom values of a vector tile layer are equivalent to the zoom values of an map tile layer minus one. For example, a zoom level of 1
on an map tile layer corresponds to a zoom level of 0
on a vector tile layer (scale 1 : 295828763
).
-
A zoom level of
0
for an map tile layer (scale1 : 591657527
) corresponds to a zoom level of-1
for a vector tile layer. Since the minimum zoom level is0
, this scale preset does not exist for vector tile layers. -
Conversely, a zoom level of
23
for vector tile layers (scale1 : 35.2655368
) corresponds to a zoom level of24
for image tile layers. Since the maximum zoom level is23
, this scale preset does not exist for image tile layers.
If there is no zoom level preset corresponding to your desired scale, you can instead set the map scale directly. The method for doing this depends on the API or tool you are using.
Basemap layers
The basemap styles service provides basemaps with layers formatted as either map tile layers or vector tile layers. When you use a basemap in your application, the scale of your zoom level will vary based on the type of layer the basemap uses.
To learn if a basemap uses vector tile layers or image tile layers, go to its item page in ArcGIS Online from the World Basemaps for Developers group.
Conversion tool
Use this interactive tool to translate zoom levels to map scales: