Table 3.5. The general properties for provider setups
Property name | Value type | Default value | Description |
---|---|---|---|
Provider
|
string
|
N/A
| Determines the type of the head of the provider chain. |
SetupName
|
string
|
N/A
| Determines the name of the active setup. |
SetupNames
|
comma separated string list
|
N/A
| Defines the list of available setup names. If this is given and contains more than one entry, the toolbar button to switch between those setups will be enabled. |
Table 3.6. The properties for caching providers
Property name | Value type | Default value | Description |
---|---|---|---|
CacheFile.AllowUpdate
|
boolean
|
true
| Determines whether the file cache will be updated by any freshly downloaded tile images. This can be used to prevent modifying the cached files even when the tiles are forced to be refreshed manually. Might be useful in case the cache directory is read-only or the executing user is lacking write permissions. |
CacheFile.Directory
|
string
|
N/A
| Determines the path of the directory where the cached tile images should be stored and looked for. This property supports simple variable expansion with extra support for the DYN_* file variables which are populated with the settings of the FileHandler file. This allows to keep the file cache relative to that file. But it is also possible to simply specify any absolute path here. |
CacheFile.Format
|
string
|
jpg
| Determines the format in which to store the local tile images.
This is deliberately independent of the file format that was retrieved
from the internet tile service provider in order to allow further
compression (many providers deliver .PNG files which can be compressed
significantly by using .JPG here). The string given here must be one of
the image formats recognized by javax.imageio , e.g. "png",
"jpg", etc.. |
CacheFile.MaxAge
|
duration
|
0-00:00:00.000
| Determines the maximum age after which map tiles cached in the cache directory should be treated as out-of-date. Outdated tiles will then be re-fetched from the underlying provider upon next access. If this is zero (the default) then tiles will be kept indefinitely in the cache and the only way to update them is a manual forced refresh. |
CacheFile.Provider
|
string
|
N/A
| Determines the type of the tile provider that should be consulted in case a tile is missing in the file cache directory. |
CacheMemory.MaxAge
|
duration
|
0-00:00:00.000
| Determines the maximum age after which map tiles cached in memory should be treated as out-of-date. Outdated tiles will then be re-fetched from the underlying provider upon next access. If this is zero (the default) then tiles will be kept indefinitely in the cache and the only way to update them is a manual forced refresh. |
CacheMemory.Provider
|
string
|
N/A
| Determines the type of the tile provider that should be consulted in case a tile is missing in the memory cache. |
CacheMemory.SizeLimit
|
int
|
16
| Determines the maximum number of tiles to keep in memory. |
The two duration properties above must be specified in the exact format as follows:
Number of days as a non-negative integer
A single dash: "-"
Number of hours with exactly two digits
A single colon: ":"
Number of minutes with exactly two digits
A single colon: ":"
Number of seconds with exactly two digits
A single dot: "."
Number of milli seconds with exactly three digits
Table 3.7. The properties for network backend providers
Property name | Value type | Default value | Description |
---|---|---|---|
ArcGIS.URL
|
string
|
see below
| Determines the template tile URL for this provider. |
BingMaps.URL
|
string
|
see below
| Determines the template tile URL for this provider. |
GoogleMaps.URL
|
string
|
see below
| Determines the template tile URL for this provider. |
OpenStreetMap.Copyright
|
string
|
(empty)
| Allows to override the default copyright message for this provider as some tile servers might deliver tiles according to the OpenStreetMap tiling pattern but based on their own data and thus with a different copyright. If this is empty or unspecified, the standard OpenStreetMap copyright is displayed by this provider. |
OpenStreetMap.MaxZoom
|
integer
|
18
| Determines the maximum zoom limit for this provider. This can be adjusted as different OpenStreetMap tile servers can have different such limits. |
OpenStreetMap.URL
|
string
|
see below
| Determines the template tile URL for this provider. |
WebMapService.Copyright
|
string
|
(empty)
| Allows to display a copyright message for this provider as most such map servers will deliver map data according to specific usage terms. If this is empty or unspecified, no copyright is displayed by this provider. |
WebMapService.MaxZoom
|
integer
|
18
| Determines the maximum zoom limit for this provider. This can be adjusted as different map servers can have different such limits. |
WebMapService.MinZoom
|
integer
|
0
| Determines the minimum zoom limit for this provider. This can be adjusted as different map servers can have different such limits. |
WebMapService.URL
|
string
|
see below
| Determines the template tile URL for this provider. |
WebMapService.BasicAuth.Username
|
string
|
(empty)
| Specifies a username to use for HTTP BasicAuth. This will only be used in case both username and password have been specified. |
WebMapService.BasicAuth.Password
|
string
|
(empty)
| Specifies a password to use for HTTP BasicAuth. |
YandexMaps.URL
|
string
|
see below
| Determines the template tile URL for this provider. |
The URLs for the different providers above can be omitted in case they don't differ from the default values as follows:
ArcGIS.URL:
http://services.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer/tile/${MapTile.Zoom}/${MapTile.Y}/${MapTile.X}.png
Note the reversed order of the MapTile.X
and MapTile.Y
variables in the path in comparison to the OpenStreetMap provider ...
BingMaps.URL:
http://t0.tiles.virtualearth.net/tiles/a${MapTile.QuadKey}.jpeg?g=1&mkt=en-US
Note that the MapTile.QuadKey
variable is only defined by this provider!
GoogleMaps.URL:
https://mt0.google.com/vt?lyrs=m,t&scale=${MapTile.Scale}&z=${MapTile.Zoom}&x=${MapTile.X}&y=${MapTile.Y}&hl=loc
Note that the lyrs
parameter determines the nature of the map as
follows:
m: Street map
t: Terrain only
p: Political: terrain with countries
s: Satellite
h: Hybrid: transparent street map only
r: Raw: plain map
y: Satellite with street map overlaid
OpenStreetMap.URL:
http://tile.openstreetmap.org/${MapTile.Zoom}/${MapTile.X}/${MapTile.Y}.png
WebMapService.URL:
ATTENTION: There is no default URL for this provider and it always has to be configured.
It supports the following variables for expansion when retrieving tiles:
MapTile.TileSize. the tile size in pixels
MapTile.MinLon. the minimal longitude of the tile
MapTile.MinLat. the minimal latitude of the tile
MapTile.MaxLon. the maximal longitude of the tile
MapTile.MaxLat. the maximal latitude of the tile
An example URL for accessing SwissTopo maps might look like this:
https://wms.swisstopo.admin.ch/wss/httpauth/swisstopowms/?LAYERS=ch.swisstopo.landeskarte-farbe-10&TRANSPARENT=false&FORMAT=image/png&SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&STYLES=&EXCEPTIONS=INIMAGE&CRS=CRS:84&BBOX=${MapTile.MinLon},${MapTile.MinLat},${MapTile.MaxLon},${MapTile.MaxLat}&WIDTH=${MapTile.TileSize}&HEIGHT=${MapTile.TileSize}
YandexMaps.URL:
http://vec04.maps.yandex.net/tiles?l=map&z=${MapTile.Zoom}&x=${MapTile.X}&y=${MapTile.Y}&lang=en-US
MapTile.Scale
MapTile.X
MapTile.Y
MapTile.Zoom
Table 3.8. The properties for the special offline provider
Property name | Value type | Default value | Description |
---|---|---|---|
Offline.Background
|
color
|
89,89,89
| Determines the background color for unavailable tiles. |
Offline.Text
|
string
|
[Unavailable because offline]
| Determines a message to be displayed a the tile center. |
Offline.TextColor
|
color
|
200,0,0
| Determines the text color for the tile message. |
Offline.TextFont
|
string
|
Dialog-ITALIC-14
| Determines the font name for the tile message. |
Offline.Copyright
|
string
|
(empty)
| Allows to display a copyright message for this provider. If this is empty or unspecified, no copyright is displayed by this provider. |
Offline.MaxScale
|
integer
|
10
| Determines the maximum scale of this provider. |
Offline.MaxZoom
|
integer
|
20
| Determines the maximum zoom of this provider. |
Offline.MinScale
|
integer
|
0
| Determines the minimum scale of this provider. |
Offline.MinZoom
|
integer
|
0
| Determines the minimum zoom of this provider. |
Offline.TileSize
|
integer
|
256
| Determines the tile size of this provider. |
This provider can be used as a backend for one of the caching providers in case it must be guaranteed that no network access will occur. In such a case tile size and the minima and maxima for scale and zoom should be configured to match the available tiles in the (file-) cache.