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
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.
Details
- 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" -1 y direction of increase of tile numbers "TileSize" 256 image size of each tile "ZoomRange" {1,18} available range of zooms "ZoomShift" 0 zoom 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" Automatic function used to download tiles "ConnectionRetryCount" 1 number of times to retry when a download fails "GlobalTimeout" 30 timeout in seconds for the download of all tiles "MaxConcurrentConnections" 10 maximum number of simultaneous asynchronous downloads "MaxServedTileCount" 256 maximum 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
Examples
open all close allBasic Examples (3)
Use the Wolfram geo server to download map tiles:
GeoGraphics[Entity["Country", "Spain"], GeoServer -> Automatic]Use an alternative geo server:
GeoGraphics[Entity["Country", "Spain"], GeoServer -> "http://a.tile.openstreetmap.org/`1`/`2`/`3`.png"]Get satellite imagery provided by an external service:
GeoImage[Entity["Building", "ArcDeTriomphe::92x88"], GeoRange -> Quantity[300, "Feet"], GeoServer -> "Mapbox"]Use different geo servers in different parts of a map:
GeoGraphics[{GeoStyling["StreetMap", GeoServer -> "http://a.tile.openstreetmap.org/`1`/`2`/`3`.png"], Polygon[["Germany"]]}, GeoBackground -> "ReliefMap"]Scope (5)
Use an external tile provider:
GeoGraphics[Entity["AdministrativeDivision", {"California", "UnitedStates"}], GeoServer -> "http://a.tile.openstreetmap.org/`1`/`2`/`3`.png"]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":
GeoGraphics[Entity["AdministrativeDivision", {"California", "UnitedStates"}], GeoServer -> "https://basemap.nationalmap.gov/arcgis/rest/services/USGSTopo/MapServer/tile/`1`/`3`/`2`"]Specify explicitly some of the parameters of the tile server:
GeoImage[Entity["Country", "UnitedStates"], GeoServer -> {"https://basemap.nationalmap.gov/arcgis/rest/services/USGSHydroCached/MapServer/tile/`1`/`3`/`2`", "Projection" -> "Mercator", "TileSize" -> 256, "ZoomRange" -> {0, 18}}]Specify a short caching duration for tiles in memory:
GeoGraphics[Entity["Country", "Ireland"], GeoServer -> {"http://a.tile.openstreetmap.org/`1`/`2`/`3`.png", "CacheDuration" -> Quantity[5, "Seconds"]}]//AbsoluteTimingIf the same call is executed immediately, it will be faster because the tiles are still cached in memory:
GeoGraphics[Entity["Country", "Ireland"], GeoServer -> "http://a.tile.openstreetmap.org/`1`/`2`/`3`.png"]//AbsoluteTimingPause[10]Then the tiles need to be downloaded again:
GeoGraphics[Entity["Country", "Ireland"], GeoServer -> "http://a.tile.openstreetmap.org/`1`/`2`/`3`.png"]//AbsoluteTimingLimit the number of tiles that will be downloaded in a GeoGraphics call:
GeoGraphics[Entity["Country", "SaudiArabia"], GeoServer -> {"Mapbox", "MaxServedTileCount" -> 10}];With a larger setting, the tiles will be downloaded:
GeoGraphics[Entity["Country", "SaudiArabia"], GeoServer -> {"Mapbox", "MaxServedTileCount" -> 20}]Tech Notes
Text
Wolfram Research (2015), GeoServer, Wolfram Language function, https://reference.wolfram.com/language/ref/GeoServer.html (updated 2017).
CMS
Wolfram Language. 2015. "GeoServer." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2017. https://reference.wolfram.com/language/ref/GeoServer.html.
APA
Wolfram Language. (2015). GeoServer. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/GeoServer.html
BibTeX
@misc{reference.wolfram_2026_geoserver, author="Wolfram Research", title="{GeoServer}", year="2017", howpublished="\url{https://reference.wolfram.com/language/ref/GeoServer.html}", note=[Accessed: 13-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_geoserver, organization={Wolfram Research}, title={GeoServer}, year={2017}, url={https://reference.wolfram.com/language/ref/GeoServer.html}, note=[Accessed: 13-June-2026]}