Note
Autores:
Licencia:
Excepto donde quede reflejado de otra manera, la presente documentación se halla bajo licencia Creative Commons Reconocimiento Compartir Igual
Las diferentes funcionalidades de MapProxy se configuran a través de archivos YAML que es un estandar de serialización de datos que se emplea en diversos lenguajes de programación.
MapProxy se configura a través de los archivos mappproxy.yaml y seed.yaml definiendo para cada archivo una serie de secciones y de directivas en las secciones.
En la presente sección hablaremos solo del archivo principal de configuración mappproxy.yaml. Dejaremos el archivo seed.yaml para la sección El archivo de configuración seed.yaml.
Es muy importante respetar la indentación en los archivos, y esta debe realizarse con espacios y nunca con tabuladores.
El archivo está compuesto de las siguientes secciones
El orden en el que aparecen las secciones no es importante.
El archivo puede subdividirse en varios archivos utilizando la directiva base.
MapProxy puede generar los siguientes tipos de servicio:
Para cada uno se emplea su propia clave, que aparece listada entre corchetes, y en algunos casos se pueden configurar opciones adicionales.
Para el presente taller utilizaremos el servicio wms que se configura indicando los sistemas de referencia en los que se va a servir (srs), los formatos de imagen (image_formats) y metadatos adicionales (md):
services:
wms:
srs: ['EPSG:3857', 'EPSG:900913', 'EPSG:4258', 'EPSG:4326', 'EPSG:25831']
image_formats: ['image/jpeg', 'image/png']
md:
# metadata used in capabilities documents
title: Taller MapProxy
abstract: Ejercicio de aceleración de WMS y OSM con MapProxy
online_resource: http://localhost:8080/service
contact:
person: Pedro-Juan Ferrer, Iván Sánchez y Jorge Sanz
position: Facilitadores
organization: Geoinquietos Valencia
email: pferrer@osgeo.org , jsanz@osgeo.org y ivan@sanchezortega.es
access_constraints:
Este servicio tiene únicamente objetivos educativos.
fees: 'None'
Puede encontrarse una descripción más completa de las claves y opciones de los servicios en la página de documentación de services de MapProxy
Las capas definen la información que MapProxy proporciona y están formadas por una lista (una lista de YAML) de pares clave - valor.
La información mínima que se requiere es el nombre (name) como identificador único, el título (title) como pequeña descripción y el origen u orígenes de datos (del propio archivo de MapProxy) que la conforman (source):
layers:
- name: orto5m-icc-proxy
title: Ortofoto 1:5000 del ICC de la zona de Girona
sources: [icc_wms]
Puede encontrarse más información sobre las capas así como otros parámetros configurables de las mismas en la sección de layers de la página de configuración de la documentación de MapProxy
En caches se configura la manera en la que se almacena una copia de la información en disco, para no tenerla que volver a pedir al servidor. La información que hay que proporcionar en este caso es el origen de datos (sources) y el grid o grids (grids) sobre los que queremos guardar los cachés. En caso de haber varios grids se creará una caché separada por cada capa y cada grid
caches:
osm_cache:
grids: [utm_girona]
sources: [osm_wms]
Puede encontrarse más información sobre las caches así como otros parámetros configurables de los mismos en la sección de caches de la página de configuración de la documentación de MapProxy
En esta sección se definen los diferentes orígenes de datos de los servicios que ofrece el archivo de MapProxy, se define el nombre del origen de datos y se configuran parámetros del mismo como el tipo (type) del que admite wms, tiles, mapserver, mapnik y debug. Cada tipo tiene sus propias configuraciones.
sources:
icc_wms:
type: wms
req:
url: http://shagrat.icc.es/lizardtech/iserv/ows
layers: orto5m
supported_srs: ['EPSG:4326', 'EPSG:25831']
coverage:
bbox: [2.67,41.88,2.97,42.07]
bbox_srs: 'EPSG:4326'
Puede encontrarse una descripción más completa de las claves de cada tipo en la página de sources de la documentación de MapProxy
La sección de grids define las rejillas que emplea MapProxy a nivel interno para almacenar las imágenes generadas. Hay varias opciones de configuración, muchas pueden emplearse simultáneamente aunque tengan efectos contradictorios y produzcan resultados ambiguos.
En general lo mínimo a definir debería ser el nombre, el sistema de referencia (srs), el bounding box (bbox) y las resoluciones (min_res y max_res) aunque en los grids que están basados en otros grids la lista de parámetros puede ser menor.
grids:
utm_girona:
srs: 'EPSG:25831'
bbox: [2.67,41.88,2.97,42.07]
bbox_srs: 'EPSG:4326'
min_res: 2000
max_res: .5
Attention
La resolución se mide en unidades del SRS por pixel. Como estamos usando EPSG:25831, que es una proyección UTM, podemos suponer que la resolución mínima es de 2000 metros/pixel y la máxima de 50 cm/pixel.
Se puede consultar más información sobre las claves en la sección de grids de la página de configuración de la documentación de MapProxy
En esta sección se colocan directivas y claves que son comunes a todas las otras secciones o son internas de MapProxy.
globals:
cache:
base_dir: 'cache_data'
lock_dir: 'cache_data/locks'
image:
resampling_method: bilinear
jpeg_quality: 90
Attention
Si el directorio de caché no empieza por una barra “/”, se supone que es un directorio relativo a donde se encuentre el fichero mapproxy.yaml.
Una vez más hay amplia información sobre las claves y directivas en la sección de globals de la página de configuración de la documentación de MapProxy
Para tener una idea global de como interrelacionan los distintos componentes de MapProxy podemos consultar el mapa conceptual de la figura Mapa conceptual de interrelacion entre los componentes de MapProxy.