-
Notifications
You must be signed in to change notification settings - Fork 4
/
index.html
525 lines (401 loc) · 20.1 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Lizmap Web Client - Feature Frenzy</title>
<meta name="description" content="Lizmap Web Client presentation">
<meta name="author" content="3liz">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<link rel="stylesheet" href="css/reveal.css">
<link rel="stylesheet" href="css/theme/black.css" id="theme">
<!-- Theme used for syntax highlighting of code -->
<link rel="stylesheet" href="lib/css/zenburn.css">
<!-- Printing and PDF exports -->
<script>
var link = document.createElement( 'link' );
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = window.location.search.match( /print-pdf/gi ) ? 'css/print/pdf.css' : 'css/print/paper.css';
document.getElementsByTagName( 'head' )[0].appendChild( link );
</script>
<!--[if lt IE 9]>
<script src="lib/js/html5shiv.js"></script>
<![endif]-->
<style>
.slides .header{
position:absolute;
top: 0%;
}
.slides .footer{
position:absolute;
bottom: 0%;
left:0px;
margin: 0px;
padding:5px;
font-size:0.4em;
background-color:rgba(255,255,255,0.1);
border-radius: 5px;
}
.reveal section img{
background: none;
border: none;
box-shadow: none;
}
.reveal h1, .reveal h2 {
color: #94C11F;
}
.reveal h3 {
font-size: 1.2em;
text-transform: none;
}
.slides section ul{
font-size: 1em;
}
.slides section.black-font h2{
color: black;
}
.slides section.black-font ul{
color: black;
background:rgba(255,255,255,0.8);
font-size: 0.7em;
}
</style>
</head>
<body>
<div class="reveal">
<!-- Any section element inside of this container is displayed as a slide -->
<div class="slides">
<section data-markdown>
# Lizmap Web Client
### Publier des cartes QGIS sur internet
### *Feature Frenzy*
Michaël Douchin - 3liz
![Logo 3liz](media/Lizmap_rond_coul_noir_300.png)
</section>
<section data-markdown data-background="#94C11F">
## QGIS Server et Lizmap
</section>
<section data-markdown>
## Lizmap ?
* Un Web SIG libre pour des projets QGIS
* Créé par 3liz en 2011
* Un plugin QGIS et un client Web
* QGIS Serveur comme serveur cartographique
* Nouvelle version majeure 3.0 pour fin mai 2016
![Logo 3liz](media/Lizmap_rond_coul_noir_300.png)
</section>
<section data-markdown>
## QGIS Server ?
### Un serveur cartographique basé sur QGIS
* rendu de cartes au format image - WMS
* export de données vectorielles en GML et GeoJSON - WFS
* export de raster - WCS
* serveur de traitements - WPS ( plugin )
![Logo QGIS](media/QGis_Logo.png)
</section>
<section data-markdown>
## Pourquoi QGIS Server ?
* Pas de configuration -> le projet QGIS :
- symbologie, étiquettes, échelles, couches
* Support des formats de QGIS:
- vecteur, raster, couches virtuelles
* Les fonctionnalités de QGIS:
- rendu 2.5D, cartes de chaleur, composeurs d'impression, règles d'étiquetage, expressions
![Logo QGIS](media/QGis_Logo.png)
</section>
<section data-background="media/blending.jpg">
</section>
<section data-background="media/bati_amiens.jpeg">
</section>
<section data-markdown>
## Comment publier avec QGIS Server ?
* On envoie sur le serveur le projet QGIS et les données liées (ou PostgreSQL )
* On utilise un client WMS comme QGIS pour visualiser les données
![Logo QGIS](media/QGis_Logo.png)
</section>
<section data-background="media/qgis_server.jpg">
</section>
<section data-markdown>
## Qu'apporte Lizmap ?
* Il liste tous les projets publiés sur le serveur
* Il affiche les cartes web pour chaque projet
* Il fait l'intermédiaire entre la carte web et QGIS Server
* Il contrôle les accès aux cartes
![Logo 3liz](media/Lizmap_rond_coul_noir_300.png)
</section>
<section data-markdown>
## Comment publier avec Lizmap ?
* On configure le projet QGIS : propriétés du projet, projection, couches
* On configure la carte via le plugin Lizmap : échelles, fonds, outils
* On envoie le projet & la configuration sur le serveur
bureau | serveur | browser
--------------------- | --------------------- | ---------------
![1](media/lizmap-1.jpg) | ![2](media/lizmap-2.jpg) | ![3](media/lizmap-3.jpg)
</section>
<section data-markdown data-background="#94C11F">
## Les fonctionnalités de Lizmap
</section>
<section data-markdown>
## La page d'accueil des projets
* Les projets sont rangés par répertoire
* Une vignette par projet QGIS: illustration, titre, résumé
* Les projets accessibles en fonction des droits
</section>
<section data-background="media/accueil.gif">
</section>
<section data-markdown data-background="media/interface.jpg" class="black-font">
## La carte Lizmap
* Un bandeau : logo, recherche d'adresse, connexion
* Une barre de navigation
* Un panneau de gauche : couches et légende, métadonnées de la carte
* Une fenêtre à droite pour les outils : impression, localisation
* Une carte miniature avec l'échelle
* Une interface HTML "responsive", adaptée aux différents écrans
</section>
<section data-background="media/interface_responsive.png" data-background-size="40%">
</section>
<section data-markdown>
## La légende des couches
* Reprise de celle de QGIS
* La légende sous chaque couche
* Une barre d'outil de couche: zoom, info, export
</section>
<section data-background="media/legende.jpg">
</section>
<section data-markdown>
## Les popup
### Afficher des informations sur clic
* On choisit dans QGIS les champs à afficher
* Les alias sont utilisés à la place des noms de colonne
* La popup affiche par défaut un tableau des données
* Un affichage riche peut être fait : images, liens, mise en forme HTML
</section>
<section data-background="media/popup.gif">
</section>
<section data-markdown>
## Les popup
* On peut utiliser l'infobulle de QGIS pour mettre en forme
</section>
<section data-background="media/qgis_infobulle.jpg">
</section>
<section data-background="media/lizmap_popup_qgis.jpg">
</section>
<section data-markdown>
## Afficher les tableaux des données
* On choisit quelles couches on publie
* La carte montre un tableau des données de chaque couche
* On peut filtrer les données affichées à la volée
* Des boutons d'actions : zoom, sélection, filtre, éditer
* Gestion des relations parent/enfant entre couches
* Export des données selon les droits
</section>
<section data-background="media/table_attributaire.gif">
</section>
<section data-markdown>
## Filtrer les données
### Filtres sur la carte et dans les tableaux
* On fait une sélection, et on peut filtrer ces données
* Via la table attributaire
* Via la popup
* Le filtre est conservé par l'impression, les exports et le permalien
* Les filtres s'appliquent en cascade via les relations parent/enfant
</section>
<section data-background="media/filtre.gif">
</section>
<section data-markdown>
## Les info-bulles
### Afficher du texte au survol
* On ajoute 1 ou plusieurs couches via le plugin
* On choisit la couleur de la surbrillance
</section>
<section data-background="media/infobulle.gif">
</section>
<section data-markdown>
## L'édition de données
* Sur des couches PostgreSQL spatiales ou non
* On configure le formulaire dans QGIS pour chaque couche
* On choisit les actions autorisées : ajout, modification, suppression
* On donne le droit d'édition pour des groupes d'utilisateurs
</section>
<section data-markdown>
## L'édition : formulaires QGIS
* On ajoute des alias aux champs de la couche
* On configure le type de champ :
- texte court ou description
- liste déroulante
- calendrier
- photo ou fichier
- case à cocher
- masqué
* On peut construire le formulaire via le mode glisser-déplacer
</section>
<section data-background="media/qgis_edition.gif">
</section>
<section data-markdown>
## L'édition dans Lizmap
* Un formulaire s'affiche dans le panneau de gauche
* Il reprend les caractéristiques des champs : alias et type
* Le mode glisser-déplacer est supporté
* On peut éditer la géométrie en même temps que le formulaire
</section>
<section data-background="media/lizmap_edition.gif">
</section>
<section data-markdown>
## L'export de données
* QGIS Server sait exporter nativement en GeoJSON et GML
* Plugin de 3liz pour ajouter le support des formats OGR: Shapefile, ODS, XLSX, KML, TAB, CSV
* L'export est autorisé ou non suivant les droits
* Accessible depuis le panneau des couches et depuis la table attributaire
</section>
<section data-background="media/export.png">
</section>
<section data-markdown>
## L'impression dans Lizmap
* Lizmap utilise directement les composeurs de QGIS
- multi-page
- carte miniature
- légende filtrée
- tableaux
- saisie utilisateur pour les champs texte
* Possibilité d'utiliser l'atlas avec un peu de code côté serveur
</section>
<section data-background="media/impression_lizmap.jpg">
</section>
<section data-background="media/impression_pdf.jpg">
</section>
<section data-background="media/pprn_popup.png">
</section>
<section data-background="media/pprn_atlas.png">
</section>
<section data-markdown>
## Lizmap - conçu pour être extensible et #hackable
* un système de thèmes pour modifier l'interface via surcharge CSS
* côté serveur : la possibilité de créer des modules métier
* côté client : possibilité de charger des fichiers Javascript & d'utiliser des événements Lizmap. Par ex :
- la popup est affichée
- un objet a été modifé via l'édition
- un filtre a été activé, etc.
</section>
<section data-background="media/events.png">
</section>
<section data-background="media/observatoire_photo.gif">
</section>
<section data-markdown>
## Exemple d'intégration de vue 3D créée via Qgis2ThreeJS
</section>
<section data-background="media/threejs.gif">
</section>
<section data-markdown>
## Exemple d'intégration de vue 3D créée via 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'
);
}
});
```
</section>
<section data-markdown data-background="media/lizmap_medtrix_dashboard.png" data-background-size="100%">
.
## Intégration de d3.js
</section>
<section data-markdown data-background="#94C11F">
## L'écosystème Lizmap
</section>
<section data-markdown>
## Des utilisations variées
* Application de gestion du réseau de fibre optique - GraceTHD
* Plateforme des observations naturalistes - Occurence de Taxon
* Plan de prévention des risques naturels
* Atlas des zones d'activités sur fond cadastral
* Recueil de données terrain en mode déconnecté - Géo Poppy
* Atlas des garrigues
* Gestion des transports scolaires
* Cartes touristiques
</section>
<section data-background="media/pays_de_pontivy.png">
</section>
<section data-background="media/grace_thd.png">
</section>
<section data-background="media/karunati.png">
</section>
<section data-background="media/aduga.png">
</section>
<section data-background="media/garrigue.png">
</section>
<section data-background="media/geopoppy.png">
</section>
<section data-markdown>
## Les ressources
* Documentation : http://docs.3liz.com
* Traduction via Transifex :
- interface : https://www.transifex.com/3liz-1/lizmap-locales/
- documentation : https://www.transifex.com/3liz-1/lizmap-documentation/
* Le code source:
- Plugin Lizmap : https://github.com/3liz/lizmap-plugin
- Le Web Client: https://github.com/3liz/lizmap-web-client
</section>
<section data-background="media/transifex.png">
</section>
<section data-markdown>
## Contribuer à Lizmap
* via des développements
* en aidant à la rédaction de la doc
* en aidant à la traduction
* en finançant des améliorations ou des nouvelles fonctionnalités
* en remontant des bugs
</section>
<section data-markdown>
## RoadMap
* V3.0 sortie prévue pour le prochain HackFest QGIS à Girona fin mai 2016
* Modules pour les collectivités : cadastre, ADS, Fibre optique
* Migration vers OpenLayers 3
* Intégration d'un client WPS pour exploiter les traitements créés depuis QGIS
</section>
<section data-markdown data-background="media/threejs.gif" class="black-font">
## Merci de votre attention
![Logo 3liz](media/Lizmap_rond_coul_noir_300.png)
* Twitter: @3LIZ_news
* Site: http://3liz.com
</section>
<div class="footer">
3liz - FOSS4G-fr 2016
</div>
</div>
</div>
<script src="lib/js/head.min.js"></script>
<script src="js/reveal.js"></script>
<script>
// More info https://github.com/hakimel/reveal.js#configuration
Reveal.initialize({
controls: true,
progress: true,
history: true,
center: true,
transition: 'slide', // none/fade/slide/convex/concave/zoom
// More info https://github.com/hakimel/reveal.js#dependencies
dependencies: [
{ src: 'lib/js/classList.js', condition: function() { return !document.body.classList; } },
{ src: 'plugin/markdown/marked.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
{ src: 'plugin/markdown/markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
{ src: 'plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } },
{ src: 'plugin/zoom-js/zoom.js', async: true },
{ src: 'plugin/notes/notes.js', async: true }
]
});
</script>
</body>
</html>