QGIS Server
Jorge Useche
Germán Carrillo

QGIS Server
2019
1era Jornada de Talleres


Introducción

1era Jornada de Talleres

El proyecto QGIS


Foto de @timlinux














Introducción

1era Jornada de Talleres

El proyecto QGIS

Diagrama de Arquitectura

1era Jornada de Talleres


Servicios Web del OGC soportados

1era Jornada de Talleres

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

¿Por qué usar QGIS Server?

1era Jornada de Talleres

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!
Flujo de trabajo típico

1era Jornada de Talleres


Basado en: http://www.itopen.it/bulk/qgis-server-ws-2019/#/step-3
Flujo de trabajo

1era Jornada de Talleres

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)
Visión general del sistema

1era Jornada de Talleres


Basado en: http://www.itopen.it/bulk/qgis-server-ws-2019/#/step-4
¡Demo! Del lado del Servidor

1era Jornada de Talleres

1. Instalar Apache y QGIS Server
2. Probar que todo funciona (¿obtenemos un XML?)
3. Revisemos la configuración de QGIS Server...
Traza de errores (servidor)

1era Jornada de Talleres


¡Demo! Del lado de QGIS

1era Jornada de Talleres

1. Cargar datos de prueba a QGIS (carpeta 'geodata')
2. Definir simbología
3. Configurar el proyecto
Rutas relativas
Características de los
servicios
Guardar el proyecto
en la carpeta
'projects'
4. Usar QGIS como cliente

Operaciones para WMS

1era Jornada de Talleres

GetCapabilities
GetMap
GetFeatureInfo
GetLegendGraphics
GetProjectSettings
GetDxf
¡¡¡GetPrint!!!







Obtiene una imagen
Personalizable
Mapas dinámicos
Operaciones para WMTS

1era Jornada de Talleres

GetCapabilities
GetTile
GetFeatureInfo




Fuente: http://cite.opengeospatial.org
Obtiene teselas estáticas
Escalable
Operaciones para WFS

1era Jornada de Talleres

GetCapabilities
GetFeature
DescribeFeatureType
Transaction




Obtiene vectores
Descarga datos
Opcionalmente edita
Operaciones para WCS

1era Jornada de Talleres

GetCapabilities
DescribeCoverage
GetCoverage



Obtiene coberturas
Descarga datos

Fuente: https://www.geospatialworld.net/news/new-geospatial-satellite-service-security-pros/
Python y QGIS Server

1era Jornada de Talleres


http://www.itopen.it/bulk/nodebo/Presentations/Server%20Plugins/index.html
Python y QGIS Server

1era Jornada de Talleres


Basado en: http://www.itopen.it/bulk/nodebo/Presentations/Server%20Plugins/index.html
Control de acceso

1era Jornada de Talleres


Complete Service
Response
layerFilterExpression
layerFilterSubsetString
layerPermissions
authorizedLayerAttributes
(y más...)





Caché

1era Jornada de Talleres

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/
Comparación con otros servidores

1era Jornada de Talleres


Layer: roads_simple
Level: 7

QGIS Server
By Grupo de Usuarios QGIS Colombia
QGIS Server
1era Jornada de Talleres QGIS-Co
- 2,103