GeoServer

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 "DigitalGlobe".
  • 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"20maximum number of simultaneous asynchronous downloads
    "MaxServedTileCount"1024maximum 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 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:

Introduced in 2015
 (10.1)
 |
Updated in 2017
 (11.2)