QGIS Server
Germán Carrillo
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5933049/pasted-from-clipboard.png)
QGIS Server
2019
SELPER 2019
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5933434/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5989395/pasted-from-clipboard.png)
Introducción
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5933378/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5933425/pasted-from-clipboard.png)
El proyecto QGIS
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5964299/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5964303/pasted-from-clipboard.png)
Foto de @timlinux
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5964316/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5964319/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5964321/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5964322/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5964323/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5964324/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5964325/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5964327/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5964329/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5964330/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5964331/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5964333/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5964335/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5964336/pasted-from-clipboard.png)
SELPER 2019
Introducción
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5933378/pasted-from-clipboard.png)
SELPER 2019
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5933425/pasted-from-clipboard.png)
El proyecto QGIS
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/6010894/pasted-from-clipboard.png)
¿Por qué usar QGIS Server?
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5933378/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5933425/pasted-from-clipboard.png)
Configuración sencilla y potente con QGIS Desktop
Conformidad (parcial) con estándares OGC
Uso de plantillas de impresión configurables en QGIS
desktop y dispuestas desde el servicio web (GetPrint)
¡Personalización de servicios con Python!
SELPER 2019
Flujo de trabajo
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5933378/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5933425/pasted-from-clipboard.png)
Producir/conseguir datos geográficos y cargarlos a QGIS
Personalizar representación (simbología, etiquetado,
nombres, campos)
Configurar cada capa para QGIS Server (Título, palabras
clave, atribución, metadatos)
Configurar proyecto para QGIS Server (Capacidades, SRSs,
extents, calidad de imagen de salida, etc.)
Configurar servidor web (Apache / NGINX)
Configurar QGIS Server (apuntar al proyecto de QGIS)
SELPER 2019
Visión general del sistema
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5933378/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5933425/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1021048/images/5991512/Arquitectura_QGIS_Server-Page-6_1_.png)
Basado en: http://www.itopen.it/bulk/qgis-server-ws-2019/#/step-4
SELPER 2019
Elaborado por Jorge Useche
Servicios Web del OGC soportados
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5933378/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5933425/pasted-from-clipboard.png)
Web Map Service (WMS) 1.3.0
Web Map Tile Service (WMTS) 1.0.0
Web Feature Service (WFS/WFS-T) 1.0.0, 1.1.0
Web Coverage Service (WCS) 1.1.1
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/6005151/pasted-from-clipboard.png)
SELPER 2019
¡Demo! Del lado del Servidor
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5933378/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5933425/pasted-from-clipboard.png)
1. Probar instalación de Apache y QGIS Server
2. Probar WMS (¿obtenemos un XML?)
SELPER 2019
¡Ejercicio! Del lado de QGIS
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5933378/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5933425/pasted-from-clipboard.png)
1. Cargar datos a QGIS
2. Definir simbología
3. Configurar el proyecto
'Capacidades' de los
servicios
4. Configurar cada capa
para QGIS Server
![](https://s3.amazonaws.com/media-p.slid.es/uploads/308098/images/5939769/proyecto.png)
SELPER 2019
Operaciones para WMS
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5933378/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5933425/pasted-from-clipboard.png)
GetCapabilities
GetMap
GetFeatureInfo
GetLegendGraphics
GetProjectSettings
GetDxf
¡¡¡GetPrint!!!
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/6005153/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/6005153/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/6005153/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/6005153/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5964299/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5964299/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5964299/pasted-from-clipboard.png)
Obtiene una imagen
Personalizable
Mapas dinámicos
SELPER 2019
Operaciones para WMTS
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5933378/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5933425/pasted-from-clipboard.png)
GetCapabilities
GetTile
GetFeatureInfo
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/6005153/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/6005153/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/6005153/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/6009550/pasted-from-clipboard.png)
Fuente: http://cite.opengeospatial.org
Obtiene teselas estáticas
Escalable
SELPER 2019
Operaciones para WFS
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5933378/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5933425/pasted-from-clipboard.png)
GetCapabilities
GetFeature
DescribeFeatureType
Transaction
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/6005153/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/6005153/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/6005153/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/6005153/pasted-from-clipboard.png)
Obtiene vectores
Descarga datos
Opcionalmente edita
SELPER 2019
Operaciones para WCS
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5933378/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5933425/pasted-from-clipboard.png)
GetCapabilities
DescribeCoverage
GetCoverage
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/6005153/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/6005153/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/6005153/pasted-from-clipboard.png)
Obtiene coberturas
Descarga datos
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/6019686/pasted-from-clipboard.png)
Fuente: https://www.geospatialworld.net/news/new-geospatial-satellite-service-security-pros/
SELPER 2019
QGIS Server
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5933378/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5933425/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1021048/images/5974971/Arquitectura_QGIS_Server-Page-3_1_.png)
http://www.itopen.it/bulk/nodebo/Presentations/Server%20Plugins/index.html
SELPER 2019
Elaborado por Jorge Useche
Python y QGIS Server
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5933378/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5933425/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1021048/images/5974999/Arquitectura_QGIS_Server-Page-4.png)
Basado en: http://www.itopen.it/bulk/nodebo/Presentations/Server%20Plugins/index.html
SELPER 2019
Elaborado por Jorge Useche
Control de acceso
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5933378/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5933425/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5994750/all_returned.png)
Complete Service
Response
layerFilterExpression
layerFilterSubsetString
layerPermissions
authorizedLayerAttributes
(y más...)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5994767/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5994777/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5994785/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5994794/only_terreno.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5994797/pasted-from-clipboard.png)
SELPER 2019
Caché
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5933378/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5933425/pasted-from-clipboard.png)
Las instancias de QGIS:
Cachea capacidades y proyectos
Caché no es compartido entre instancias
Capas no son cacheadas
El caché es generalmente delegado a otros niveles:
mapproxy https://mapproxy.org/
tilecache http://tilecache.org/
tilestache http://tilestache.org/
SELPER 2019
Comparación con otros servidores
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5933378/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1024189/images/5933425/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1021048/images/5991517/pasted-from-clipboard.png)
Layer: roads_simple
Level: 7
![](https://s3.amazonaws.com/media-p.slid.es/uploads/1021048/images/5991520/pasted-from-clipboard.png)
SELPER 2019
QGIS Server (for SELPER 2019)
By germap
QGIS Server (for SELPER 2019)
Evento: SELPER 2019
- 1,065