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,055