# Lizmap Web Client
### Publish QGIS maps online
### *Lizmap Feature Frenzy*
Michaƫl Douchin - 3liz
![Logo 3liz](media/Lizmap_rond_coul_noir_300.png)
## 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)
## 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
## 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