is an option for GeoGraphics, GeoStyling and GeoImage that specifies the URL address of a geo server and connection parameters to download map tiles and geo elevation data.


  • GeoServer requires internet connectivity and may use external services requiring Service Credits.
  • A geo server specification is given as a list {template,opt1val1,opt2val2,}, where template is either a URL string or a TemplateObject as returned by StringTemplate.
  • GeoServer{Automatic,opt1val1,opt2val2,} uses a template for the Wolfram geo server.
  • GeoServerAutomatic uses a template for the Wolfram geo server and default values for all connection parameters.
  • GeoServer"provider" specifies an integrated external service, like "Mapbox".
  • The URL template for tile download uses the XYZ protocol and must be given as a string "http:///`1`/`2`/`3`.png" or as StringTemplate["http:///`1`/`2`/`3`.png"], for example, where the slots `1`, `2`, and `3` correspond to integer zoom and x, y integer coordinates of the requested tile, respectively.
  • Options can be grouped in areas of the form area->{opt1val1,opt2val2,}. Possible areas are "Tileset", "Connection", and "Storage".
  • The "Tileset" area describes properties of the tiles being downloaded and includes:
  • "Projection""Mercator"projection used by the tiles
    "TileDataType""PNG"image file type of the tiles
    "TilesetOrientation"-1y direction of increase of tile numbers
    "TileSize"256image size of each tile
    "ZoomRange"{1,18}available range of zooms
    "ZoomShift"0zoom 1 has 512×2shift pixels in the axis
  • The "Connection" area describes how to connect to the geo server and includes all options of URLFetch plus these additional parameters:
  • "ConnectionMethod"Automaticfunction used to download tiles
    "ConnectionRetryCount"1number of times to retry when a download fails
    "GlobalTimeout"30timeout in seconds for the download of all tiles
    "MaxConcurrentConnections"10maximum number of simultaneous asynchronous downloads
    "MaxServedTileCount"256maximum number of tiles served for a map
  • The "Storage" area describes how to locally cache the tiles downloaded and includes:
  • "CacheDuration"Quantity[1,"Days"]maximum time for tile caching in a session


open allclose all

Basic Examples  (3)

Use the Wolfram geo server to download map tiles:

Use an alternative geo server:

Get satellite imagery provided by an external service:

Use different geo servers in different parts of a map:

Scope  (5)

Use an external tile provider:

For this external tile provider, the x and y tile coordinates are reversed, so it uses "/`1`/`3`/`2`.png" instead of the standard "/`1`/`2`/`3`.png":

Specify explicitly some of the parameters of the tile server:

Specify a short caching duration for tiles in memory:

If the same call is executed immediately, it will be faster because the tiles are still cached in memory:

Let 10 seconds pass:

Then the tiles need to be downloaded again:

Limit the number of tiles that will be downloaded in a GeoGraphics call:

With a larger setting, the tiles will be downloaded:

Wolfram Research (2015), GeoServer, Wolfram Language function, (updated 2017).


Wolfram Research (2015), GeoServer, Wolfram Language function, (updated 2017).


Wolfram Language. 2015. "GeoServer." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2017.


Wolfram Language. (2015). GeoServer. Wolfram Language & System Documentation Center. Retrieved from


@misc{reference.wolfram_2024_geoserver, author="Wolfram Research", title="{GeoServer}", year="2017", howpublished="\url{}", note=[Accessed: 16-June-2024 ]}


@online{reference.wolfram_2024_geoserver, organization={Wolfram Research}, title={GeoServer}, year={2017}, url={}, note=[Accessed: 16-June-2024 ]}