# Lizmap Web Client ### Publish QGIS maps online ### *Lizmap Feature Frenzy* Michaƫl Douchin - 3liz ![Logo 3liz](media/Lizmap_rond_coul_noir_300.png)
## QGIS Server & Lizmap
## Lizmap ? * An open source web map builder for QGIS * Created by 3liz (France) in 2011 * 1 QGIS plugin + 1 web client * QGIS Server as the map server * New major version 3.0 in mid-2016 ![Logo 3liz](media/Lizmap_rond_coul_noir_300.png)
## QGIS Server ? ### A map server based on QGIS * map rendering as images - WMS * export vector data to GML & GeoJSON - WFS * export rasters - WCS * processing server - WPS ( via server plugin ) ![Logo QGIS](media/QGis_Logo.png)
## Why QGIS Server ? * No additionnal conf -> use QGIS project - symbology, labels, layers, etc. * Support of many formats: - vector, raster, virtual layers * QGIS amazing features: - 2.5D rendering, heat maps, print composer, rule based labelling, expressions ![Logo QGIS](media/QGis_Logo.png)
## Publish with QGIS Server ? * Send QGIS project and data to the server * Use a WMS/WFS/WCS client like QGIS to get data and maps ![Logo QGIS](media/QGis_Logo.png)
## Lizmap is a QGIS web client * Lists all server-side QGIS projects * Builds and display one web map per QGIS project * Acts as a proxy between the web map and QGIS Server * Controls access to maps based on groups of users * Automatic tile cache generator, accessible via WMTS ![Logo 3liz](media/Lizmap_rond_coul_noir_300.png)
## How to publish projects with Lizmap ? * Configure the QGIS project: project properties, projections, layers * Configure map options via Lizmap plugin: scales, base layers, tools * Send project and lizmap configuration to the server. desktop | server | browser --------------------- | --------------------- | --------------- ![1](media/lizmap-1.jpg) | ![2](media/lizmap-2.jpg) | ![3](media/lizmap-3.jpg)
## Lizmap features
## Main page: project list * Projects are organized in repositories * One image for each QGIS project: title, description, links * Only accessible repositories are available depending on rights
## Lizmap map interface * Header: logo, address search, connection * Navigation bar: zoom and pan * Left panel: layers, legend, metadata * Right small dock for tools: printing, location * Overview map with scales and position * Responsive HTML interface
## Layer legend panel * Legend images generated by QGIS under each layer * Possibility to group many QGIS layers as one single Lizmap layer * A layer toolbar with tools: zoom, information, export, filter
## Popups : identification tool ### Display information on clic * Configured in QGIS - choose which fields are displayed via vector properties - use aliases to display human readable field names * Lizmap popup displays a table containing fields names and values * A richer content can be shown with images, links, HMTL layout
## Popups * QGIS vector tooltip can be used as the source for the popup layout
## Data tables in Lizmap * Choose which vector layer to publish * Lizmap shows a data table for each published layer * Search among data while typing * Launch actions on feature: select, zoom, pan, edit, delete * Support for QGIS layers relations : parent/child * Export vector layers
## Filtering data ### Filter data displayed on map and in tables * Select some data, then trigger filtering on these data - From attribute table - From popup * The filter is active for any tool: printing, layer export, permalink * Data filter is applied on child layers through relations (1:N or N:M)
## Map tooltip ### Display information on hover * Configured in Lizmap plugin - choose layer(s) to activate - choose geometry color for highlited feature
## Editing data in Lizmap * Feature available for PostgreSQL layers * Configure aliases and form edit types in QGIS: value relation, checkbox, photo, etc. * Design form: auto mode or use Drag&Drop * Choose possible actions for each layer: add, modify, delete * Restrict editing for groups of users via Lizmap rights system * Editing is done directly on the layer
## Editing in the Lizmap interface * A web form is shown in the left panel * Geometry and attributes can be edited at the same time * Data is stored in QGIS layer: symbology, labels, popups, tables
## Vector layers export * QGIS Server can export data to GeoJSON and GML (WFS) * Server Python plugin qgis-wfsOutputExtension: Shapefile, ODS, XLSX, KML, TAB, CSV * Lizmap export is available only for some groups of users * Export tool in legend layer toolbar and attribute tables
## Map print feature * Lizmap uses QGIS project print compositions - multi-page - overview map is supported - legend, filtered or not - tables - texts can be changed by user ( when id is set) * An atlas configuration can be used with some extra server side code
## Lizmap - designed to be extensible and hackable * Theme support: override interface properties via CSS * Server side: create a module for any specific usage * Client side: load Javascript files with each QGIS project & use Lizmap events: - popup is displayed - a feature has been modified - a filter has been activated on a layer, etc.
## JS Example ### Add a 3D view created with Qgis2ThreeJS
## JS Example ### Add a 3D view created with Qgis2ThreeJS ``` lizMap.events.on({ uicreated: function(e) { var mediaLink = OpenLayers.Util.urlAppend( lizUrls.media ,OpenLayers.Util.getParameterString(lizUrls.params) ); var frameSrc = mediaLink +'&path=/media/js/observatoire/threejs.html'; lizMap.addDock( 'threejs', 'Vue 3D', 'right-dock', '<iframe src="' + frameSrc + '" height="800px" width="100%">', 'icon-globe' ); } }); ```
. ## JS example : play with d3.js
## Lizmap ecosystem
## From QGIS to Lizmap: some use cases * Optical fiber networks * Species observation in protected areas * Risk management: flows, earthquakes * Local urban masterplan with cadastral baselayer * Field data collection with Raspberry-PI/docker/QGIS/Lizmap/PostgreSQL * School transportation system management * Touristic maps
## Resources * Documentation: http://docs.3liz.com * Translation via Transifex: - interface: https://www.transifex.com/3liz-1/lizmap-locales/ - documentation: https://www.transifex.com/3liz-1/lizmap-documentation/ * Source code: - Lizmap Plugin : https://github.com/3liz/lizmap-plugin - Lizmap Web Client: https://github.com/3liz/lizmap-web-client
## Contributions are welcome * develop a feature, help to fix bug * write documentation * help to translate lizmap interface and documentation * report bugs and share ideas for new features * support bug fixing or new features development
## RoadMap * V3.0 RC planed for QGIS HackFest in Girona * Modules for regional and local authorities: cadastre, networks, etc. * Migration to OpenLayers 3 * Add a WPS client to use processing scripts and models from Lizmap
## Try it ! * lizmap-docker : https://github.com/3liz/lizmap-docker/ * lizmap-box : Ansible scripts to deploy Lizmap stack on server * 3liz also provides Lizmap Hosting ![Logo 3liz](media/Lizmap_rond_coul_noir_300.png)
## Thanks for your attention ![Logo 3liz](media/Lizmap_rond_coul_noir_300.png) * Twitter: @3LIZ_news * Site: http://3liz.com