Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. You may have to provide a customer API Key in the URL for each request, as in the case with the OS Maps API. If this were to be used directly in iShare, the key would have to be transferred to the client which could expose it to misuse.

  2. Proxying the basemap through MapProxy allows us to also query it directly with WMS which then means that it should work seamlessly with printing.

Configuration Overview

MapProxy uses a YAML configuration file to define the service - this file will normally be stored with the MapProxy application, for example at D:/mapproxy/mapproxy.yaml. Full documentation on configuring the YAML file are at: https://mapproxy.org/docs/latest/configuration.html, and a sample YAML file is attached to this page.

Configuration of MapProxy layers in Studio is covered in this section: BaseMaps Details .

The YAML file can be edited in a text editor such as Notepad++. The following are the main sections of the YAML file which need to be configured for each layer.:

  • Layers: the layers that are available in the service

  • Caches: where the cache is stored

  • Sources: where the source files are stored

  • Grid: the Coordinate Reference System used in the layer, and the scales/resolutions available.

Troubleshooting configuration

  • the syntax and indentation in the example file and in the MapProxy documentation should be followed exactly in order to avoid errors

  • any errors will be recorded in the mapproxy.log file, which is normally in the same folder as the mapproxy.yaml file

  • you will need to make sure that any referenced folders are accessible by the MapProxy IIS application pool, and that the MapServer application pool has access to the source data and images

Detailed Configuration

Details of how to configure each of the sections in the YAML file is covered below.

Layers

This section defines one or more layers to be served by MapProxy. Each layer should have:

...

Code Block
layers:
  - name: aerial2013
    title: Aerial 2013
    sources: [aerial2013_cache]
  - name: aerial2018
    title: Aerial 2018
    sources: [aerial2018_cache]
  - name: basemap
    title: Colour
    sources: [basemap_cache]

Caches

This section defines the location of the cached data. The cache reference in the first line is referenced by the layers section, and the cache also identifies the source of the data.

...

Code Block
caches:
  aerial2013_cache:
    grids: [grid_gb]
    sources: ['aerial_wms_2013:aerial2013']
    cache:
      type: mbtiles
      filename: E:\Tiles\aerial2013.mbtiles
  aerial2018_cache:
    grids: [grid_gb]
    sources: ['aerial_wms_2018:aerial2018']
    cache:
      type: mbtiles
      filename: E:\Tiles\aerial2018.mbtiles

Sources

This section defines the source of the data to be displayed and cached. The type will normally either be:

...

Code Block
 sources:
  aerial_wms_2013:
    type: wms
    req:
      url: http://127.0.0.1/Mapserver/ms761?map=E:/iShareData/LIVE/_MapServerConfig/base_raster_aerial_2013.map
    http:
      ssl_no_cert_checks: true
  aerial_wms_2018:
    type: wms
    req:
      url: http://127.0.0.1/Mapserver/ms761?map=E:/iShareData/LIVE/_MapServerConfig/base_raster_aerial_2018.map
    http:
      ssl_no_cert_checks: true

Grids

This section contains details of the coordinate reference system used by the cache. The first line contains the referenced used by the caches section. Each grid contains:

  • origin: the origin point of the grid in relation to the grid area - the default is sw

  • srs: the coordinate reference system/spatial reference system being used by the data, using the EPSG code

  • bbox: the bounding box of the grid, i.e. the extent of the data, using the units specified in bbox_srs

  • bbox_srs: the SRS of the units specified in bbox

  • res: the resolutions that MapProxy will cache - see the section below on Increasing the number of Adding Scales for the Basemap for more detail on this.

Code Block
  grd_os_raster_road:
    origin: nw
    srs: 'EPSG:27700'
    bbox: [-238375.0,0.0,900000.0,1376256.0]
    bbox_srs: 'EPSG:27700'
    res: [896.0, 448.0, 224.0, 112.0, 56.0, 28.0, 14.0, 7.0, 3.5, 1.75]
    

Testing

Once these are incorporated into the main configuration file, you can then test it using the MapProxy demo site which should list the layer both in the WMS and WMTS sections. Clicking on the WMTS png link will bring up an OpenLayers map which uses the specified basemap.

...

Configuring the WMTS Basemap in iShare Studio

Configuring your WMTS basemap for use in iShare is done in iShare Studio, and is covered in the following pages:

...

Adding Scales

The default scales may not cover the range of scales you wish to provide for your basemap, and MapProxy can help with this. The cache upscale_tiles as described in the cache documentation can scale tiles up depending on your requirements.

...