Skip to content

pdssp/mapproxy_hips

 
 

Repository files navigation

mapproxy-hips

mapproxy-hips is a plugin for MapProxy (http://mapproxy.github.io/mapproxy/) providing extensions for interoperability between OGC services (WMS, WMTS, ...) and the HiPS protocol (https://www.ivoa.net/documents/HiPS/) from IVOA.

The plugin requires MapProxy >= 1.15 which incorporates the plugin architecture (http://mapproxy.github.io/mapproxy/plugins.html) used by mapproxy-hips.

Quickstart

python3 -m venv myvenv
source myvenv/bin/activate
pip install git+https://github.com/mapproxy/mapproxy.git # to install MapProxy > 1.15, to be able to use IAU CRS codes
pip install mapproxy_hips

git clone https://github.com/rouault/mapproxy_hips
mapproxy-util serve-develop mapproxy_hips/hips_examples/ogc_as_hips/mapproxy.yaml &
curl http://localhost:8080/hips/mars_tiled_geodetic/properties

Adding a HIPS service

Exposing a HIPS service (that is HIPS as output of MapProxy) requires to declare a hips item under services in the MapProxy configuration file.

services:
  hips:
    #resampling_method: nearest_neighbour
    resampling_method: bilinear
    #resampling_method: bicubic
    # populate_cache: false

And you generally need to customize HIPS metadata for each exposed layer:

layers:
  - name: my_layer_name
    title: my title
    sources: [my_source]
    md:
        hips:
            # enabled: false
            creator_did: ivo://unknown.authority/some_id
            obs_title: Some title
            # foo: bar
            # hips_tile_width: 512
            # hips_order: 5

See https://github.com/rouault/mapproxy_hips/blob/master/hips_examples/ogc_as_hips/mapproxy.yaml for a full example.

Utilities

The hips-allsky command of the mapproxy-util script can be used to generate the allsky file needed by some HIPS consumers.

Usage: mapproxy-util hips-allsky [options] -f mapproxy_conf -l layer

Options:
  -h, --help            show this help message and exit
  -f MAPPROXY_CONF, --mapproxy-conf=MAPPROXY_CONF
                        MapProxy configuration.
  -l LAYER, --layer=LAYER
                        Layer
  -o NORDER, --norder=NORDER
                        Order
  -c CONCURRENCY, --concurrency=CONCURRENCY
                        number of parallel processes

The hips-seed command of the mapproxy-util script can be used to generate to pre-generate HIPS tiles.

Usage: mapproxy-util hips-seed [options] -f mapproxy_conf -l layer

Options:
  -h, --help            show this help message and exit
  -f MAPPROXY_CONF, --mapproxy-conf=MAPPROXY_CONF
                        MapProxy configuration.
  -l LAYER, --layer=LAYER
                        Layer
  -o NORDER, --norder=NORDER
                        Order
  -c CONCURRENCY, --concurrency=CONCURRENCY
                        number of parallel processes

Adding a HIPS source

Adding a HIPS source (that is HIPS as input of MapProxy) requires to specify type: hips in a source declaration, and specifying the URL and image format of the HIPS service.

sources:
  mars_hips_source:
    type: hips
    image:
      format: image/jpeg
    resampling_method: bilinear
    url: http://alasky.u-strasbg.fr/Planets/Mars_MOLA
    # cache_hips_tiles: false

See https://github.com/rouault/mapproxy_hips/blob/master/hips_examples/hips_source/mapproxy.yaml for a full example.

Credits

Funded by Centre National d'Etudes Spatiales (CNES, https://cnes.fr) within the framework of the "Pôle de Données et Services Surfaces Planétaires" (PDSSP) project.

Releases

No releases published

Packages

No packages published

Languages

  • Python 96.4%
  • HTML 3.6%