-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathQGIS_Introduction.html
1594 lines (1518 loc) · 131 KB
/
QGIS_Introduction.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
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!DOCTYPE html>
<html><head><style>
.utterances {
position: relative;
box-sizing: border-box;
width: 100%;
max-width: 760px;
margin-left: auto;
margin-right: auto;
}
.utterances-frame {
color-scheme: light;
position: absolute;
left: 0;
right: 0;
width: 1px;
min-width: 100%;
max-width: 100%;
height: 100%;
border: 0;
}
</style>
<meta charset="utf-8">
<meta name="generator" content="pandoc">
<meta http-equiv="X-UA-Compatible" content="IE=EDGE">
<title>Introduction à QGIS </title>
<script src="files4QGIS/header-attrs.js"></script>
<script src="files4QGIS/jquery.min.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="files4QGIS/flatly.min.css" rel="stylesheet">
<script src="files4QGIS/bootstrap.min.js"></script>
<script src="files4QGIS/html5shiv.min.js"></script>
<script src="files4QGIS/respond.min.js"></script>
<style>h1 {font-size: 34px;}
h1.title {font-size: 38px;}
h2 {font-size: 30px;}
h3 {font-size: 24px;}
h4 {font-size: 18px;}
h5 {font-size: 16px;}
h6 {font-size: 12px;}
code {color: inherit; background-color: rgba(0, 0, 0, 0.04);}
pre:not([class]) { background-color: white }</style>
<script src="site_libs/navigation-1.1/tabsets.js"></script>
<link href="css4QGIS/pagedtable.css" rel="stylesheet">
<script src="site_libs/pagedtable-1.1/js/pagedtable.js"></script>
<!-- Google tag (gtag.js) -->
<script async="" src="https://www.googletagmanager.com/gtag/js?id=G-PDGF11RK4Z"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-PDGF11RK4Z');
</script>
<style type="text/css">
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
span.underline{text-decoration: underline;}
div.column{display: inline-block; vertical-align: top; width: 50%;}
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
ul.task-list{list-style: none;}
</style>
<style type="text/css">
.main-container {
max-width: 940px;
margin-left: auto;
margin-right: auto;
}
img {
max-width:100%;
}
.tabbed-pane {
padding-top: 12px;
}
.html-widget {
margin-bottom: 20px;
}
button.code-folding-btn:focus {
outline: none;
}
summary {
display: list-item;
}
pre code {
padding: 0;
}
</style>
<style type="text/css">
.dropdown-submenu {
position: relative;
}
.dropdown-submenu>.dropdown-menu {
top: 0;
left: 100%;
margin-top: -6px;
margin-left: -1px;
border-radius: 0 6px 6px 6px;
}
.dropdown-submenu:hover>.dropdown-menu {
display: block;
}
.dropdown-submenu>a:after {
display: block;
content: " ";
float: right;
width: 0;
height: 0;
border-color: transparent;
border-style: solid;
border-width: 5px 0 5px 5px;
border-left-color: #cccccc;
margin-top: 5px;
margin-right: -10px;
}
.dropdown-submenu:hover>a:after {
border-left-color: #adb5bd;
}
.dropdown-submenu.pull-left {
float: none;
}
.dropdown-submenu.pull-left>.dropdown-menu {
left: -100%;
margin-left: 10px;
border-radius: 6px 0 6px 6px;
}
</style>
<script type="text/javascript">
// manage active state of menu based on current page
$(document).ready(function () {
// active menu anchor
href = window.location.pathname
href = href.substr(href.lastIndexOf('/') + 1)
if (href === "")
href = "index.html";
var menuAnchor = $('a[href="' + href + '"]');
// mark it active
menuAnchor.tab('show');
// if it's got a parent navbar menu mark it active as well
menuAnchor.closest('li.dropdown').addClass('active');
// Navbar adjustments
var navHeight = $(".navbar").first().height() + 15;
var style = document.createElement('style');
var pt = "padding-top: " + navHeight + "px; ";
var mt = "margin-top: -" + navHeight + "px; ";
var css = "";
// offset scroll position for anchor links (for fixed navbar)
for (var i = 1; i <= 6; i++) {
css += ".section h" + i + "{ " + pt + mt + "}\n";
}
style.innerHTML = "body {" + pt + "padding-bottom: 40px; }\n" + css;
document.head.appendChild(style);
});
</script>
<!-- tabsets -->
<style type="text/css">
.tabset-dropdown > .nav-tabs {
display: inline-table;
max-height: 500px;
min-height: 44px;
overflow-y: auto;
border: 1px solid #ddd;
border-radius: 4px;
}
.tabset-dropdown > .nav-tabs > li.active:before {
content: "";
font-family: 'Glyphicons Halflings';
display: inline-block;
padding: 10px;
border-right: 1px solid #ddd;
}
.tabset-dropdown > .nav-tabs.nav-tabs-open > li.active:before {
content: "";
border: none;
}
.tabset-dropdown > .nav-tabs.nav-tabs-open:before {
content: "";
font-family: 'Glyphicons Halflings';
display: inline-block;
padding: 10px;
border-right: 1px solid #ddd;
}
.tabset-dropdown > .nav-tabs > li.active {
display: block;
}
.tabset-dropdown > .nav-tabs > li > a,
.tabset-dropdown > .nav-tabs > li > a:focus,
.tabset-dropdown > .nav-tabs > li > a:hover {
border: none;
display: inline-block;
border-radius: 4px;
background-color: transparent;
}
.tabset-dropdown > .nav-tabs.nav-tabs-open > li {
display: block;
float: none;
}
.tabset-dropdown > .nav-tabs > li {
display: none;
}
</style>
<!-- code folding -->
<script type="text/javascript" src="https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script><style>body {padding-top: 75px; padding-bottom: 40px; }
.section h1{ padding-top: 75px; margin-top: -75px; }
.section h2{ padding-top: 75px; margin-top: -75px; }
.section h3{ padding-top: 75px; margin-top: -75px; }
.section h4{ padding-top: 75px; margin-top: -75px; }
.section h5{ padding-top: 75px; margin-top: -75px; }
.section h6{ padding-top: 75px; margin-top: -75px; }
</style><meta http-equiv="origin-trial" content="AymqwRC7u88Y4JPvfIF2F37QKylC04248hLCdJAsh8xgOfe/dVJPV3XS3wLFca1ZMVOtnBfVjaCMTVudWM//5g4AAAB7eyJvcmlnaW4iOiJodHRwczovL3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNvbTo0NDMiLCJmZWF0dXJlIjoiUHJpdmFjeVNhbmRib3hBZHNBUElzIiwiZXhwaXJ5IjoxNjk1MTY3OTk5LCJpc1RoaXJkUGFydHkiOnRydWV9"><style type="text/css">.MathJax_Hover_Frame {border-radius: .25em; -webkit-border-radius: .25em; -moz-border-radius: .25em; -khtml-border-radius: .25em; box-shadow: 0px 0px 15px #83A; -webkit-box-shadow: 0px 0px 15px #83A; -moz-box-shadow: 0px 0px 15px #83A; -khtml-box-shadow: 0px 0px 15px #83A; border: 1px solid #A6D ! important; display: inline-block; position: absolute}
.MathJax_Menu_Button .MathJax_Hover_Arrow {position: absolute; cursor: pointer; display: inline-block; border: 2px solid #AAA; border-radius: 4px; -webkit-border-radius: 4px; -moz-border-radius: 4px; -khtml-border-radius: 4px; font-family: 'Courier New',Courier; font-size: 9px; color: #F0F0F0}
.MathJax_Menu_Button .MathJax_Hover_Arrow span {display: block; background-color: #AAA; border: 1px solid; border-radius: 3px; line-height: 0; padding: 4px}
.MathJax_Hover_Arrow:hover {color: white!important; border: 2px solid #CCC!important}
.MathJax_Hover_Arrow:hover span {background-color: #CCC!important}
</style><style type="text/css">#MathJax_About {position: fixed; left: 50%; width: auto; text-align: center; border: 3px outset; padding: 1em 2em; background-color: #DDDDDD; color: black; cursor: default; font-family: message-box; font-size: 120%; font-style: normal; text-indent: 0; text-transform: none; line-height: normal; letter-spacing: normal; word-spacing: normal; word-wrap: normal; white-space: nowrap; float: none; z-index: 201; border-radius: 15px; -webkit-border-radius: 15px; -moz-border-radius: 15px; -khtml-border-radius: 15px; box-shadow: 0px 10px 20px #808080; -webkit-box-shadow: 0px 10px 20px #808080; -moz-box-shadow: 0px 10px 20px #808080; -khtml-box-shadow: 0px 10px 20px #808080; filter: progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')}
#MathJax_About.MathJax_MousePost {outline: none}
.MathJax_Menu {position: absolute; background-color: white; color: black; width: auto; padding: 5px 0px; border: 1px solid #CCCCCC; margin: 0; cursor: default; font: menu; text-align: left; text-indent: 0; text-transform: none; line-height: normal; letter-spacing: normal; word-spacing: normal; word-wrap: normal; white-space: nowrap; float: none; z-index: 201; border-radius: 5px; -webkit-border-radius: 5px; -moz-border-radius: 5px; -khtml-border-radius: 5px; box-shadow: 0px 10px 20px #808080; -webkit-box-shadow: 0px 10px 20px #808080; -moz-box-shadow: 0px 10px 20px #808080; -khtml-box-shadow: 0px 10px 20px #808080; filter: progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')}
.MathJax_MenuItem {padding: 1px 2em; background: transparent}
.MathJax_MenuArrow {position: absolute; right: .5em; padding-top: .25em; color: #666666; font-size: .75em}
.MathJax_MenuActive .MathJax_MenuArrow {color: white}
.MathJax_MenuArrow.RTL {left: .5em; right: auto}
.MathJax_MenuCheck {position: absolute; left: .7em}
.MathJax_MenuCheck.RTL {right: .7em; left: auto}
.MathJax_MenuRadioCheck {position: absolute; left: .7em}
.MathJax_MenuRadioCheck.RTL {right: .7em; left: auto}
.MathJax_MenuLabel {padding: 1px 2em 3px 1.33em; font-style: italic}
.MathJax_MenuRule {border-top: 1px solid #DDDDDD; margin: 4px 3px}
.MathJax_MenuDisabled {color: GrayText}
.MathJax_MenuActive {background-color: #606872; color: white}
.MathJax_MenuDisabled:focus, .MathJax_MenuLabel:focus {background-color: #E8E8E8}
.MathJax_ContextMenu:focus {outline: none}
.MathJax_ContextMenu .MathJax_MenuItem:focus {outline: none}
#MathJax_AboutClose {top: .2em; right: .2em}
.MathJax_Menu .MathJax_MenuClose {top: -10px; left: -10px}
.MathJax_MenuClose {position: absolute; cursor: pointer; display: inline-block; border: 2px solid #AAA; border-radius: 18px; -webkit-border-radius: 18px; -moz-border-radius: 18px; -khtml-border-radius: 18px; font-family: 'Courier New',Courier; font-size: 24px; color: #F0F0F0}
.MathJax_MenuClose span {display: block; background-color: #AAA; border: 1.5px solid; border-radius: 18px; -webkit-border-radius: 18px; -moz-border-radius: 18px; -khtml-border-radius: 18px; line-height: 0; padding: 8px 0 6px}
.MathJax_MenuClose:hover {color: white!important; border: 2px solid #CCC!important}
.MathJax_MenuClose:hover span {background-color: #CCC!important}
.MathJax_MenuClose:hover:focus {outline: none}
</style><style type="text/css">.MathJax_Preview .MJXf-math {color: inherit!important}
</style><style type="text/css">.MJX_Assistive_MathML {position: absolute!important; top: 0; left: 0; clip: rect(1px, 1px, 1px, 1px); padding: 1px 0 0 0!important; border: 0!important; height: 1px!important; width: 1px!important; overflow: hidden!important; display: block!important; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none}
.MJX_Assistive_MathML.MJX_Assistive_MathML_Block {width: 100%!important}
</style><style type="text/css">#MathJax_Zoom {position: absolute; background-color: #F0F0F0; overflow: auto; display: block; z-index: 301; padding: .5em; border: 1px solid black; margin: 0; font-weight: normal; font-style: normal; text-align: left; text-indent: 0; text-transform: none; line-height: normal; letter-spacing: normal; word-spacing: normal; word-wrap: normal; white-space: nowrap; float: none; -webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box; box-shadow: 5px 5px 15px #AAAAAA; -webkit-box-shadow: 5px 5px 15px #AAAAAA; -moz-box-shadow: 5px 5px 15px #AAAAAA; -khtml-box-shadow: 5px 5px 15px #AAAAAA; filter: progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')}
#MathJax_ZoomOverlay {position: absolute; left: 0; top: 0; z-index: 300; display: inline-block; width: 100%; height: 100%; border: 0; padding: 0; margin: 0; background-color: white; opacity: 0; filter: alpha(opacity=0)}
#MathJax_ZoomFrame {position: relative; display: inline-block; height: 0; width: 0}
#MathJax_ZoomEventTrap {position: absolute; left: 0; top: 0; z-index: 302; display: inline-block; border: 0; padding: 0; margin: 0; background-color: white; opacity: 0; filter: alpha(opacity=0)}
</style><style type="text/css">.MathJax_Preview {color: #888}
#MathJax_Message {position: fixed; left: 1px; bottom: 2px; background-color: #E6E6E6; border: 1px solid #959595; margin: 0px; padding: 2px 8px; z-index: 102; color: black; font-size: 80%; width: auto; white-space: nowrap}
#MathJax_MSIE_Frame {position: absolute; top: 0; left: 0; width: 0px; z-index: 101; border: 0px; margin: 0px; padding: 0px}
.MathJax_Error {color: #CC0000; font-style: italic}
</style><style type="text/css">.MJXp-script {font-size: .8em}
.MJXp-right {-webkit-transform-origin: right; -moz-transform-origin: right; -ms-transform-origin: right; -o-transform-origin: right; transform-origin: right}
.MJXp-bold {font-weight: bold}
.MJXp-italic {font-style: italic}
.MJXp-scr {font-family: MathJax_Script,'Times New Roman',Times,STIXGeneral,serif}
.MJXp-frak {font-family: MathJax_Fraktur,'Times New Roman',Times,STIXGeneral,serif}
.MJXp-sf {font-family: MathJax_SansSerif,'Times New Roman',Times,STIXGeneral,serif}
.MJXp-cal {font-family: MathJax_Caligraphic,'Times New Roman',Times,STIXGeneral,serif}
.MJXp-mono {font-family: MathJax_Typewriter,'Times New Roman',Times,STIXGeneral,serif}
.MJXp-largeop {font-size: 150%}
.MJXp-largeop.MJXp-int {vertical-align: -.2em}
.MJXp-math {display: inline-block; line-height: 1.2; text-indent: 0; font-family: 'Times New Roman',Times,STIXGeneral,serif; white-space: nowrap; border-collapse: collapse}
.MJXp-display {display: block; text-align: center; margin: 1em 0}
.MJXp-math span {display: inline-block}
.MJXp-box {display: block!important; text-align: center}
.MJXp-box:after {content: " "}
.MJXp-rule {display: block!important; margin-top: .1em}
.MJXp-char {display: block!important}
.MJXp-mo {margin: 0 .15em}
.MJXp-mfrac {margin: 0 .125em; vertical-align: .25em}
.MJXp-denom {display: inline-table!important; width: 100%}
.MJXp-denom > * {display: table-row!important}
.MJXp-surd {vertical-align: top}
.MJXp-surd > * {display: block!important}
.MJXp-script-box > * {display: table!important; height: 50%}
.MJXp-script-box > * > * {display: table-cell!important; vertical-align: top}
.MJXp-script-box > *:last-child > * {vertical-align: bottom}
.MJXp-script-box > * > * > * {display: block!important}
.MJXp-mphantom {visibility: hidden}
.MJXp-munderover {display: inline-table!important}
.MJXp-over {display: inline-block!important; text-align: center}
.MJXp-over > * {display: block!important}
.MJXp-munderover > * {display: table-row!important}
.MJXp-mtable {vertical-align: .25em; margin: 0 .125em}
.MJXp-mtable > * {display: inline-table!important; vertical-align: middle}
.MJXp-mtr {display: table-row!important}
.MJXp-mtd {display: table-cell!important; text-align: center; padding: .5em 0 0 .5em}
.MJXp-mtr > .MJXp-mtd:first-child {padding-left: 0}
.MJXp-mtr:first-child > .MJXp-mtd {padding-top: 0}
.MJXp-mlabeledtr {display: table-row!important}
.MJXp-mlabeledtr > .MJXp-mtd:first-child {padding-left: 0}
.MJXp-mlabeledtr:first-child > .MJXp-mtd {padding-top: 0}
.MJXp-merror {background-color: #FFFF88; color: #CC0000; border: 1px solid #CC0000; padding: 1px 3px; font-style: normal; font-size: 90%}
.MJXp-scale0 {-webkit-transform: scaleX(.0); -moz-transform: scaleX(.0); -ms-transform: scaleX(.0); -o-transform: scaleX(.0); transform: scaleX(.0)}
.MJXp-scale1 {-webkit-transform: scaleX(.1); -moz-transform: scaleX(.1); -ms-transform: scaleX(.1); -o-transform: scaleX(.1); transform: scaleX(.1)}
.MJXp-scale2 {-webkit-transform: scaleX(.2); -moz-transform: scaleX(.2); -ms-transform: scaleX(.2); -o-transform: scaleX(.2); transform: scaleX(.2)}
.MJXp-scale3 {-webkit-transform: scaleX(.3); -moz-transform: scaleX(.3); -ms-transform: scaleX(.3); -o-transform: scaleX(.3); transform: scaleX(.3)}
.MJXp-scale4 {-webkit-transform: scaleX(.4); -moz-transform: scaleX(.4); -ms-transform: scaleX(.4); -o-transform: scaleX(.4); transform: scaleX(.4)}
.MJXp-scale5 {-webkit-transform: scaleX(.5); -moz-transform: scaleX(.5); -ms-transform: scaleX(.5); -o-transform: scaleX(.5); transform: scaleX(.5)}
.MJXp-scale6 {-webkit-transform: scaleX(.6); -moz-transform: scaleX(.6); -ms-transform: scaleX(.6); -o-transform: scaleX(.6); transform: scaleX(.6)}
.MJXp-scale7 {-webkit-transform: scaleX(.7); -moz-transform: scaleX(.7); -ms-transform: scaleX(.7); -o-transform: scaleX(.7); transform: scaleX(.7)}
.MJXp-scale8 {-webkit-transform: scaleX(.8); -moz-transform: scaleX(.8); -ms-transform: scaleX(.8); -o-transform: scaleX(.8); transform: scaleX(.8)}
.MJXp-scale9 {-webkit-transform: scaleX(.9); -moz-transform: scaleX(.9); -ms-transform: scaleX(.9); -o-transform: scaleX(.9); transform: scaleX(.9)}
.MathJax_PHTML .noError {vertical-align:top; font-size: 90%; text-align: left; color: black; padding: 1px 3px; border: 1px solid}
</style></head>
<body><div id="MathJax_Message" style="display: none;"></div>
<div class="container-fluid main-container">
<div class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="index.html#/0/2">Accueil </a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li>
<a href="http://elearninginfo.univ-bouira.dz/login/index.php">Plateforme de l'Université </a>
</li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li>
<a href="#">haut</a>
</li>
</ul>
</div><!--/.nav-collapse -->
</div><!--/.container -->
</div><!--/.navbar -->
<div id="header">
<h1 class="title toc-ignore">Introduction à QGIS </h1>
<h3 class="subtitle">Introduction globale à la cartographie et à l'Analyse spatiale avec QGIS.</h3>
<h4 class="author"><a href="https://courses.spatialthoughts.com/introduction-to-qgis.html">tuto</a> traduit par Nadia GUEALIA</h4>
</div>
<div id="TOC">
<ul>
<li><a href="#introduction" id="toc-introduction">Introduction</a></li>
<li><a href="#software" id="toc-software">Logiciel</a></li>
<li><a href="#get-the-data-package" id="toc-get-the-data-package">Obtenir le package de données</a></li>
<li><a href="#configuration-and-setup" id="toc-configuration-and-setup">Configuration et installation</a>
<ul>
<li><a href="#enable-required-toolbars" id="toc-enable-required-toolbars">Activer les barres d'outils requises</a></li>
<li><a href="#install-required-plugins" id="toc-install-required-plugins">Installer les plugins requis</a></li>
</ul></li>
<li><a href="#creating-maps" id="toc-creating-maps">1. Création de cartes</a>
<ul>
<li><a href="#importing-vector-data" id="toc-importing-vector-data">1.1 Importation de données vectorielles</a>
<ul>
<li><a href="#challenge" id="toc-challenge">1.1.1 Défi</a></li>
</ul></li>
<li><a href="#symbology" id="toc-symbology">1.2 Symbologie</a>
<ul>
<li><a href="#challenge-1" id="toc-challenge-1">1.2.1 Défi</a></li>
</ul></li>
<li><a href="#labelling" id="toc-labelling">1.3 Étiquetage</a>
<ul>
<li><a href="#challenge-2" id="toc-challenge-2">1.3.1 Défi</a></li>
</ul></li>
<li><a href="#print-layout" id="toc-print-layout">1.4 Mise en page pour l'impression</a>
<ul>
<li><a href="#challenge-3" id="toc-challenge-3">1.4.1 Défi</a></li>
</ul></li>
</ul></li>
<li><a href="#concept-joins-and-data-normalization" id="toc-concept-joins-and-data-normalization">Concept : Jointure et normalisation des données</a></li>
<li><a href="#visualizing-spatial-data" id="toc-visualizing-spatial-data">2. Visualisation des données spatiales</a>
<ul>
<li><a href="#table-join" id="toc-table-join">2.1 Jointure de table</a>
<ul>
<li><a href="#challenge-4" id="toc-challenge-4">2.1.1 Défi</a></li>
</ul></li>
<li><a href="#creating-a-choropleth-map" id="toc-creating-a-choropleth-map">2.2 Création d'une carte choroplèthe</a>
<ul>
<li><a href="#challenge-5" id="toc-challenge-5">2.2.1 Défi</a></li>
</ul></li>
</ul></li>
<li><a href="#assignment" id="toc-assignment">Exercice</a></li>
<li><a href="#georeferencing" id="toc-georeferencing">3. Géoréférencement</a>
<ul>
<li><a href="#using-basemaps" id="toc-using-basemaps">3.1 Utilisation de fonds de carte</a>
<ul>
<li><a href="#challenge-6" id="toc-challenge-6">3.1.1 Défi</a></li>
</ul></li>
<li><a href="#using-the-georeferencer" id="toc-using-the-georeferencer">3.2 Utilisation du géoréférenceur</a>
<ul>
<li><a href="#challenge-7" id="toc-challenge-7">3.2.1 Défi</a></li>
</ul></li>
</ul></li>
<li><a href="#data-editing" id="toc-data-editing">4. Édition de données</a>
<ul>
<li><a href="#attribute-forms" id="toc-attribute-forms">4.1 Formulaires d'attributs</a>
<ul>
<li><a href="#challenge-8" id="toc-challenge-8">4.1.1 Défi</a></li>
</ul></li>
<li><a href="#digitizing-polygons" id="toc-digitizing-polygons">4.2 Numérisation des polygones</a>
<ul>
<li><a href="#challenge-9" id="toc-challenge-9">4.2.1 Défi</a></li>
</ul></li>
</ul></li>
<li><a href="#concept-introduction-to-openstreetmap" id="toc-concept-introduction-to-openstreetmap">Concept : Introduction à OpenStreetMap</a></li>
<li><a href="#geoprocessing" id="toc-geoprocessing">5. Géotraitement</a>
<ul>
<li><a href="#download-openstreetmap-data" id="toc-download-openstreetmap-data">5.1 Téléchargement des données OpenStreetMap</a>
<ul>
<li><a href="#challenge-10" id="toc-challenge-10">5.1.1 Défi</a></li>
</ul></li>
<li><a href="#reproject-and-buffer" id="toc-reproject-and-buffer">5.2 Reprojection et tampon</a>
<ul>
<li><a href="#challenge-11" id="toc-challenge-11">5.2.1 Défi</a></li>
</ul></li>
<li><a href="#calculate-zonal-statistics" id="toc-calculate-zonal-statistics">5.3 Calcul des statistiques zonales</a>
<ul>
<li><a href="#challenge-12" id="toc-challenge-12">5.3.1 Défi</a></li>
</ul></li>
</ul></li>
<li><a href="#data-credits" id="toc-data-credits">Crédits des données</a></li>
<li><a href="#license" id="toc-license">Licence</a></li>
</ul>
</div>
<div style="page-break-after: always;"></div>
<hr>
<div style="page-break-after: always;"></div>
<div id="introduction" class="section level1">
<h1>Introduction</h1>
<p>Ceci est un cours d'introduction qui couvre QGIS depuis les bases. Vous apprendrez à utiliser
QGIS pour la cartographie, le traitement des données spatiales et l'analyse spatiale. Ce cours
est idéal pour les participants ayant une connaissance de base en SIG et souhaitant apprendre
à utiliser QGIS pour effectuer des tâches SIG quotidiennes.</p>
</div>
<!--<div id="software" class="section level1">
<h1>Software</h1>
<p>This course requires QGIS LTR version 3.34.x.</p>
<p>Please review <a href="install-qgis-ltr.html">QGIS-LTR Installation
Guide</a> for step-by-step instructions.</p>
</div>-->
<div id="get-the-data-package" class="section level1">
<h1>Télécharger les données</h1>
<p>
Les exercices et défis de ce cours utilisent une variété d’ensembles de données.
Tous les ensembles de données requis sont fournis dans le fichier <code>introduction_to_qgis.zip</code> .
Décompressez ce fichier dans un répertoire - de préférence dans le dossier
<code><home folder>/Downloads/introduction_to_qgis/</code>.
<p>Télécharger <a href="https://drive.google.com/uc?export=download&id=1yBghXaZi9csjbCeQtK_GHtcywdnjfXzG">introduction_to_qgis.zip</a>.</p>
</div>
<div id="configuration-and-setup" class="section level1">
<h1>Configuration et installation</h1>
<div id="enable-required-toolbars" class="section level2">
<h2>Activer les barres d'outils requises</h2>
<p>Nous utiliserons plusieurs barres d'outils dans ce cours. Pour vous assurer d'avoir
les outils requis pour les exercices, allez dans le menu <em>Affichage</em>, sélectionnez
<em>Barres d'outils</em> et assurez-vous que les barres d'outils suivantes sont
vérifié.</p>
<ul>
<li>Barre d'outils Attributs</li>
<li>Barre d'outils du gestionnaire de sources de données</li>
<li>Barre d'outils de numérisation</li>
<li>Barre d'outils d'étiquette</li>
<li>Barre d'outils de navigation sur la carte</li>
<li>Barre d'outils du projet</li>
<li>Barre d'outils de sélection</li>
<li>Barre d'outils de capture</li>
</ul>
<p><img src="images/introduction_to_qgis/toolbars.png" width="60%" style="display: block; margin: auto;"></p>
</div>
<div id="install-required-plugins" class="section level2">
<h2>Installer les Plugins Requis</h2>
<p>Nous utiliserons les plugins suivants pendant le cours. Dans le menu <em>Plugins</em>,
choisissez <em>Gérer et installer les plugins…</em>. Sous l'onglet <em>Tous</em>,
recherchez le nom du plugin et cliquez sur le bouton <em>Installer le plugin</em> pour l'installer.</p>
<ul>
<li>QuickMapServices</li>
<li>QuickOSM</li>
</ul>
<p><img src="images/introduction_to_qgis/plugins1.png" width="75%" style="display: block; margin: auto;"></p>
<p><img src="images/introduction_to_qgis/plugins2.png" width="75%" style="display: block; margin: auto;"></p>
<p><img src="images/introduction_to_qgis/plugins3.png" width="75%" style="display: block; margin: auto;"></p>
</div>
</div>
<div id="creating-maps" class="section level1">
<h1>1.Création de cartes</h1>
<p>Cette section est conçue pour vous aider à vous familiariser avec le flux de travail de base pour
l'importation de couches de données, l'application de la symbologie, l'ajout d'étiquettes et
la conception de mises en page pour les cartes. Nous prendrons un fichier texte contenant
des enregistrements historiques de tremblements de terre et le transformerons en
une visualisation informative comme celle ci-dessous.</p>
<p><img src="images/introduction_to_qgis/earthquake_map.png" width="75%" style="display: block; margin: auto;"></p>
<div id="importing-vector-data" class="section level2">
<h2>1.1 Importation de données vectorielles</h2>
<ol style="list-style-type: décimal">
<li>Ouvrez QGIS. La première étape consiste à importer les ensembles de données sources. Cliquer sur
cliquez sur le bouton <em>Ouvrir le gestionnaire de sources de données</em>.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part1_1.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="2" style="list-style-type: decimal">
<ol>
<li>Sélectionnez l'onglet <em>Vector</em>. Cliquez sur le bouton <em>…</em> à côté de
<em>Ensemble(s) de données vectorielles</em> et parcourez le répertoire de données.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part1_2.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="3" style="list-style-type: decimal">
<li>Sélectionnez le fichier <code>ne_10m_land.shp</code> et cliquez sur
<em>Ouvrir</em>. Dans la fenêtre <em>Gestionnaire de source de données</em>, cliquez sur
<em>Ajouter</em>.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part1_3.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="4" style="list-style-type: decimal">
<li>Un nouveau calque, <code>ne_10m_land</code>, sera ajouté au
panneau <em>Calques</em> et affiché sur le canevas. Ce calque contient
des polygones représentant les zones terrestres du monde. Cliquez à nouveau sur le bouton <em>Ouvrir le gestionnaire de source de données</em>.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part1_4.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="5" style="list-style-type: decimal">
<li>Cliquez sur le bouton <em>…</em> à côté de <em>Ensemble(s) de données vectorielles</em> et
parcourez le répertoire de données. Sélectionnez le fichier
<code>gem_active_faults_harmonized.gpkg</code> et cliquez sur
<em>Ouvrir</em>, puis sur <em>Ajouter</em>.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part1_5.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="6" style="list-style-type: decimal">
<li>Un nouveau calque, <code>gem_active_faults_harmonized</code>, sera ajouté
au panneau <em>Calques</em> et affiché sur le canevas. Il s'agit d'un
calque global contenant des lignes représentant toutes les failles actives. Nous
allons maintenant importer un autre calque de points de séisme. Cliquez à nouveau sur le bouton <em>Ouvrir le gestionnaire de source de données</em>.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part1_6.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="7" style="list-style-type: decimal">
<li>Sélectionnez l'onglet <em>Texte délimité</em>. Cliquez sur le bouton <em>…</em>
à côté de <em>Nom de fichier</em> et parcourez le répertoire de données. Sélectionnez le
fichier <code>significant_earthquakes_2000_2020.tsv</code>. Il s'agit d'un fichier texte
au format <em>Valeurs séparées par des tabulations (TSV)</em>. Dans la section <em>Format de fichier</em>,
sélectionnez <em>Délimiteurs personnalisés</em>.</li>
</ol>
<blockquote>
<p>Remarque : Les utilisateurs de Windows peuvent avoir besoin de modifier le <em>Type de fichier</em> en
<strong>Tous</strong> dans la boîte de dialogue <em>Choisir un fichier texte délimité à ouvrir</em>
pour voir le fichier TSV.</p>
</blockquote>
<p><img src="images/introduction_to_qgis/earthquakes_part1_7.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="8" style="list-style-type: decimal">
<li>Cochez la case <em>Tabulation</em>. Dans la section <em>Définition de la géométrie</em>,
assurez-vous que <strong>Longitude</strong> est sélectionnée comme <em>Champ X</em> et que <strong>Latitude</strong> est sélectionnée comme <em>Champ Y</em>. Choisissez <strong>EPSG:4326</strong> comme <em>Système de coordonnées de la géométrie</em>.
Laissez les autres options avec leurs valeurs par défaut et cliquez sur <em>Ajouter</em>.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part1_8.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="9" style="list-style-type: decimal">
<li>Un nouveau calque, <code>significant_earthquakes_2000_2020</code>, sera ajouté au panneau <em>Calques</em>
et affiché sur le canevas. Ce calque contient plus de 1000 enregistrements de séismes significatifs enregistrés
entre 2000 et 2020. Cliquez avec le bouton droit sur le calque <code>significant_earthquakes_2000_2020</code> et sélectionnez <em>Ouvrir
la table attributaire</em>. Examinez tous les attributs et leurs valeurs.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part1_9.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="10" style="list-style-type: decimal">
<li>Nous allons maintenant apprendre à utiliser certains des outils pour interroger et sélectionner
des enregistrements. Dans la <em>Barre d'outils de sélection</em>, cliquez sur le bouton <em>Sélectionner
les entités par valeur…</em>.</li>
</ol>
<blockquote>
<p>Remarque : Si la barre d'outils de sélection n'est pas activée, faites un clic droit sur le
panneau de la barre d'outils et cochez <strong>Barre d'outils de sélection</strong>.</p>
</blockquote>
<p><img src="images/introduction_to_qgis/earthquakes_part1_10.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="11" style
="list-style-type: decimal">
<li>Dans la boîte de dialogue <em>Sélectionner les entités</em>, saisissez <strong>2020</strong>
comme <em>Année</em> et cliquez sur le bouton <em>Sélectionner les entités</em>. Vous
verrez tous les séismes survenus en 2020 s'afficher en jaune. Vous pouvez également cliquer sur le bouton <em>Faire clignoter les entités</em> pour voir
les enregistrements sélectionnés clignoter.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part1_11.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="12" style="list-style-type: decimal">
<li>Affinons un peu la requête. Saisissez <strong>7</strong> comme
paramètre <em>Mag</em> et définissez le critère comme <em>Supérieur à
(>)</em>. Cliquez sur <em>Sélectionner les entités</em>. Vous verrez maintenant seulement
les points où le séisme a eu lieu en 2020 et dont la magnitude était
supérieure à 7. Fermez la fenêtre.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part1_12.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="13" style="list-style-type: decimal">
<li>Cliquez avec le bouton droit sur le calque <code>significant_earthquakes_2000_2020</code> et sélectionnez <em>Ouvrir la table attributaire</em>. Vous verrez qu'il y a 6 entités sélectionnées dans le calque. Si vous souhaitez examiner leurs attributs, il existe un raccourci pratique. Cliquez sur le bouton <em>Déplacer la sélection en haut</em>.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part1_13.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="14" style="list-style-type: decimal">
<li>Toutes les lignes sélectionnées seront affichées en haut de la table attributaire, facilitant l'examen des entités sélectionnées. Cliquez sur le bouton <em>Désélectionner toutes les entités du calque</em>.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part1_14.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="15" style="list-style-type: decimal">
<li>Pour notre carte, nous avons besoin d'un autre calque représentant les 10 plus grands séismes, afin de pouvoir le styler différemment des autres séismes. Pour notre visualisation, nous définirons les plus grands séismes comme ceux ayant entraîné le plus grand nombre de décès. Localisez l'attribut <em>Total de décès</em> et cliquez deux fois sur l'en-tête de la colonne. Cela triera les entités par ordre décroissant des valeurs de cette colonne.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part1_15.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="16" style="list-style-type: decimal">
<li>Maintenez la touche <em>Majuscule</em> enfoncée et sélectionnez les 10 premières lignes. Cette sélection correspondra aux 10 séismes ayant provoqué le plus de décès.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part1_16.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="17" style="list-style-type: decimal">
<li>Nous allons enregistrer les 10 entités sélectionnées en tant que nouveau calque. Cliquez avec le bouton droit sur le calque <code>significant_earthquakes_2000_2020</code> et allez dans <em>Exporter → Enregistrer les entités sélectionnées sous..</em>.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part1_17.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="18" style="list-style-type: decimal">
<li>Sélectionnez <strong>GeoPackage</strong> comme <em>Format</em>. Cliquez sur le bouton <em>…</em> à côté de <em>Nom de fichier</em> et parcourez le répertoire de données. Nommez le calque <code>large_earthquakes.gpkg</code>. Cliquez sur <em>Enregistrer</em>. Cliquez sur <em>OK</em>.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part1_18.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="19" style="list-style-type: decimal">
<li>Un nouveau calque, <code>large_earthquakes</code>, sera ajouté au panneau <em>Calques</em>.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part1_19.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="20" style="list-style-type: decimal">
<li>La préparation de nos données est désormais terminée. Sauvegardons notre travail. Allez dans <em>Projet → Enregistrer</em>. Parcourez le répertoire de données et entrez le nom <strong>Séismes</strong>. Cliquez sur <em>Enregistrer</em>.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part1_20.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="21" style="list-style-type: decimal">
<li>Le projet sera enregistré au format <em>QGZ</em> en tant que fichier.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part1_21.png" width="75%" style="display: block; margin: auto;"></p>
<p>Nous avons maintenant terminé la première partie de cet exercice. Votre sortie devrait correspondre au contenu du fichier <code>Earthquakes_Checkpoint1.qgz</code> dans le dossier <code>solutions</code>.</p>
<div id="challenge" class="section level3">
<h3>1.1.1 Défi</h3>
<p>Connaissez-vous <a href="https://en.wikipedia.org/wiki/Null_Island">Null Island</a>? Le
<code>ne_10m_land</code> contient un polygone pour cette caractéristique. Localisez
ce polygone sur la carte.</p>
<p>Indice : Ouvrez la table attributaire, trouvez et sélectionnez la caractéristique de Null
Island. Ensuite, utilisez le bouton <em>Zoom sur les lignes sélectionnées sur la carte</em>.</p>
</div>
</div>
<div id="symbology" class="section level2">
<h2>1.2 Symbologie</h2>
<p>La symbologie d'un calque est son apparence visuelle sur la carte. Nous allons
maintenant apprendre différentes techniques pour styler chaque calque afin de transmettre
l'information visuellement.</p>
<ol style="list-style-type: decimal">
<li>Sélectionnez le calque <code>ne_10m_land</code> et cliquez sur <em>Ouvrir le
Panneau de style du calque</em>.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part2_1.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="2" style="list-style-type: decimal">
<li>Nous allons styler ce calque avec une couleur grise simple. Cliquez sur <em>Remplissage
simple</em> pour révéler plus d'options. Cliquez sur la liste déroulante à côté de <em>Couleur de remplissage</em>.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part2_2.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="3" style="list-style-type: decimal">
<li>Utilisez le sélecteur de couleur pour choisir une nuance de gris clair. Le
<em>Panneau de style du calque</em> est interactif, vous pouvez donc prévisualiser immédiatement
vos modifications de style sur le canevas de la carte.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part2_3.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="4" style="list-style-type: decimal">
<li>De même, changez la <em>Couleur de contour</em> en blanc.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part2_4.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="5" style="list-style-type: decimal">
<li>Ensuite, nous allons styler le calque des failles. Sélectionnez le calque
<code>gem_active_faults_harmonized</code> dans le panneau <em>Calques</em>. Cliquez sur le symbole
<em>Ligne simple</em> pour révéler plus d'options de styling. Changez la <em>Couleur</em> en une nuance de marron. Réglez la <em>Largeur du contour</em> sur <strong>0,1</strong>.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part2_5.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="6" style="list-style-type: decimal">
<li>À présent, nous allons modifier le style des points de séisme. Sélectionnez le calque
<code>significant_earhtquakes_2000_2020</code>. Cliquez sur le symbole <em>Marqueur simple</em>. Changez l'option <em>Taille</em> en <strong>0,7</strong> <em>millimètres</em>. Sélectionnez le rouge comme <em>Couleur de remplissage</em> et le blanc comme <em>Couleur de contour</em>. Changez la <em>Largeur du contour</em> en <strong>0,1</strong>.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part2_6.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="7" style="list-style-type: decimal">
<li>Nous avons maintenant stylé les trois calques d'arrière-plan. Nous allons styler le
calque <code>large_earthquakes</code>, qui présente les informations principales que nous voulons
transmettre à travers cette carte. Nous utiliserons un style de <em>Cercle proportionnel</em> et la taille du cercle représentera le nombre total de décès causés par le séisme respectif.
Cliquez sur <em>Marqueur simple</em> pour voir plus d'options de styling. Cliquez sur le
bouton <em>Substitution définie par les données</em> à côté de <em>Taille</em> et choisissez
<strong>Assistant</strong>.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part2_7.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="8" style="list-style-type: decimal">
<li>Dans la section <em>Entrée</em>, sélectionnez <strong>Total de décès</strong> comme
<em>Source</em>. Définissez la plage de <em>Valeurs de</em> sur <strong>5000</strong> <em>à</em> <strong>500000</strong>. Dans la section <em>Sortie</em>, définissez la plage de <em>Taille de</em> sur <strong>3</strong> <em>à</em> <strong>10</strong>. Cela utilisera la valeur d'attribut dans le champ <em>Total de décès</em> pour définir la taille des cercles. Cliquez sur le bouton <em>Retour</em> en haut du panneau pour revenir au menu précédent.</li>
</ol>
<blockquote>
<p>La méthode d'échelle par défaut utilisée par QGIS est <strong>Flannery</strong>. Cette méthode applique une mise à l'échelle non linéaire pour compenser la perception humaine des aires. <a href="https://makingmaps.net/2007/08/28/perceptual-scaling-of-map-symbols/" target="_blank">En savoir plus. ↗</a></p>
</blockquote>
<p><img src="images/introduction_to_qgis/earthquakes_part2_8.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="9" style="list-style-type: decimal">
<li>Cliquez sur la <em>Couleur de remplissage</em> et ajustez la transparence. Cela aidera à montrer les informations sous les grands cercles.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part2_9.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="10" style="list-style-type: decimal">
<li>Définissez la <em>Couleur de contour</em> en blanc.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part2_10.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="11" style="list-style-type: decimal">
<li>Les cercles représentent le nombre de décès causés par chaque séisme. Mais le lecteur de notre carte ne saura pas ce que représentent ces tailles. Il serait utile d'interpréter la carte mieux si nous avions une légende. Définissons une légende pour ce calque. Cliquez sur le symbole <em>Marqueur</em>. En bas du panneau, sélectionnez <em>Avancé → Légende de taille définie par les données
</em>.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part2_11.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="12" style="list-style-type: decimal">
<li>Choisissez l'option <em>Légende réduite</em>. Cochez l'option <em>Classes de taille manuelles</em>. Cliquez sur le bouton <em>+</em> pour ajouter la définition de la classe manuellement.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part2_12.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="13" style="list-style-type: decimal">
<li>Définissez trois classes de taille différentes pour <strong>5000</strong>, <strong>50000</strong> et <strong>500000</strong>. Vous verrez une légende dans le panneau <em>Calques</em> montrant les tailles des cercles et les valeurs de mortalité correspondantes.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part2_13.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="14" style="list-style-type: decimal">
<li>Cliquez sur le bouton <em>Enregistrer le projet</em> pour sauvegarder votre travail.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part2_14.png" width="75%" style="display: block; margin: auto;"></p>
<p>Nous avons maintenant terminé la deuxième partie de cet exercice. Votre sortie devrait correspondre au contenu du fichier <code>Earthquakes_Checkpoint2.qgz</code> dans le dossier <code>solutions</code>.</p>
<div id="challenge-1" class="section level3">
<h3>1.2.1 Défi</h3>
<p>QGIS possède de nombreuses fonctionnalités de cartographie riches. Une de mes préférées s'appelle <em>Effets de calque en direct</em>. Cela vous permet d'ajouter des effets tels que <em>Lueur externe</em>, <em>Ombre portée</em>, etc., à chaque symbole. Cela élève votre symbologie à un niveau supérieur et aide à mettre en évidence certaines caractéristiques. Sélectionnez le calque <code>large_earthquakes</code> et ouvrez le <em>Panneau de style de calque</em>. Développez la section <em>Représentation du calque</em> et activez <em>Dessiner des effets</em>. Cliquez sur le bouton <em>Personnaliser les effets</em> et ajoutez un effet d'ombre portée au calque.</p>
<p><img src="images/introduction_to_qgis/earthquakes_part2_challenge.png" width="75%" style="display: block; margin: auto;"></p>
</div>
</div>
<div id="labelling" class="section level2">
<h2>1.3 Étiquetage</h2>
<p>Les étiquettes sont un moyen utile de transmettre des informations supplémentaires pour n'importe quelle fonctionnalité. Les étiquettes sont associées à chaque fonctionnalité et peuvent être configurées pour afficher des informations à partir des attributs. Nous allons maintenant ajouter des étiquettes à chacun des grands points de séisme pour montrer le nom de l'emplacement ainsi que les décès causés par ce séisme.</p>
<ol style="list-style-type: decimal">
<li>Avant de continuer, changeons la projection de notre carte pour une projection plus appropriée. Le choix préféré et moderne pour les cartes mondiales est la <a href="http://equal-earth.com/">projection Equal Earth</a>. Elle est beaucoup plus esthétique et préserve également les aires relatives des continents. Allez à <em>Projet → Propriétés…</em>.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part3_1.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="2" style="list-style-type: decimal">
<li>Basculez sur l'onglet <em>SCR</em>. Recherchez <em>8857</em> et sélectionnez le <strong>WGS84 / Équateur Greenwich Equal Earth</strong> CRS. Cliquez sur <em>OK</em>.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part3_2.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="3" style="list-style-type: decimal">
<li>De retour dans la fenêtre QGIS, vous remarquerez que la forme de la carte a maintenant changé. Le coin inférieur droit affiche également le CRS de projet actuel <em>EPSG:8857</em>. Sélectionnez le calque <code>large_earthquakes</code> et ouvrez le <em>Panneau de style de calque</em>. Basculez vers l'onglet <em>Étiquettes</em>.</li>
</ol>
<blockquote>
<p>Remarque : Changer le CRS du projet ne change pas le CRS des calques, mais les reprojette à la volée dans le CRS choisi pour l'affichage.</p>
</blockquote>
<p><img src="images/introduction_to_qgis/earthquakes_part3_3.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="4" style="list-style-type: decimal">
<li>Sélectionnez <em>Étiquettes simples</em>. Nous allons combiner les valeurs de plusieurs attributs pour l'étiquette en utilisant une expression. Cliquez sur le bouton <em>Expression</em> à côté de <em>Valeur</em>.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part3_4.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="5" style="list-style-type: decimal">
<li>Localisez l'attribut <strong>Nom de l'emplacement</strong> sous le groupe <em>Champs et valeurs</em>. Double-cliquez pour l'ajouter à l'expression. Vous pouvez vérifier l'aperçu en bas pour voir le résultat de l'expression.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part3_5.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="6" style="list-style-type: decimal">
<li>Nous allons créer un texte d'étiquette plus long en combinant plusieurs attributs. Vous pouvez utiliser l'opérateur <strong>||</strong> dans l
'expression QGIS pour concaténer des chaînes. Créez l'expression comme indiqué ci-dessous. Cliquez sur <em>OK</em>.</li>
</ol>
<pre><code>"Nom de l'emplacement" || ';' || 'Décès :' || "Total Deaths"</code></pre>
<p><img src="images/introduction_to_qgis/earthquakes_part3_6.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="7" style="list-style-type: decimal">
<li>Les étiquettes seront rendues à côté des points sur le canevas. Sélectionnez l'onglet <em>Formatage</em>. En bas, saisissez <strong>;</strong> comme valeur pour <em>Retour à la ligne sur le caractère</em> et <strong>20</strong> caractères comme valeur pour <em>Retour à la ligne à</em>. Cela permettra de diviser les étiquettes en plusieurs lignes et de les rendre lisibles.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part3_7.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="8" style="list-style-type: decimal">
<li>Ensuite, nous allons changer l'apparence du texte d'étiquette. Basculez vers l'onglet <em>Texte</em>. Modifiez la <em>Taille</em> en <strong>8</strong> et définissez la <em>Couleur</em> sur blanc.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part3_8.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="9" style="list-style-type: decimal">
<li>Une technique d'étiquetage utile consiste à ajouter un arrière-plan aux étiquettes pour améliorer la lisibilité. Basculez vers l'onglet <em>Arrière-plan</em> et activez <em>Dessiner un arrière-plan</em>. Définissez la <em>Couleur</em> sur noir. Définissez également la <em>Taille X</em> et la <em>Taille Y</em> de la <em>Marge</em> sur <strong>1</strong> point. En bas, définissez le <em>Rayon X,Y</em> sur <strong>5</strong>.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part3_9.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="10" style="list-style-type: decimal">
<li>Pour attacher les étiquettes à chaque symbole, vous pouvez utiliser une ligne de connexion. Basculez vers l'onglet <em>Légendes</em> et cochez <em>Dessiner des légendes</em>.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part3_10.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="11" style="list-style-type: decimal">
<li>Comme nous n'avons que quelques étiquettes, nous pouvons ajuster leur placement manuellement pour mieux s'adapter à la mise en page. Fermez le <em>Panneau de style de calque</em>. Cliquez avec le bouton droit n'importe où sur la <em>Barre d'outils</em> et sélectionnez la <em>Barre d'outils d'étiquettes</em> pour l'activer.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part3_11.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="12" style="list-style-type: decimal">
<li>Une fois la <em>Barre d'outils d'étiquettes</em> activée, vous verrez de nouveaux outils. Sélectionnez l'outil <em>Déplacer une étiquette, un diagramme ou un connecteur</em>.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part3_12.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="13" style="list-style-type: decimal">
<li>Cliquez sur l'une des étiquettes. La première fois que vous le faites, une boîte de dialogue <em>Stockage auxiliaire : Choisissez la clé primaire</em> apparaîtra. Cela est utilisé pour stocker la position des étiquettes pour chaque étiquette. Vous pouvez choisir n'importe quel champ contenant des valeurs uniques. Dans notre cas, la valeur par défaut <strong>fid</strong> convient. Cliquez sur <em>OK</em>.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part3_13.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="14" style="list-style-type: decimal">
<li>Cliquez à nouveau sur l'étiquette pour commencer à la déplacer. Faites glisser votre souris vers la nouvelle position de l'étiquette et cliquez à nouveau pour déplacer l'étiquette.</li>
</ol>
<blockquote>
<p>Astuce : Si une étiquette disparaît après l'avoir déplacée, cela signifie qu'elle a été placée à un endroit qui ne peut pas être affiché sur la carte sans entrer en collision avec d'autres étiquettes. Vous pouvez voir les étiquettes non placées en cliquant sur le bouton <em>Basculer l'affichage des étiquettes non placées</em> sur la <em>Barre d'outils d'étiquettes</em>. Une fois que l'étiquette est affichée, vous pouvez la déplacer vers un autre endroit où elle peut être affichée.</p>
</blockquote>
<p><img src="images/introduction_to_qgis/earthquakes_part3_14.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="15" style="list-style-type: decimal">
<li>De même, déplacez les autres étiquettes vers les emplacements appropriés. Une fois satisfait, enregistrez votre travail.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part3_15.png" width="75%" style="display: block; margin: auto;"></p>
<p>Nous avons maintenant terminé la troisième partie de cet exercice. Votre sortie devrait correspondre au contenu du fichier <code>Earthquakes_Checkpoint3.qgz</code> dans le dossier <code>solutions</code>.</p>
<div id="challenge-2" class="section level3">
<h3>1.3.1 Défi</h3>
<p>Les chiffres affichés dans les étiquettes peuvent être difficiles à lire car ils ne sont pas formatés. Nous pouvons les rendre lisibles en ajoutant un séparateur de milliers. Ainsi, un nombre tel que <em>227899</em> est affiché comme <em>227 899</em> et un nombre comme <em>5749</em> comme <em>5 749</em>. Mettez à jour l'expression pour les étiquettes, de sorte que les chiffres soient formatés. Pour ce faire, vous pouvez utiliser la fonction <code>format_number()</code> dans l'éditeur d'expressions QGIS.</p>
</div>
</div>
<div id="print-layout" class="section level2">
<h2>1.4 Mise en page d'impression</h2>
<p>QGIS est livré avec un ensemble complet d'outils pour créer des mises en page de carte qui vous permettent d'ajouter des éléments tels que des étiquettes, des images, une légende, une barre d'échelle, une flèche nord, etc., à votre carte. Il vous permet également d'exporter la mise en page de la carte sous forme d'image ou de PDF. Nous allons maintenant prendre la visualisation créée dans le canevas de carte QGIS et créer une mise en page d'impression. 1. Allez à <em>Projet → Nouvelle mise en page d'impression…</em>.</p>
<p><img src="images/introduction_to_qgis/earthquakes_part4_1.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="2" style="list-style-type: decimal">
<li>Vous serez invité par une boîte de dialogue <em>Créer une mise en page d'impression</em> vous demandant de <em>Entrer un titre de mise en page d'impression unique</em>. Vous pouvez le laisser vide et cliquer sur <em>OK</em>.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part4_2.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="3" style="list-style-type: decimal">
<li>Une nouvelle fenêtre s'ouvrira avec le titre <em>Disposition 1</em>. Tout d'abord, définissons la taille de la page. Cliquez avec le bouton droit sur le canevas et sélectionnez <em>Propriétés de la page…</em>. Sélectionnez <em>Taille</em> comme <strong>A4</strong> et <em>Orientation</em> comme <strong>Paysage</strong>.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part4_3.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="4" style="list-style-type: decimal">
<li>Ensuite, allez à <em>Ajouter un élément → Ajouter une carte</em>.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part4_4.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="5" style="list-style-type: decimal">
<li>Maintenez le bouton gauche de la souris enfoncé et sélectionnez la partie du canevas où vous voulez que la carte apparaisse. Nous utiliserons toute la largeur pour la carte mais laisserons de l'espace en haut pour un titre et en bas pour des informations supplémentaires.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part4_5.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="6" style="list-style-type: decimal">
<li>La carte sera rendue à l'emplacement choisi. Vous pouvez ajuster l'échelle pour faire correspondre la carte à la zone et entrer <strong>120 000 000</strong> comme valeur pour <em>Échelle</em>. Vous pouvez également sélectionner le bouton <em>Modifier l'étendue de la carte de manière interactive</em> et cliquer sur la carte pour la déplacer.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part4_6.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="7" style="list-style-type: decimal">
<li>Une fois satisfait de la vue de la carte, allez à <em>Ajouter un élément → Ajouter un libellé</em>.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part4_7.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="8" style="list-style-type: decimal">
<li>Tirez un rectangle en haut. Dans le panneau <em>Propriétés de l'élément</em> sur le côté droit, entrez <strong>10 Plus Grands Séismes (2000-2020)</strong> comme texte. Cliquez sur le bouton <em>Police</em> sous <em>Apparence</em> et définissez la <em>Taille de la police</em> sur <strong>24</strong>. Vous pouvez également aligner le libellé au centre en sélectionnant <strong>Centre</strong> comme <em>Alignement horizontal</em> et <strong>Milieu</strong> comme <em>Alignement vertical</em>.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part4_8.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="9" style="list-style-type: decimal">
<li>Nous allons maintenant ajouter une légende à la carte. Allez à <em>Ajouter un élément → Ajouter une légende</em>. Dessinez un rectangle dans une région vide sur la carte.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part4_9.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="10" style="list-style-type: decimal">
<li>Une fois la légende ajoutée, décochez la case <em>Mise à jour automatique</em>. Cela nous permettra de personnaliser les éléments dans la légende. Sélectionnez la couche <code>ne_10m_land</code> et cliquez sur le <em>Supprimer les éléments sélectionnés de la légende</em>.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part4_10.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="11" style="list-style-type: decimal">
<li>Vous pouvez également modifier le nom de la couche pour qu'il soit plus adapté à la carte. Sélectionnez la couche <code>gem_active_faults_harmonized</code> et cliquez sur le bouton <em>Modifier les propriétés de l'élément sélectionné</em>. Changez le nom de la couche en <code>Faults</code>. De même, changez le nom de la couche <code>large_earthquakes</code> en <code>Deaths</code>.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part4_11.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="12" style="list-style-type: decimal">
<li>Sélectionnez la couche <code>Total Deaths</code> et cliquez sur <em>Supprimer les éléments sélectionnés de la légende</em>. La légende contient désormais uniquement les éléments faciles à interpréter et qui ajoutent du contexte aux symboles sur la carte.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part4_12.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="13" style="list-style-type: decimal">
<li>Vous pouvez également ajouter une bordure à tous les éléments en activant le <em>Cadre</em> dans les <em>Propriétés de l'élément</em> respectives. Ensuite, nous ajouterons quelques logos à la carte. Allez à <em>Ajouter un élément → Ajouter une image</em>.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part4_13.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="14" style="list-style-type: decimal">
<li>Ajoutez l'image dans le coin inférieur droit. Localisez le dossier <em>App Symbols → logos</em> dans le panneau <em>Propriétés de l'élément</em>. Sélectionnez le logo <strong>Fait avec QGIS</strong>. Vous pouvez également ajouter le logo de votre organisation en parcourant un fichier SVG/PNG sur votre ordinateur.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part4_14.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="15" style="list-style-type: decimal">
<li>Une bonne pratique est de créditer les sources de données utilisées pour créer la carte. Cela peut être ajouté en utilisant <em>Ajouter un élément → Ajouter un libellé</em>. Une fois satisfait de la mise en page, vous pouvez l'exporter. Allez à <em>Disposition → Exporter en tant qu'image…</em>.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part4_15.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="16" style="list-style-type: decimal">
<li>Accédez au dossier des données et saisissez le nom de l'image en tant que <strong>large_earthquakes.png</strong>. Cliquez sur <em>Enregistrer</em>. Vous serez invité à choisir les <em>Options d'exportation d'image</em>. Laissez les paramètres par défaut et cliquez sur <em>Enregistrer</em>.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part4_16.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="17" style="list-style-type: decimal">
<li>La mise en page sera enregistrée sous forme d'image statique. Vous pouvez intégrer cette image dans un rapport, une présentation ou la partager sur les médias sociaux.</li>
</ol>
<p><img src="images/introduction_to_qgis/earthquakes_part4_17.png" width="75%" style="display: block; margin: auto;"></p>
<p>Nous arrivons à la fin de cet exercice. Votre sortie devrait correspondre au contenu du fichier <code>Earthquakes_Checkpoint4.qgz</code> dans le dossier <code>solutions</code>.</p>
<div id="challenge-3" class="section level3">
<h3>1.4.1 Défi</h3>
<p>Exportez votre mise en page au format PDF.</p>
<p>Astuce : La boîte de dialogue <em>Options d'exportation PDF</em> comporte une option <em>Simplifier les géométries pour réduire la taille du fichier de sortie</em> en bas. Bien que utile, cela peut avoir des effets inattendus sur la sortie. Décochez-le lors de l'exportation.</p>
<div class="figure" style="text-align: center">
<img src="images/introduction_to_qgis/earthquakes_part4_challenge.png" alt="Mise en page imprimée exportée au format PDF" width="75%">
<p class="caption">
Mise en page imprimée exportée au format PDF
</p>
</div>
</div>
</div>
</div>
<div id="concept-joins-and-data-normalization" class="section level1">
<h1>Concept : Jointures et normalisation des données</h1>
<p><a href="https://docs.google.com/presentation/d/1YJfWrjSDeriYJMsA6bmVi4zZmzLmGOo5dm13Lr5JaiI/edit?usp=sharing" target="_blank"><img src="images/introduction_to_qgis/joins_presentation.png" width="400" alt="Voir la présentation"></a></p>
<p><a href="https://docs.google.com/presentation/d/1YJfWrjSDeriYJMsA6bmVi4zZmzLmGOo5dm13Lr5JaiI/edit?usp=sharing" target="_blank">Voir la présentation ↗</a></p>
</div>
<div id="visualizing-spatial-data" class="section level1">
<h1>2. Visualisation des données spatiales</h1>
<p>Dans cette section, nous apprendrons les techniques de traitement de base des données et de visualisation. Nous utiliserons des limites géographiques et des données de dénombrement de la population pour la ville de New York et créerons une carte de densité de population. Cela nécessite de faire une jointure de table et d'utiliser une symbologie graduée pour créer une carte choroplèthe.</p>
<div id="table-join" class="section level2">
<h2>2.1 Jointure de table</h2>
<ol style="list-style-type: decimal">
<li>Ouvrez QGIS. La première étape consiste à importer les ensembles de données sources. Cliquez sur le bouton <em>Ouvrir le gestionnaire de sources de données</em>.</li>
</ol>
<p><img src="images/introduction_to_qgis/population_part1_1.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="2" style="list-style-type: decimal">
<li>Sélectionnez l'onglet <em>Vector</em>. Cliquez sur le bouton <em>…</em> à côté de <em>Ensemble(s) de données vecteur(s)</em> et parcourez le répertoire de données. Sélectionnez le fichier <code>nynta2010.shp</code> et cliquez sur <em>Ouvrir</em>. Dans la fenêtre <em>Gestionnaire de sources de données</em>, cliquez sur <em>Ajouter</em>.</li>
</ol>
<p><img src="images/introduction_to_qgis/population_part1_2.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="3" style="list-style-type: decimal">
<li>Vous pouvez être invité à <em>Sélectionner une transformation pour nynta2010</em>. Le fichier shapefile source est dans la projection <code>EPSG:2263 NAD83 / New York Long Island (ftUS)</code> alors que la projection par défaut dans QGIS est <code>EPSG:4326 - WGS84</code>. Cette boîte de dialogue propose plusieurs transformations pour convertir les coordonnées entre ces projections. Choisissez la première option et cliquez sur <em>OK</em>.</li>
</ol>
<p><img src="images/introduction_to_qgis/population_part1_3.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="4" style="list-style-type: decimal">
<li>Une nouvelle couche <code>nyta2010</code> sera ajoutée au panneau <em>Couches</em> et sera affichée sur le canevas. Cette couche contient des polygones représentant les <em>Zones de tabulation des quartiers (NTA)</em> de la ville de New York. Faites un clic droit sur la couche <code>nyta2010</code> et sélectionnez <em>Ouvrir la table attributaire</em>.</li>
</ol>
<p><img src="images/introduction_to_qgis/population_part1_4.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="5" style="list-style-type: decimal">
<li>Examinez les attributs de la couche. Le champ <code>NTACode</code> contient un identifiant unique pour chaque polygone. Remarquez que nous n'avons pas d'attributs de population ou démographiques dans cette couche.</li>
</ol>
<p><img src="images/introduction_to_qgis/population_part1_5.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="6" style="list-style-type: decimal">
<li>Les ensembles de données sur la population et d'autres données démographiques sont généralement distribués sous forme de tableaux. Ces tableaux auraient le même identifiant unique que le shapefile qui peut être utilisé pour fusionner les champs pertinents avec la couche vectorielle. Importons une table représentant la <em>Population de la ville de New York par zones de tabulation des quartiers</em>. Cliquez sur le bouton <em>Ouvrir le gestionnaire de sources de données</em>.</li>
</ol>
<p><img src="images/introduction_to_qgis/population_part1_6.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="7" style="list-style-type: decimal">
<li>Basculez vers l'onglet <em>Texte délimité</em>. Parcourez le fichier <code>New_York_City_Population_By_Neighborhood_Tabulation_Areas.csv</code> et sélectionnez-le. Comme ce fichier CSV contient uniquement des données tabulaires, sélectionnez l'option <em>Pas de géométrie (tableau uniquement avec attributs)</em> et cliquez sur <em>Ajouter</em>.</li>
</ol>
<p><img src="images/introduction_to_qgis/population_part1_7.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="8" style="list-style-type: decimal">
<li>Une fois la nouvelle couche tabulaire <code>New_York_City_Population_By_Neighborhood_Tabulation_Areas</code> ajoutée au panneau <em>Couches</em>, faites un clic droit dessus et sélectionnez <em>Ouvrir la table attributaire</em>.</li>
</ol>
<p><img src="images/introduction_to_qgis/population_part1_8.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="9" style="list-style-type: decimal">
<li>Cette table contient une colonne <strong>Population</strong> avec la population pour chaque zone de tabulation. Nous avons également la colonne <strong>NTA Code</strong> contenant les mêmes codes que notre couche <code>nynta2020</code>. Nous pouvons utiliser cette colonne pour joindre cette table à la couche vectorielle.</li>
</ol>
<p><img src="images/introduction_to_qgis/population_part1_9.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="10" style="list-style-type: decimal">
<li>Si vous double-cliquez sur la colonne <em>NTA Code</em> pour trier la table par le code, vous remarquerez que chaque quartier a 2 enregistrements de population. Pour cet exercice, nous voulons utiliser la population pour l'année 2010. Nous allons appliquer un filtre pour sélectionner uniquement les enregistrements de population pour 2010.</li>
</ol>
<p><img src="images/introduction_to_qgis/population_part1_10.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="11" style="list-style-type: decimal">
<li>Dans la fenêtre principale de QGIS, faites un clic droit sur la couche <code>New_York_City_Population_By_Neighborhood_Tabulation_Areas</code> et sélectionnez <em>Filtrer</em>.</li>
</ol>
<p><img src="images/introduction_to_qgis/population_part1_11.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="12" style="list-style-type: decimal">
<li>Dans la boîte de dialogue <em>Constructeur de requête</em>, saisissez l'expression de filtre comme ci-dessous. Vous pouvez également double-cliquer sur le nom de la colonne pour les insérer dans l'expression. Cliquez sur <em>OK</em>.</li>
</ol>
<pre><code>"Year" = 2010</code></pre>
<p><img src="images/introduction_to_qgis/population_part1_12.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="13" style="list-style-type: decimal">
<li>Maintenant, nous allons effectuer la jointure de table. Ouvrez <strong>Traitement → Boîte à outils</strong> dans le menu principal en haut.</li>
</ol>
<p><img src="images/introduction_to_qgis/population_part1_13.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="14" style="list-style-type: decimal">
<li>Recherchez et localisez l'algorithme <strong>Vector general → Jointure d'attributs par valeur de champ</strong> et double-cliquez dessus pour le lancer.</li>
</ol>
<p><img src="images/introduction_to_qgis/population_part1_14.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="15" style="list-style-type: decimal">
<li>Dans la boîte de dialogue <em>Jointure d'attributs par valeur de champ</em>, sélectionnez <code>nynta2010</code> comme <em>couche d'entrée</em> et <code>NTACode</code> comme <em>champ de la table</em>. Sélectionnez <code>New_York_City_Population_By_Neighborhood_Tabulation_Areas</code> comme <em>couche d'entrée 2</em> et <code>NTA Code</code> comme <em>champ de la table 2</em>. Cliquez sur le bouton <em>…</em> à côté de <em>Champs de la couche 2 à copier</em>.</li>
</ol>
<p><img src="images/introduction_to_qgis/population_part1_15.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="16" style="list-style-type: decimal">
<li>Nous voulons copier uniquement les données de population, alors sélectionnez le champ <code>Population</code> et cliquez sur <em>OK</em>.</li>
</ol>
<p><img src="images/introduction_to_qgis/population_part1_16.png" width="75%" style="display: block; margin: auto;"></p>
<ol start="17" style="list-style-type: decimal">
<li>Ensuite, nous devons configurer la sortie. Cliquez sur le bouton <em>…</em> à côté de <em>Couche jointe</em> et sélectionnez <em>Enregistrer dans un fichier…</em>.</li>
</ol>