├── .gitignore
├── README.md
├── classification-exercise-QGIS-NB.md
├── classification-exercise-QGIS-NB.pdf
├── classification-exercise-map.png
├── confident-spatial-analysis-promo.docx
├── data-backup
├── prac2b-stadiums.csv
├── prac3-complete.gpkg
├── prac3a-File_10_-_IoD2019_Local_Authority_District_Summaries__lower-tier__.xlsx
├── prac3b-ukmidyearestimates20192019ladcodes.xls
├── prac3c-opgrsp_essh_su.zip
└── prac4-data-complete.gpkg
├── data-p3-p4-short-version
└── prac3-data.zip
├── data
├── prac1.zip
└── prac2.zip
├── glossary.tex
├── images
├── add-column.png
├── add-delimited-text-layer.png
├── add-new-join.png
├── add-new-map.png
├── add-vector-join.png
├── add-vector.png
├── arrow.png
├── attribute-table.png
├── browse.png
├── browser-geopackage.png
├── browser-window.png
├── browser.png
├── checkbox-update-existing-field.png
├── clean-plot-canvas.png
├── data-source-manager-browser.png
├── database-styles-manager.png
├── delete-column.png
├── deselect.png
├── drop-down-arrow.png
├── edit-icon.png
├── edited-las.png
├── editing-disabled.png
├── expand-arrow.png
├── field-calculator.png
├── fields.png
├── geometry-definition-expanded.png
├── geometry-definition.png
├── geopackage.png
├── identify-features.png
├── joins.png
├── labels-buffer.png
├── labels.png
├── layers-with-pop2015-xls.png
├── layers.png
├── layout-1.png
├── layout-final.png
├── lock-layers.png
├── main-plotly-page.png
├── minus.png
├── move-item-content.png
├── new-field.png
├── new.png
├── open-data-source-manager.png
├── pan-map.png
├── plotly.png
├── plus.png
├── project-crs-3857.png
├── rename.png
├── save-error-overwrite-layer.png
├── save-error.png
├── save-layer-geopackage.png
├── save.png
├── select-crs.png
├── select-features-expression.png
├── select-features.png
├── select-move-item.png
├── simple-fill.png
├── slack-download.png
├── style.png
├── symbology-polygon.png
├── symbology.png
├── temporary-layer.png
├── toggle-editing-new-field.png
├── toggle-editing.png
├── untoggle-editing.png
├── update-map-preview.png
├── vector.png
├── world-countires-properities.png
├── zoom-full.png
├── zoom-in.png
└── zoom-to-layer-right-click.png
├── intro-qgis-spatial-data.Rproj
├── intro-to-qgis-promo.docx
├── overview-qgis.txt
├── polls.txt
├── presentation
├── images
│ ├── africa-poverty.png
│ ├── base-map-uk-data.png
│ ├── base-map.png
│ ├── bng.png
│ ├── calculating-new-values-pc.png
│ ├── calculating-new-values.png
│ ├── cartography-an-introduction.png
│ ├── census-2021-liverpool.png
│ ├── census-2021.png
│ ├── census-open-atlas-1.png
│ ├── census-open-atlas-2.png
│ ├── census-open-atlas-3.png
│ ├── census-open-atlas-4.png
│ ├── cf14-3ds.png
│ ├── ch10-simplification.png
│ ├── ch2-projections.png
│ ├── ch2-scale.png
│ ├── classification-exercise-map.png
│ ├── classification-options.png
│ ├── codepoint.png
│ ├── color-brewer-in-qgis.png
│ ├── color-brewer-screenshot.png
│ ├── covid-example.png
│ ├── data-distribution.png
│ ├── data-with-coordinates.png
│ ├── distance-lines-longitude.jfif
│ ├── geopackage.png
│ ├── gis-software.png
│ ├── globe-flat-surface.png
│ ├── globe-to-mercator-projection.png
│ ├── glossary.png
│ ├── greater-manchester.png
│ ├── gts-logo-small.png
│ ├── gts-logo.png
│ ├── hull.png
│ ├── hull2.png
│ ├── ijgis-1987.jpg
│ ├── ijgis.png
│ ├── imd-domains.png
│ ├── imd-england-map.png
│ ├── imd-map.png
│ ├── imd-overview.png
│ ├── irish-names.png
│ ├── iso-codes.png
│ ├── joining-1.png
│ ├── joining-2.png
│ ├── joining-3.png
│ ├── joining-4.png
│ ├── kenya-vegetation.png
│ ├── landranger.png
│ ├── lat-lng.png
│ ├── lego-bus-1.png
│ ├── lego-bus-2.png
│ ├── lego-bus-3.png
│ ├── lod-range.png
│ ├── map.png
│ ├── mercator-1.png
│ ├── mercator-2.png
│ ├── mercator-comparision-1.png
│ ├── mercator-comparision-2.png
│ ├── mercator-comparision.png
│ ├── mercator-gall-peters.png
│ ├── mercator-globe.png
│ ├── mercator-peters-2.png
│ ├── mercator-peters.png
│ ├── mercator-projection.png
│ ├── ncrm-welcome-slide-1.png
│ ├── ncrm-welcome-slide-2.png
│ ├── netherlands-topography.png
│ ├── null-values-1.png
│ ├── null-values-2.png
│ ├── orange.png
│ ├── outline.png
│ ├── peeling-an-orange.png
│ ├── point-in-polygon-spatial-overlays.png
│ ├── polar-projections.png
│ ├── population.png
│ ├── population_code.png
│ ├── postcodes.png
│ ├── qgis-screenshot.png
│ ├── qgis-symbology-histogram.png
│ ├── r-libraries.jpeg
│ ├── raster-grid.png
│ ├── raster-numbers.png
│ ├── rstudio-map.png
│ ├── rstudio.png
│ ├── saving-files-1.png
│ ├── saving-files-2.png
│ ├── saving-files-3.png
│ ├── scale-range.png
│ ├── shapefiles.png
│ ├── south-america.png
│ ├── sy23-3le.png
│ ├── topography.png
│ ├── turning-data-into-information.png
│ ├── two-key-geographies.png
│ ├── types-of-questions-a-gis-can-answer.jpg
│ ├── ucl-social-data-institute.png
│ ├── uk-geographies-2.png
│ ├── uk-geographies-lad.png
│ ├── uk-geographies-lsoa.png
│ ├── uk-geographies.png
│ ├── uk.png
│ ├── utm-europe.png
│ ├── utm.png
│ ├── vector-data.png
│ ├── vector-raster-data.png
│ ├── weather.png
│ ├── what-is-gis.png
│ ├── world-cities-csv-excel.png
│ ├── world-cities.png
│ ├── world.png
│ └── worlds-ocean-spilhaus-projection.jpg
└── presentation-p1-p2.qmd
├── workbook-p1-p2.Rmd
├── workbook-p3-p4-short-version.Rmd
└── workbook-p3-p4.Rmd
/.gitignore:
--------------------------------------------------------------------------------
1 | .Rproj.user
2 | .Rhistory
3 | .RData
4 | *.lnk
5 | *.url
6 | workbook-p1-p2.pdf
7 | workbook-p3-p4.pdf
8 | data/prac1/
9 | data/prac2/
10 | data-user/
11 | workbook-p1-p2.html
12 | workbook-p3-p4.html
13 | *.pptx
14 | *.pdf
15 | data-p3-p4-short-version/prac3-data.gpkg
16 | workbook-p3-p4-short-version.html
17 | notes*.txt
18 | presentation/presentation-p1-p2_files/
19 | presentation/presentation-p1-p2.html
20 | videos/
21 | sync.ffs_db
22 | glossary.log
23 | glossary.synctex.gz
24 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Introduction to QGIS: Spatial Data and Spatial Analysis
2 |
3 | This is the material for my 4 half day (or 2 day) course on **Introduction to QGIS: Spatial Data and Spatial Analysis**. More details on my courses are available at http://www.geospatialtrainingsolutions.co.uk
4 |
5 |
6 |
7 | The material for this workshop is available in the latest release: https://github.com/nickbearman/intro-qgis-spatial-data/releases
8 |
9 |
11 |
12 |
13 | A video showing how to complete practical 3 is available on [YouTube](https://youtu.be/87kLJcEIORI).
14 |
15 | [The GIS Glossary (PDF, 125B)](https://github.com/nickbearman/intro-qgis-spatial-data/blob/master/glossary.pdf)
16 |
17 | This material was developed using QGIS 3.22.
18 |
19 | This work (Introduction to QGIS: Spatial Data and Spatial Analysis by Nick Bearman) is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/4.0/. 


20 |
21 | Material will be updated periodically, usually in line with courses run by Nick Bearman.
22 |
--------------------------------------------------------------------------------
/classification-exercise-QGIS-NB.md:
--------------------------------------------------------------------------------
1 | ---
2 | output: pdf_document
3 | ---
4 |
5 |
6 |
7 |
8 | #Classification Exercise
9 |
10 | Using the values in the table, colour in the countries in this central part of sub-Saharan Africa according to the percent of forest cover in 2005. Also remember to indicate in the table which colours represent which values.
11 |
12 |
13 |
14 | | Country Name | Forest Percent Cover 2005 |
15 | |---|---|
16 | | Burundi | 5.9 |
17 | | Kenya | 6.2 |
18 | | Uganda | 18.4 |
19 | | Rwanda | 19.5 |
20 | | Tanzania | 39.9 |
21 | | Angola | 47.4 |
22 | | Zambia | 57.1 |
23 | | Congo DR | 58.9 |
24 | | Congo | 65.8 |
25 | | Gabon | 84.5 |
26 |
27 |
28 |
29 | 
30 |
31 |
32 |
33 | *Created by Nick Bearman on 12/09/2016, v3.*
--------------------------------------------------------------------------------
/classification-exercise-QGIS-NB.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/classification-exercise-QGIS-NB.pdf
--------------------------------------------------------------------------------
/classification-exercise-map.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/classification-exercise-map.png
--------------------------------------------------------------------------------
/confident-spatial-analysis-promo.docx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/confident-spatial-analysis-promo.docx
--------------------------------------------------------------------------------
/data-backup/prac2b-stadiums.csv:
--------------------------------------------------------------------------------
1 | Name,Team,Capacity,Latitude,Longitude,Easting,Northing,Grid Reference,Also known as
2 | "Abbey Stadium","Cambridge United",10847,52.212799,0.154298,547284,259362,TL472593,""
3 | "Adams Park","Wycombe Wanderers",10284,51.6306,-0.800299,483134,193102,SU831931,""
4 | "Alexandra Stadium","Crewe Alexandra",10153,53.087502,-2.43569,370916,354565,SJ709545,"Gresty Road"
5 | "Almondvale Stadium","Livingston",10122,55.886398,-3.52207,304893,666965,NT048669,""
6 | "Amex Stadium","Brighton and Hove Albion",22374,50.860901,-0.08014,535213,108577,TQ352085,"Falmer Stadium"
7 | "Anfield","Liverpool",45522,53.430801,-2.96096,336250,393099,SJ362930,""
8 | "Ashton Gate","Bristol City",21497,51.439999,-2.62021,356989,171405,ST569714,""
9 | "B2net Stadium","Chesterfield",10400,53.253502,-1.4272,438314,373096,SK383730,""
10 | "Ballymena Showgrounds","Ballymena United",3824,54.870098,-6.26511,126462,561151,NW264611,""
11 | "Balmoor","Peterhead",4000,57.5112,-1.79599,412322,846797,NK123467,""
12 | "Bangor Fuels Arena","Ards",2000,54.6516,-5.68444,162419,534738,NW624347,""
13 | "Bayview Stadium","East Fife",2000,56.1889,-2.99914,338088,700036,NO380000,""
14 | "Belfast Loughshore Hotel Arena","Carrick Rangers",2100,54.719799,-5.80031,155359,542720,NW553427,""
15 | "Bescot Stadium","Walsall",11300,52.565498,-1.99053,400739,296408,SP007964,""
16 | "Bloomfield Road","Blackpool",16220,53.8046,-3.04834,331057,434766,SD310347,""
17 | "Bootham Crescent","York City",7872,53.969501,-1.08833,459902,452988,SE599529,""
18 | "Borough Briggs","Elgin City",4927,57.651798,-3.3209,321266,863200,NJ212631,""
19 | "Boundary Park","Oldham Athletic",10638,53.555099,-2.12847,391587,406505,SD915065,""
20 | "Bramall Lane","Sheffield United",32702,53.3703,-1.47083,435306,386068,SK353860,""
21 | "Brandywell Stadium","Institute",3700,54.989498,-7.33771,58722,579142,NV587791,""
22 | "Breda Park","Knockbreda",1000,54.567699,-5.85444,150945,525998,NW509259,""
23 | "Brisbane Road","Leyton Orient",9271,51.560101,-0.012551,537867,186451,TQ378864,""
24 | "Britannia Stadium","Stoke City",27902,52.9884,-2.17542,388321,343466,SJ883434,"bet365 Stadium"
25 | "Broadfield Stadium","Crawley Town",5996,51.099602,-0.194579,526510,134916,TQ265349,""
26 | "Broadwood Stadium","Clyde",8029,55.944698,-4.0379,272824,674282,NS728742,""
27 | "Brunton Park","Carlisle United",18202,54.8955,-2.91365,341500,556023,NY415560,""
28 | "Cappielow Park","Greenock Morton",19612,55.941399,-4.72719,229771,675399,NS297753,""
29 | "Cardiff City Stadium","Cardiff City",26828,51.4729,-3.20413,316464,175570,ST164755,""
30 | "Carrow Road","Norwich City",27033,52.622101,1.30912,624081,307846,TG240078,""
31 | "Celtic Park","Celtic",60832,55.849701,-4.20561,262014,664033,NS620640,""
32 | "Central Park","Cowdenbeath",4370,56.108799,-3.34717,316315,691489,NT163914,""
33 | "Cliftonhill","Albion Rovers",2496,55.860199,-4.01145,274202,664831,NS742648,""
34 | "Coleraine Showgrounds","Coleraine",4843,55.132801,-6.66002,103094,591968,NW030919,""
35 | "Craven Cottage","Fulham",25700,51.474899,-0.221619,523606,176604,TQ236766,""
36 | "Crown Ground","Accrington Stanley",5057,53.7654,-2.37106,375638,429959,SD756299,"Store First Stadium,Wham Stadium"
37 | "Darragh Park","Dergview",2000,54.700901,-7.59677,39603,548376,NV396483,""
38 | "Deepdale","Preston North End",24500,53.771999,-2.68832,354731,430849,SD547308,""
39 | "Dens Park","Dundee",11856,56.474701,-2.97352,340128,731823,NO401318,""
40 | "Dixon Park","Ballyclare Comrades",2398,54.7509,-6.00211,142568,546901,NW425469,""
41 | "Dumbarton Football Stadium","Dumbarton",2025,55.9384,-4.56162,240097,674669,NS400746,""
42 | "DW Stadium","Wigan Athletic",25138,53.547699,-2.65415,356754,405873,SD567058,""
43 | "East End Park","Dunfermline",11380,56.0756,-3.44196,310343,687913,NT103879,""
44 | "Easter Road","Hibernian",20421,55.961601,-3.16521,327355,674901,NT273749,""
45 | "Edgar Street","Hereford United",5300,52.060699,-2.71774,350889,240501,SO508405,""
46 | "Elland Road","Leeds United",37697,53.7775,-1.57212,428295,431326,SE282313,""
47 | "Emirates Stadium","Arsenal",60361,51.554901,-0.108436,531236,185697,TQ312856,""
48 | "Etihad Stadium","Manchester City",47805,53.483002,-2.20024,386809,398495,SJ868984,""
49 | "Ewood Park","Blackburn Rovers",31154,53.7286,-2.48937,367810,425911,SD678259,""
50 | "Falkirk Stadium","Falkirk",9200,56.005299,-3.75262,290809,680537,NS908805,""
51 | "Ferney Park","Ballinamallard United",2000,54.414398,-7.59968,36873,516561,NV368165,""
52 | "Field Mill","Mansfield Town",9186,53.137798,-1.2013,453529,360369,SK535603,"One Call Stadium"
53 | "Fir Park","Motherwell",13742,55.780399,-3.9803,275897,655895,NS758558,""
54 | "Firhill","Partick Thistle",13079,55.8815,-4.26938,258139,667701,NS581677,""
55 | "Forthbank Stadium","Stirling Albion",3808,56.119099,-3.91194,281227,693464,NS812934,""
56 | "Fratton Park","Portsmouth",21100,50.796398,-1.06389,466071,100066,SU660000,""
57 | "Galabank","Annan Athletic",2007,54.994801,-3.2612,319410,567419,NY194674,""
58 | "Gayfield Park","Arbroath",5940,56.552299,-2.5914,363741,740192,NO637401,""
59 | "Gigg Lane","Bury",11840,53.580502,-2.29487,380575,409364,SD805093,""
60 | "Glanford Park","Scunthorpe United",9088,53.5867,-0.695244,486469,410804,SE864108,""
61 | "Glebe Park","Brechin City",3960,56.735298,-2.6565,359934,760598,NO599605,""
62 | "Globe Arena","Morecambe",6476,54.067501,-2.84707,344661,463839,SD446638,""
63 | "Goodison Park","Everton",40157,53.438702,-2.96619,335914,393982,SJ359939,""
64 | "Griffin Park","Brentford",12763,51.488201,-0.302621,517946,177949,TQ179779,""
65 | "Hampden Park","Scotland, Queen's Park",52500,55.825802,-4.25198,259025,661468,NS590614,""
66 | "Highbury Stadium","Fleetwood Town",5094,53.9165,-3.02484,332785,447193,SD327471,""
67 | "Hillsborough","Sheffield Wednesday",39812,53.411499,-1.50075,433284,390637,SK332906,""
68 | "Home Park","Plymouth Argyle",16388,50.388199,-4.15076,247204,56469,SX472564,""
69 | "Huish Park","Yeovil Town",9665,50.950298,-2.67383,352762,116979,ST527169,""
70 | "Ibrox","Rangers",51082,55.852901,-4.30962,255516,664602,NS555646,""
71 | "Inver Park","Larne",2732,54.849899,-5.82689,154439,557279,NW544572,""
72 | "Kassam Stadium ","Oxford United",12500,51.7164,-1.20775,454829,202260,SP548022,""
73 | "KC Stadium","Hull City",25586,53.746498,-0.368009,507722,429027,TA077290,""
74 | "Keepmoat Stadium","Doncaster Rovers",15231,53.509899,-1.11382,458867,401833,SE588018,""
75 | "Kenilworth Road","Luton Town",10226,51.884201,-0.43155,508049,221789,TL080217,""
76 | "King Power Stadium","Leicester City",32262,52.6203,-1.14217,458171,302849,SK581028,""
77 | "Kingsmeadow","AFC Wimbledon, Kingstonian",4720,51.405102,-0.281984,519596,168742,TQ195687,""
78 | "Lakeview Park","Loughgall",3000,54.407001,-6.6114,100874,511084,NW008110,""
79 | "Liberty Stadium","Swansea City",20532,51.642799,-3.93473,266224,195551,SS662955,""
80 | "Links Park","Montrose",3292,56.714001,-2.45902,372000,758129,NO720581,""
81 | "Loftus Road","Queens Park Rangers",18360,51.5093,-0.232204,522778,180411,TQ227804,""
82 | "London Road","Peterborough United",15315,52.5648,-0.240434,519365,297784,TL193977,""
83 | "Madjeski Stadium","Reading",24161,51.422199,-0.982777,470826,169734,SU708697,""
84 | "McDiarmid Park","St Johnstone",10673,56.409901,-3.47684,308970,725164,NO089251,""
85 | "Meadow Lane","Notts County",20229,52.942501,-1.13703,458089,338694,SK580386,""
86 | "Memorial Stadium","Bristol Rovers",12011,51.486198,-2.58315,359605,176522,ST596765,""
87 | "Millennium Stadium","Wales",74500,51.478199,-3.18281,317954,176135,ST179761,""
88 | "Milltown","Warrenpoint Town",2000,54.117901,-6.26347,121492,477521,SB214775,""
89 | "Molineux","Wolverhampton Wanderers",27828,52.590401,-2.13061,391249,299186,SO912991,""
90 | "Moss Rose","Macclesfield Town",6355,53.242699,-2.127,391622,371749,SJ916717,""
91 | "Mourneview Park","Glenavon",3302,54.454102,-6.33681,119003,515187,NW190151,""
92 | "New Broomfield","Airdrie United",10172,55.8601,-3.95997,277423,664728,NS774647,""
93 | "New Douglas Park","Hamilton Academical",6078,55.782101,-4.058,271031,656227,NS710562,""
94 | "New Meadow","Shrewsbury Town",9875,52.688599,-2.74931,349448,310365,SJ494103,""
95 | "New York Stadium","Rotherham United",12021,53.428101,-1.36172,442509,392557,SK425925,""
96 | "Newry Showgrounds","Newry City",2809,54.1609,-6.33195,117313,482573,SB173825,""
97 | "Oakwell","Barnsley",23009,53.552399,-1.46756,435373,406328,SE353063,""
98 | "Ochilview Park","Stenhousemuir, East Stirlingshire",3776,56.028198,-3.81449,287019,683185,NS870831,""
99 | "Old Trafford","Manchester United",75811,53.4631,-2.29139,380751,396301,SJ807963,""
100 | "Olympic Stadium","West Ham",60000,51.5383,-0.016587,537653,184019,TQ376840,"London Stadium"
101 | "Palmerston Park","Queen of the South",6412,55.070301,-3.6246,296358,576299,NX963762,""
102 | "Pirelli Stadium","Burton Albion",6912,52.821899,-1.62708,425228,324995,SK252249,""
103 | "Pittodrie","Aberdeen",22199,57.159302,-2.08872,394732,807608,NJ947076,""
104 | "Plainmoor","Torquay United",6104,50.476398,-3.52382,291971,65174,SX919651,""
105 | "Portman Road","Ipswich Town",30311,52.054401,1.14554,615758,244227,TM157442,""
106 | "Prenton Park","Tranmere Rovers",16567,53.373798,-3.03269,331392,386824,SJ313868,""
107 | "Pride Park","Derby County",33597,52.914902,-1.44727,437265,335418,SK372354,""
108 | "Priestfield Stadium","Gillingham",11582,51.384399,0.560367,578260,168150,TQ782681,""
109 | "Recreation Ground","Aldershot Town",7100,51.248402,-0.754869,487001,150651,SU870506,""
110 | "Recreation Park","Alloa Athletic",3412,56.1166,-3.77865,289506,692964,NS895929,""
111 | "Ricoh Arena","Coventry City",32609,52.448101,-1.49563,434376,283468,SP343834,""
112 | "Riverside","Middlesbrough ",34988,54.578098,-1.21776,450661,520602,NZ506206,""
113 | "Rodney Parade","Newport County",7850,51.588902,-2.98902,331578,188247,ST315882,""
114 | "Roots Hall","Southend United",12392,51.549099,0.701572,587408,186815,TQ874868,""
115 | "Rugby Park","Kilmarnock",18128,55.604599,-4.50846,242071,637410,NS420374,""
116 | "Seaview","Crusaders",3208,54.624298,-5.9219,146939,532532,NW469325,""
117 | "Selhurst Park","Crystal Palace",26309,51.3983,-0.085455,533284,168324,TQ332683,""
118 | "Seward Stadium","Bournemouth",10700,50.735199,-1.83839,411501,92855,SZ115928,""
119 | "Shamrock Park","Portadown",2770,54.412998,-6.45775,110880,511108,NW108111,""
120 | "Shielfield Park","Berwick Rangers",4131,55.759998,-2.01599,399095,651849,NT990518,""
121 | "Sixfields Stadium","Northampton Town",7653,52.235199,-0.933485,472931,260203,SP729602,""
122 | "Solitude","Cliftonville",3054,54.619499,-5.94717,145278,532090,NW452320,""
123 | "Somerset Park","Ayr United",10243,55.4697,-4.61996,234482,622662,NS344226,""
124 | "Spotland Stadium","Rochdale",10249,53.620899,-2.17993,388196,413833,SD881138,"Crown Oil Arena"
125 | "St Andrews","Birmingham City",30009,52.475601,-1.86824,409047,286416,SP090864,""
126 | "St James Park","Newcastle United",52387,54.975601,-1.62179,424307,564620,NZ243646,"Sports Direct Arena"
127 | "St James Park, Exeter","Exeter City",8541,50.730701,-3.52109,292745,93446,SX927934,""
128 | "St Mary's Stadium","Southampton",32689,50.9058,-1.39114,442907,111991,SU429119,""
129 | "St Mirren Park","St Mirren",7937,55.850601,-4.44425,247081,664635,NS470646,"Simple Digital Arena"
130 | "Stadium of Light","Sunderland",49000,54.9146,-1.38837,439307,557937,NZ393579,""
131 | "Stadiummk","MK Dons",22000,52.009602,-0.733507,487025,235331,SP870353,""
132 | "Stair Park","Stranraer",5600,54.902199,-5.01249,206949,560543,NX069605,""
133 | "Stamford Bridge","Chelsea",41837,51.481602,-0.191034,525711,177401,TQ257774,""
134 | "Stangmore Park","Dungannon Swifts",2000,54.489498,-6.74592,92771,520834,NV927208,""
135 | "Stark's Park","Raith Rovers",10104,56.099899,-3.16851,327409,690296,NT274902,""
136 | "Station Park","Forfar Athletic",5177,56.652302,-2.88492,345841,751517,NO458515,""
137 | "Tandragee Road","Annagh United",1250,54.4095,-6.4383,112116,510640,NW121106,""
138 | "Tannadice Park","Dundee United",14209,56.4748,-2.96902,340405,731830,NO404318,""
139 | "The Caledonian Stadium","Inverness Caledonian Thistle",7918,57.495098,-4.21751,267194,847156,NH671471,""
140 | "The City Ground","Nottingham Forest",30603,52.939899,-1.13258,458392,338408,SK583384,""
141 | "The County Ground","Swindon Town",15728,51.564499,-1.77107,415965,185094,SU159850,""
142 | "The Den","Millwall",20146,51.485901,-0.050743,535440,178129,TQ354781,""
143 | "The Dub","Queens University",1500,54.557098,-5.96002,144058,525199,NW440251,""
144 | "The Galpharm Stadium","Huddersfield Town",24500,53.654301,-1.76837,415407,417559,SE154175,""
145 | "The Hawthorns","West Bromwich Albion",26272,52.508999,-1.96418,402528,290123,SP025901,""
146 | "The Hive Stadium","Barnet",5176,51.602798,-0.291788,518401,190711,TQ184907,""
147 | "The Lamex Stadium","Stevenage Borough",6722,51.889801,-0.193664,524406,222791,TL244227,""
148 | "The Oval","Gelntoran",6054,54.602901,-5.89119,148788,530043,NW487300,""
149 | "The Valley","Charlton Athletic",27111,51.4865,0.036757,541513,178361,TQ415783,""
150 | "Tillysburn Park","H & W Welders",2000,54.6124,-5.86554,150502,531007,NW505310,""
151 | "Tottenham Hotspur Stadium","Tottenham Hotspur",62303,51.604401,-0.066389,534005,191278,TQ340912,""
152 | "Turf Moor","Burnley",22546,53.788799,-2.23018,384933,432523,SD849325,""
153 | "Tynecastle","Heart of Midlothian",17420,55.938801,-3.2325,323109,672436,NT231724,""
154 | "University of Bolton Stadium","Bolton Wanderers",28723,53.580502,-2.53571,364629,409457,SD646094,"Macron Stadium,Reebok Stadium"
155 | "Vale Park","Port Vale",19052,53.049999,-2.1926,387186,350322,SJ871503,""
156 | "Valley Parade","Bradford City",25136,53.804199,-1.75902,415968,434238,SE159342,""
157 | "Vicarage Road","Watford",17477,51.649799,-0.401569,510684,195766,TQ106957,""
158 | "Victoria Park","Hartlepool United",7856,54.689098,-1.21274,450847,532957,NZ508329,""
159 | "Victoria Park, Dingwall","Ross County",6310,57.595901,-4.41898,255522,858787,NH555587,""
160 | "Victoria Road","Dagenham and Redbridge",6078,51.547798,0.159739,549850,185422,TQ498854,""
161 | "Villa Park","Aston Villa",42788,52.509201,-1.88508,407897,290152,SP078901,""
162 | "Wembley","England",90000,51.555901,-0.279543,519372,185515,TQ193855,""
163 | "Weston Homes Community Stadium","Colchester United",10084,51.923401,0.897861,599361,228954,TL993289,""
164 | "Whaddon Road","Cheltenham Town",7066,51.9062,-2.06021,395955,223075,SO959230,""
165 | "Wilgar Park","Dundela",2000,54.599499,-5.87824,149603,529618,NW496296,""
166 | "Windsor Park","Linfield",18434,54.5826,-5.95527,144524,528017,NW445280,""
167 |
--------------------------------------------------------------------------------
/data-backup/prac3-complete.gpkg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/data-backup/prac3-complete.gpkg
--------------------------------------------------------------------------------
/data-backup/prac3a-File_10_-_IoD2019_Local_Authority_District_Summaries__lower-tier__.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/data-backup/prac3a-File_10_-_IoD2019_Local_Authority_District_Summaries__lower-tier__.xlsx
--------------------------------------------------------------------------------
/data-backup/prac3b-ukmidyearestimates20192019ladcodes.xls:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/data-backup/prac3b-ukmidyearestimates20192019ladcodes.xls
--------------------------------------------------------------------------------
/data-backup/prac3c-opgrsp_essh_su.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/data-backup/prac3c-opgrsp_essh_su.zip
--------------------------------------------------------------------------------
/data-backup/prac4-data-complete.gpkg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/data-backup/prac4-data-complete.gpkg
--------------------------------------------------------------------------------
/data-p3-p4-short-version/prac3-data.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/data-p3-p4-short-version/prac3-data.zip
--------------------------------------------------------------------------------
/data/prac1.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/data/prac1.zip
--------------------------------------------------------------------------------
/data/prac2.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/data/prac2.zip
--------------------------------------------------------------------------------
/glossary.tex:
--------------------------------------------------------------------------------
1 | %line spacing?
2 |
3 | %sudo /usr/bin/tlmgr install siunitx to install package
4 |
5 | \documentclass[a4paper,10pt]{article}
6 |
7 | \usepackage{geometry}
8 | \geometry{
9 | a4paper,
10 | total={170mm,257mm},
11 | left=15mm,
12 | right=15mm,
13 | top=15mm,
14 | bottom=10mm,
15 | }
16 | \usepackage[utf8]{inputenc}
17 | \usepackage[english]{babel}
18 | \usepackage{graphicx}
19 | \usepackage{wrapfig}
20 | \usepackage{siunitx} %for degree symbol
21 | \usepackage{multicol}
22 | \usepackage[ddmmyyyy,hhmmss]{datetime}
23 |
24 | \setlength{\parskip}{0.5em} %gap between paragraphs
25 |
26 | \setlength{\columnsep}{5mm} %column separation
27 |
28 | \begin{document}
29 |
30 | \pagenumbering{gobble} %disable page numbering, https://tex.stackexchange.com/questions/7355/how-to-suppress-page-number
31 |
32 | \begin{center}
33 |
34 | {\huge GIS Glossary}
35 |
36 | % \textit{Terms in italics are defined in the glossary}
37 |
38 | \end{center}
39 |
40 | \begin{multicols}{2}
41 |
42 | % \textbf{Acknowledgements} Information required on any map, including copyright (e.g. for OpenStreetMap or Ordnance Survey Open Data) or data sources
43 |
44 | \textbf{ArcCatalog} Part of the \textit{ArcGIS} package, primarily used for managing spatial files such as \textit{shapefiles} % and \textit{personal geodatabases}
45 |
46 | \textbf{ArcGIS} A commercial GIS software created by ESRI, consisting of \textit{ArcMap}, \textit{ArcCatalog} and \textit{ArcScene}
47 |
48 | \textbf{ArcMap} Part of \textit{ArcGIS}, the main program for creating and editing spatial data and maps
49 |
50 | \textbf{ArcScene} Part of \textit{ArcGIS}, used for 3D data
51 |
52 | \textbf{Attribute table} The table of additional information associated with each \textit{shapefile} (e.g. country names); access by right-clicking on the layer and selecting Open Attribute Table
53 |
54 | \textbf{BNG} (British National Grid) A \textit{coordinate system} used to represent locations in Great Britain, consisting of \textit{eastings} and \textit{northings}, e.g. 603125, 112589 (see also \textit{UTM} and \textit{WGS1984})
55 |
56 | \textbf{Categorical} A variable that has a series of values with no inherent order, e.g. country names, also known as \textit{nominal} (see also \textit{variable type}, \textit{quantitative})
57 |
58 | \textbf{Choropleth} A type of mapping where different colours are used to represent difference values; can use \textit{categorical} and \textit{ordinal} data
59 |
60 | \textbf{Classes} The groups data are put into for a \textit{choropleth} map
61 |
62 | \textbf{Classification} How the data are classified into different \textit{classes} for a choropleth map (see also \textit{jenks}, \textit{equal count}, \textit{equal interval} and \textit{standard deviation}
63 |
64 | \textbf{Coordinates} The numbers representing a specific location, usually presented in pairs (see also \textit{latitude}, \textit{longitude}, \textit{WGS1984}, \textit{BNG} and \textit{UTM})
65 |
66 | \textbf{Coordinate system} The type of coordinates that are used to represent a specific location (see also \textit{WGS1984}, \textit{BNG} and \textit{projection})
67 |
68 | \textbf{Correlation} A measure of how much two variables are related, measured using a \textit{R\textsuperscript{2}} value
69 |
70 | \textbf{CSV} (Comma separated values) A standard format of \textit{tabular data}, can be opened in Excel
71 |
72 | \textbf{CSVT} An optional file for use with \textit{CSV} files which specifies the \textit{variable type} of each column % in the \textit{CSV} file
73 |
74 | \textbf{Data frame} (ArcMap) A section of the map in Layout View containing specific layers of spatial data
75 |
76 | \textbf{Data type} How data is stored within the \textit{Attribute table}, can be \textit{integer} (whole numbers), \textit{real} (decimal numbers) and \textit{string} (text)
77 |
78 | \textbf{DEM} Digital Elevation Model, a \textit{raster} representation of the height of the earth's surface
79 |
80 | \textbf{Eastings} A \textit{coordinate} that specifies the distance east, in meters, from the coordinates 0,0 south-west of the Isles of Scilly (see also \textit{BNG} and \textit{northings})
81 |
82 | \textbf{Equal count} (Quantile) \textit{Classification} method where data are split into a number of groups by putting the same number of data items into each group, also known as \textit{quantile}, see also \textit{classification}
83 |
84 | \textbf{Equal interval} \textit{Classification} method where data are split into \textit{classes} that are evenly distributed, e.g. 0-20\%, 20-40\%, etc., see also \textit{classification}
85 |
86 | \textbf{Feature class} One layer within a \textit{personal geodatabase}; can contain one of \textit{points, lines} and \textit{polygons}
87 |
88 | \textbf{Field calculator} Used to calculate new values (e.g. differences) from existing values for all rows in a vector layer, accessed from the \textit{Attribute table}
89 |
90 | % \textbf{Fisher} \textit{Classification} method very similar to \textit{Jenks}
91 |
92 | \textbf{Geodatabase} See \textit{personal geodatabase}
93 |
94 | \textbf{Geographic Information Science} (GIS) The development of the tools, software and processes used in \textit{Geographic Information Systems}
95 |
96 | \textbf{Geographic Information Systems} (GIS) Using spatial data to answer questions about our world (see also \textit{Geographic Information Science})
97 |
98 | \textbf{GeoJSON} Vector spatial data file, consisting of \textit{points}, \textit{lines} and \textit{polygons}; all saved in one file
99 |
100 | \textbf{GPS} (Global Positioning System) a series of 24 satellites in orbit around the earth which allow a GPS device to locate itself, with an accuracy of 1m to 10m
101 |
102 | \textbf{Inset Map} A small map included on the main map to aid orientation, e.g. a map of Ghana might include an \textit{inset map} of Africa to show where Ghana is
103 |
104 | \textbf{Integer} A whole number used to represent data, can be used in a \textit{choropleth} map (see also \textit{data type})
105 |
106 | \textbf{Jenks} (natural breaks) \textit{Classification} method based on the Jenks algorithm which groups similar data values together, also known as \textit{natural breaks}, see also \textit{classification}
107 |
108 | \textbf{Joining} The process of linking attribute information to spatial data, often used so the information can be shown on a \textit{choropleth} map
109 |
110 | \textbf{Latitude} A \textit{coordinate} that specifies the distance north or south, ranging from \ang{0} at the Equator to \ang{90} (North or South) at the poles (see also \textit{WGS1984} and \textit {longitude})
111 |
112 | \textbf{Layers} When you add data into a GIS each different file appears as a different \textit{layer}; this allows different datasets to be overlaid on one another (see also \textit{Table of contents} and \textit{Layers window})
113 |
114 | \textbf{Layers window} (QGIS) Panel on the left hand side of QGIS, showing the different GIS layers in your map; the order of the layers can be changed (known as the \textit{Table of contents} in \textit{ArcMap})
115 |
116 | \textbf{Legend} An important part of any map, showing what the symbols or colours used on the map represent
117 |
118 | \textbf{Lines} Used in \textit{vector} data sets to indicate a linear feature, such as rivers, roads or railways; is a series of \textit{points} joined together with lines
119 |
120 | \textbf{Longitude} A \textit{coordinate} that specifies the distance east or west, ranging from \ang{0} at the Prime Meridian to \ang{180} (East or West) (see also \textit{WGS1984} and \textit{latitude})
121 |
122 | \textbf{MapInfo} A commercial GIS software, created by Pitney Bowes
123 |
124 | \textbf{MXD project file} (.mxd) (ArcMap) A project file for \textit{ArcMap} which contains links to all the data files e.g. \textit{shapefiles} or \textit{geodatabases}) and information on how they are symbolised; the \textit{MXD} file does not contain the data itself (see also \textit{QGIS project file})
125 |
126 | \textbf{Nominal} A variable that has a series of values with no inherent order, e.g. country names, also known as \textit{categorical} (see also \textit{variable type}, \textit{ordinal} and \textit{quantitative})
127 |
128 | \textbf{North arrow} Used to show the direction of North on a map, used to aid orientation (see also \textit{inset map})
129 |
130 | \textbf{Northings} A coordinate that specifies the distance north, in meters, from the \textit{coordinates} 0,0 south-west of the Isles of Scilly (see also \textit{BNG} and \textit{eastings})
131 |
132 | \textbf{Ordinal} Similar to a categorical variable, but with a clear order, e.g. high priority, medium priority, and low priority (see also \textit{variable type}, \textit{quantitative})
133 |
134 | \textbf{Personal geodatabase} A type vector of spatial data file, consisting of one or more \textit{feature classes}; can only be used in \textit{ArcGIS} (see also \textit{feature class})
135 |
136 | \textbf{Pixel} An individual unit in a \textit{raster} data set, the size of the \textit{resolution} squared (i.e. for a 100m resolution \textit{raster} data set, each \textit{pixel} would be 100m x 100m, covering 10,000 square meters (or 1 hectare) of land)
137 |
138 | \textbf{Points} A \textit{vector} data type used to indicate a specific location, such as sample collection points, bird nest sites, towns or cities
139 |
140 | \textbf{Polygons} A \textit{vector} data type used to indicate areas, e.g. land parcels, counties and fields; is a series of \textit{points} joined with \textit{lines} and closed to indicate an area
141 |
142 | \textbf{Print composer} The tool in QGIS used to design maps and add a \textit{legend}, \textit{scale bar}, \textit{north arrow} and any required acknowledgements or copyright
143 |
144 | \textbf{Projection} The way the sphere shaped earth is distorted to fit on a flat piece of paper (see also \textit{WGS1984}, \textit{BNG} and \textit{coordinate system})
145 |
146 | \textbf{QGIS} \textit{(previously Quantum GIS)} An open source GIS created as broadly similar to \textit{ArcMap} which is free for anyone to download, use and improve
147 |
148 | \textbf{QGIS project file} (.qgs) (QGIS) A project file for \textit{QGIS} which contains links to all the data files (such as \textit{shapefiles} and/or \textit{GeoJSON} files) and information on how they are symbolised; the \textit{project file} does not contain the data itself (see also \textit{MXD file})
149 |
150 | \textbf{Quantile} (equal count) \textit{Classification} method where data are split into a number of groups by putting the same number of data items into each group, also known as \textit{equal count}, see also \textit{classification}
151 |
152 | \textbf{Quantitative} A numeric variable with an inherent order, e.g. GDP per capita, (see also \textit{variable type})
153 |
154 | \textbf{R\textsuperscript{2}} The \textit{correlation} coefficient of two different data sets, a value of 1 is a strong positive \textit{correlation}, -1 is a strong negative \textit{correlation}
155 |
156 | \textbf{Raster} A type of spatial data used with GIS, consisting of a regular grid of points spaced at a set distance (the \textit{resolution}); often used to represent heights (DEM) or temperature data (see also \textit{vector})
157 |
158 | \textbf{Raster calculator} Used with \textit{raster} data to calculate differences (subtract) or calculate other indices (e.g. NDVI)
159 |
160 | \textbf{Real} A decimal number used to represent data, can be used in a \textit{choropleth} map (see also \textit{data type})
161 |
162 | \textbf{Resolution} The size of each \textit{pixel} in a \textit{raster} data set (e.g. 100 meters, 1km, 100km) (see also \textit{pixel})
163 |
164 | \textbf{Sat-nav} A navigation system in cars, which uses \textit{GPS} to direct the driver to their destination
165 |
166 | \textbf{Scale} The ratio of units of distance on the map to units of distance in the real world; for example 1:25,000 means that 1cm on the map represents 25,000cm (or 250m) in the real world; usually shown on a \textit{scale bar}
167 |
168 | \textbf{Scale bar} Used to show the \textit{scale} of a map
169 |
170 | \textbf{Shapefile} A type vector of spatial data file, consisting of one of \textit{points}, \textit{lines} or \textit{polygons}; represented in \textit{GIS} as one file but in fact consisting of multiple files (between 4 and 6 files, with extensions of .shp, .dbf, .shx and .prj)
171 |
172 | \textbf{Standard deviation} \textit{Classification} method based on standard deviation and mean of the data set
173 |
174 | \textbf{String} A piece of text (e.g. a name) used to represent data, cannot be used in a \textit{choropleth} map (see also \textit{data type}, \textit{real} and \textit{integer}
175 |
176 | \textbf{Style} (QGIS) / \textbf{Symbology} (ArcMap) The options to choose the colours and/or symbols to represent data on the map; accessed through right-clicking on the layer and selecting properties and navigating to the Style tab)
177 |
178 | \textbf{Table of contents} (ArcMap) Panel on the left hand side of \textit{ArcMap}, showing the different \textit{GIS} \textit{layers} in your map; the order of the layers can be changed (known as the \textit{Layers window} in QGIS)
179 |
180 | \textbf{Tabular data} Data laid out in rows and columns, as used in Excel (see also \textit{CSV})
181 |
182 | \textbf{UTM} (Universal Transverse Mercator) A type of \textit{coordinate system} used to represent any location in the world, consisting of a series of zones and a set of \textit{coordinates} for each zone, in meters (see also \textit{BNG} and \textit{WGS1984})
183 |
184 | \textbf{Variable type} Information on the type of information within a variable, can be \textit{categorical}, \textit{ordinal} or \textit{nominal}
185 |
186 | \textbf{Vector} A type of spatial data used with \textit{GIS}, consisting of \textit{points}, \textit{lines} and \textit{polygons} (see also \textit{raster})
187 |
188 | \textbf{Vertex (vertices)} Name for each of the points that connect the \textit{line} segments of a \textit{line} or \textit{polygon} \textit{shapefile}
189 |
190 | \textbf{WGS1984} A \textit{coordinate system} used to represent any location in the world, consisting of \textit{latitude} and \textit{longitude} e.g. 51.0426 N, 1.3772 E or \ang{51} 2’ 33.53’’ N, \ang{1} 22’ 38.23’’ E (see also \textit{BNG} and \textit{UTM})
191 |
192 | \end{multicols}
193 |
194 | \begin{center}
195 |
196 | {\footnotesize \textit{This glossary was last updated on {\today} by Dr. Nick Bearman (nick@geospatialtrainingsolutions.co.uk) and is written in LaTeX. This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License, http://creativecommons.org/ licenses/by-sa/4.0/deed.en. The latest version of the PDF is at https://github.com/nickbearman/intro-qgis-spatial-data.}}
197 |
198 | \end{center}
199 |
200 | \end{document}
--------------------------------------------------------------------------------
/images/add-column.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/add-column.png
--------------------------------------------------------------------------------
/images/add-delimited-text-layer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/add-delimited-text-layer.png
--------------------------------------------------------------------------------
/images/add-new-join.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/add-new-join.png
--------------------------------------------------------------------------------
/images/add-new-map.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/add-new-map.png
--------------------------------------------------------------------------------
/images/add-vector-join.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/add-vector-join.png
--------------------------------------------------------------------------------
/images/add-vector.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/add-vector.png
--------------------------------------------------------------------------------
/images/arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/arrow.png
--------------------------------------------------------------------------------
/images/attribute-table.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/attribute-table.png
--------------------------------------------------------------------------------
/images/browse.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/browse.png
--------------------------------------------------------------------------------
/images/browser-geopackage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/browser-geopackage.png
--------------------------------------------------------------------------------
/images/browser-window.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/browser-window.png
--------------------------------------------------------------------------------
/images/browser.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/browser.png
--------------------------------------------------------------------------------
/images/checkbox-update-existing-field.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/checkbox-update-existing-field.png
--------------------------------------------------------------------------------
/images/clean-plot-canvas.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/clean-plot-canvas.png
--------------------------------------------------------------------------------
/images/data-source-manager-browser.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/data-source-manager-browser.png
--------------------------------------------------------------------------------
/images/database-styles-manager.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/database-styles-manager.png
--------------------------------------------------------------------------------
/images/delete-column.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/delete-column.png
--------------------------------------------------------------------------------
/images/deselect.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/deselect.png
--------------------------------------------------------------------------------
/images/drop-down-arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/drop-down-arrow.png
--------------------------------------------------------------------------------
/images/edit-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/edit-icon.png
--------------------------------------------------------------------------------
/images/edited-las.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/edited-las.png
--------------------------------------------------------------------------------
/images/editing-disabled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/editing-disabled.png
--------------------------------------------------------------------------------
/images/expand-arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/expand-arrow.png
--------------------------------------------------------------------------------
/images/field-calculator.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/field-calculator.png
--------------------------------------------------------------------------------
/images/fields.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/fields.png
--------------------------------------------------------------------------------
/images/geometry-definition-expanded.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/geometry-definition-expanded.png
--------------------------------------------------------------------------------
/images/geometry-definition.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/geometry-definition.png
--------------------------------------------------------------------------------
/images/geopackage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/geopackage.png
--------------------------------------------------------------------------------
/images/identify-features.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/identify-features.png
--------------------------------------------------------------------------------
/images/joins.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/joins.png
--------------------------------------------------------------------------------
/images/labels-buffer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/labels-buffer.png
--------------------------------------------------------------------------------
/images/labels.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/labels.png
--------------------------------------------------------------------------------
/images/layers-with-pop2015-xls.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/layers-with-pop2015-xls.png
--------------------------------------------------------------------------------
/images/layers.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/layers.png
--------------------------------------------------------------------------------
/images/layout-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/layout-1.png
--------------------------------------------------------------------------------
/images/layout-final.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/layout-final.png
--------------------------------------------------------------------------------
/images/lock-layers.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/lock-layers.png
--------------------------------------------------------------------------------
/images/main-plotly-page.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/main-plotly-page.png
--------------------------------------------------------------------------------
/images/minus.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/minus.png
--------------------------------------------------------------------------------
/images/move-item-content.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/move-item-content.png
--------------------------------------------------------------------------------
/images/new-field.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/new-field.png
--------------------------------------------------------------------------------
/images/new.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/new.png
--------------------------------------------------------------------------------
/images/open-data-source-manager.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/open-data-source-manager.png
--------------------------------------------------------------------------------
/images/pan-map.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/pan-map.png
--------------------------------------------------------------------------------
/images/plotly.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/plotly.png
--------------------------------------------------------------------------------
/images/plus.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/plus.png
--------------------------------------------------------------------------------
/images/project-crs-3857.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/project-crs-3857.png
--------------------------------------------------------------------------------
/images/rename.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/rename.png
--------------------------------------------------------------------------------
/images/save-error-overwrite-layer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/save-error-overwrite-layer.png
--------------------------------------------------------------------------------
/images/save-error.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/save-error.png
--------------------------------------------------------------------------------
/images/save-layer-geopackage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/save-layer-geopackage.png
--------------------------------------------------------------------------------
/images/save.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/save.png
--------------------------------------------------------------------------------
/images/select-crs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/select-crs.png
--------------------------------------------------------------------------------
/images/select-features-expression.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/select-features-expression.png
--------------------------------------------------------------------------------
/images/select-features.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/select-features.png
--------------------------------------------------------------------------------
/images/select-move-item.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/select-move-item.png
--------------------------------------------------------------------------------
/images/simple-fill.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/simple-fill.png
--------------------------------------------------------------------------------
/images/slack-download.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/slack-download.png
--------------------------------------------------------------------------------
/images/style.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/style.png
--------------------------------------------------------------------------------
/images/symbology-polygon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/symbology-polygon.png
--------------------------------------------------------------------------------
/images/symbology.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/symbology.png
--------------------------------------------------------------------------------
/images/temporary-layer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/temporary-layer.png
--------------------------------------------------------------------------------
/images/toggle-editing-new-field.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/toggle-editing-new-field.png
--------------------------------------------------------------------------------
/images/toggle-editing.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/toggle-editing.png
--------------------------------------------------------------------------------
/images/untoggle-editing.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/untoggle-editing.png
--------------------------------------------------------------------------------
/images/update-map-preview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/update-map-preview.png
--------------------------------------------------------------------------------
/images/vector.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/vector.png
--------------------------------------------------------------------------------
/images/world-countires-properities.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/world-countires-properities.png
--------------------------------------------------------------------------------
/images/zoom-full.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/zoom-full.png
--------------------------------------------------------------------------------
/images/zoom-in.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/zoom-in.png
--------------------------------------------------------------------------------
/images/zoom-to-layer-right-click.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/images/zoom-to-layer-right-click.png
--------------------------------------------------------------------------------
/intro-qgis-spatial-data.Rproj:
--------------------------------------------------------------------------------
1 | Version: 1.0
2 |
3 | RestoreWorkspace: Default
4 | SaveWorkspace: Default
5 | AlwaysSaveHistory: Default
6 |
7 | EnableCodeIndexing: Yes
8 | UseSpacesForTab: Yes
9 | NumSpacesForTab: 2
10 | Encoding: UTF-8
11 |
12 | RnwWeave: Sweave
13 | LaTeX: pdfLaTeX
14 |
--------------------------------------------------------------------------------
/intro-to-qgis-promo.docx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/intro-to-qgis-promo.docx
--------------------------------------------------------------------------------
/overview-qgis.txt:
--------------------------------------------------------------------------------
1 | Introduction to QGIS: Understanding and Presenting Spatial Data
2 |
3 | In this two part introductory course we will give you an overview on how GIS works, and what we can and can’t do with spatial data. We assume no prior knowledge of GIS and will explain how to get data into the GIS as well as how to produce maps using your own data.
4 |
5 | Learning Outcomes
6 | - Be able to set up QGIS and add data
7 | - Understand how to add data with a latitude & longitude coordinate
8 | - Join tabular data to spatial data
9 | - Understand how to undertake simple calculations
10 | - Understand how to classify data for representation on a map
11 | - Understand how to design and produce a publication-ready map in QGIS
12 | - Be able to add maps, scale bar, legends and labels to a map
13 | - Know why scale is important in map design
14 | - Know how to save and export maps as PDFs or images
15 |
16 | Confident Spatial Analysis in QGIS
17 |
18 | This intermediate two part course will develop your skills of using spatial data, including collating data from a variety of sources including XY coordinate data and address or postcode based data. We will also cover using spatial overlays, point-in-polygon analysis and spatial joins.
19 |
20 | With either option we will also have some time to discuss their own work and talk about how they might apply some of this to their work.
21 |
22 | Learning Outcomes:
23 | - Be able to join data from a variety of sources
24 | - Know how to change data from one data type to another
25 | - Know how to download data from Ordnance Survey Open Data
26 | - Be able to complete point in polygon analysis in QGIS
27 | - Understand how to create graphs in QGIS
28 | - Be able to perform a polygon polygon overlay
29 | - Critique the analysis process we have undertaken
--------------------------------------------------------------------------------
/polls.txt:
--------------------------------------------------------------------------------
1 | Polls
2 |
3 | Session 1
4 |
5 | Have you installed QGIS successfully?
6 | Yes
7 | No
8 |
9 | Which operating system are you using?
10 | Windows?
11 | OSX / Mac?
12 | Other?
13 |
14 | How many classes did you choose?
15 | 1
16 | 2
17 | 3
18 | 4
19 | 5
20 | 6
21 | 7
22 | 8
23 | 9
24 | 10
25 |
26 | Which colour scheme did you pick?
27 | Greens
28 | Purples
29 | Blues
30 | Oranges
31 | Dark Blues
32 | Dark Greens
33 | Something else
34 |
35 | Session 2
36 |
37 | Which is better?
38 | The Mercator projection
39 | The Gall-Peters projection
40 | The Polar projection
41 | None are best, it depends what you are trying to show on the map
42 |
43 | /poll "Which is better?" "The Mercator projection" "The Gall-Peters projection" "The Polar projection" "None are best, it depends what you are trying to show on the map" anonymous
44 |
45 | What is most important to remember when performing an attribute join?
46 | There must be the same number of columns in both data sets
47 | The attributes must be similar
48 | The attributes must be exactly the same
49 | The data must be in the same language
50 |
51 | /poll "What is most important to remember when performing an attribute join?" "There must be the same number of columns in both data sets" "The attributes must be similar" "The attributes must be exactly the same" "The data must be in the same language" anonymous
52 |
53 | What do we need to remember when looking at a map:
54 | This map is the best representation of the data
55 | We need to critically analyse the map to see whether it is representing the data fairly
56 | QGIS will only allow us to create the best choropleth map
57 | There is no way to misrepresent spatial data
58 |
59 | /poll "What do we need to remember when looking at a map:" "The map is the best representation of the data" "We need to critically analyse the map to see whether it is representing the data fairly" "QGIS will only allow us to create the best choropleth map" "There is no way to misrepresent spatial data" anonymous
60 |
61 | What coordinate system are these coordinates likely to be in? 52°N 37’ 30.32’’ 1°E 14’ 2.05’’
62 | British National Grid (Eastings & Northings) EPSG = 27700
63 | UTM (Universal Transverse Mercator) Zone 37 N EPSG = 32630
64 | Latitude and Longitude (WGS 1984) EPSG = 4326
65 |
66 | /poll "What coordinate system are these coordinates likely to be in? 52°N 37’ 30.32’’ 1°E 14’ 2.05’’" "British National Grid (Eastings & Northings) EPSG = 27700" "UTM (Universal Transverse Mercator) Zone 37 N EPSG = 32630" "Latitude and Longitude (WGS 1984) EPSG = 4326" anonymous
--------------------------------------------------------------------------------
/presentation/images/africa-poverty.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/africa-poverty.png
--------------------------------------------------------------------------------
/presentation/images/base-map-uk-data.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/base-map-uk-data.png
--------------------------------------------------------------------------------
/presentation/images/base-map.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/base-map.png
--------------------------------------------------------------------------------
/presentation/images/bng.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/bng.png
--------------------------------------------------------------------------------
/presentation/images/calculating-new-values-pc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/calculating-new-values-pc.png
--------------------------------------------------------------------------------
/presentation/images/calculating-new-values.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/calculating-new-values.png
--------------------------------------------------------------------------------
/presentation/images/cartography-an-introduction.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/cartography-an-introduction.png
--------------------------------------------------------------------------------
/presentation/images/census-2021-liverpool.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/census-2021-liverpool.png
--------------------------------------------------------------------------------
/presentation/images/census-2021.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/census-2021.png
--------------------------------------------------------------------------------
/presentation/images/census-open-atlas-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/census-open-atlas-1.png
--------------------------------------------------------------------------------
/presentation/images/census-open-atlas-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/census-open-atlas-2.png
--------------------------------------------------------------------------------
/presentation/images/census-open-atlas-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/census-open-atlas-3.png
--------------------------------------------------------------------------------
/presentation/images/census-open-atlas-4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/census-open-atlas-4.png
--------------------------------------------------------------------------------
/presentation/images/cf14-3ds.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/cf14-3ds.png
--------------------------------------------------------------------------------
/presentation/images/ch10-simplification.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/ch10-simplification.png
--------------------------------------------------------------------------------
/presentation/images/ch2-projections.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/ch2-projections.png
--------------------------------------------------------------------------------
/presentation/images/ch2-scale.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/ch2-scale.png
--------------------------------------------------------------------------------
/presentation/images/classification-exercise-map.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/classification-exercise-map.png
--------------------------------------------------------------------------------
/presentation/images/classification-options.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/classification-options.png
--------------------------------------------------------------------------------
/presentation/images/codepoint.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/codepoint.png
--------------------------------------------------------------------------------
/presentation/images/color-brewer-in-qgis.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/color-brewer-in-qgis.png
--------------------------------------------------------------------------------
/presentation/images/color-brewer-screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/color-brewer-screenshot.png
--------------------------------------------------------------------------------
/presentation/images/covid-example.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/covid-example.png
--------------------------------------------------------------------------------
/presentation/images/data-distribution.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/data-distribution.png
--------------------------------------------------------------------------------
/presentation/images/data-with-coordinates.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/data-with-coordinates.png
--------------------------------------------------------------------------------
/presentation/images/distance-lines-longitude.jfif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/distance-lines-longitude.jfif
--------------------------------------------------------------------------------
/presentation/images/geopackage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/geopackage.png
--------------------------------------------------------------------------------
/presentation/images/gis-software.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/gis-software.png
--------------------------------------------------------------------------------
/presentation/images/globe-flat-surface.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/globe-flat-surface.png
--------------------------------------------------------------------------------
/presentation/images/globe-to-mercator-projection.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/globe-to-mercator-projection.png
--------------------------------------------------------------------------------
/presentation/images/glossary.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/glossary.png
--------------------------------------------------------------------------------
/presentation/images/greater-manchester.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/greater-manchester.png
--------------------------------------------------------------------------------
/presentation/images/gts-logo-small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/gts-logo-small.png
--------------------------------------------------------------------------------
/presentation/images/gts-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/gts-logo.png
--------------------------------------------------------------------------------
/presentation/images/hull.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/hull.png
--------------------------------------------------------------------------------
/presentation/images/hull2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/hull2.png
--------------------------------------------------------------------------------
/presentation/images/ijgis-1987.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/ijgis-1987.jpg
--------------------------------------------------------------------------------
/presentation/images/ijgis.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/ijgis.png
--------------------------------------------------------------------------------
/presentation/images/imd-domains.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/imd-domains.png
--------------------------------------------------------------------------------
/presentation/images/imd-england-map.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/imd-england-map.png
--------------------------------------------------------------------------------
/presentation/images/imd-map.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/imd-map.png
--------------------------------------------------------------------------------
/presentation/images/imd-overview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/imd-overview.png
--------------------------------------------------------------------------------
/presentation/images/irish-names.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/irish-names.png
--------------------------------------------------------------------------------
/presentation/images/iso-codes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/iso-codes.png
--------------------------------------------------------------------------------
/presentation/images/joining-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/joining-1.png
--------------------------------------------------------------------------------
/presentation/images/joining-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/joining-2.png
--------------------------------------------------------------------------------
/presentation/images/joining-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/joining-3.png
--------------------------------------------------------------------------------
/presentation/images/joining-4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/joining-4.png
--------------------------------------------------------------------------------
/presentation/images/kenya-vegetation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/kenya-vegetation.png
--------------------------------------------------------------------------------
/presentation/images/landranger.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/landranger.png
--------------------------------------------------------------------------------
/presentation/images/lat-lng.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/lat-lng.png
--------------------------------------------------------------------------------
/presentation/images/lego-bus-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/lego-bus-1.png
--------------------------------------------------------------------------------
/presentation/images/lego-bus-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/lego-bus-2.png
--------------------------------------------------------------------------------
/presentation/images/lego-bus-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/lego-bus-3.png
--------------------------------------------------------------------------------
/presentation/images/lod-range.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/lod-range.png
--------------------------------------------------------------------------------
/presentation/images/map.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/map.png
--------------------------------------------------------------------------------
/presentation/images/mercator-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/mercator-1.png
--------------------------------------------------------------------------------
/presentation/images/mercator-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/mercator-2.png
--------------------------------------------------------------------------------
/presentation/images/mercator-comparision-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/mercator-comparision-1.png
--------------------------------------------------------------------------------
/presentation/images/mercator-comparision-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/mercator-comparision-2.png
--------------------------------------------------------------------------------
/presentation/images/mercator-comparision.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/mercator-comparision.png
--------------------------------------------------------------------------------
/presentation/images/mercator-gall-peters.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/mercator-gall-peters.png
--------------------------------------------------------------------------------
/presentation/images/mercator-globe.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/mercator-globe.png
--------------------------------------------------------------------------------
/presentation/images/mercator-peters-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/mercator-peters-2.png
--------------------------------------------------------------------------------
/presentation/images/mercator-peters.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/mercator-peters.png
--------------------------------------------------------------------------------
/presentation/images/mercator-projection.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/mercator-projection.png
--------------------------------------------------------------------------------
/presentation/images/ncrm-welcome-slide-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/ncrm-welcome-slide-1.png
--------------------------------------------------------------------------------
/presentation/images/ncrm-welcome-slide-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/ncrm-welcome-slide-2.png
--------------------------------------------------------------------------------
/presentation/images/netherlands-topography.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/netherlands-topography.png
--------------------------------------------------------------------------------
/presentation/images/null-values-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/null-values-1.png
--------------------------------------------------------------------------------
/presentation/images/null-values-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/null-values-2.png
--------------------------------------------------------------------------------
/presentation/images/orange.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/orange.png
--------------------------------------------------------------------------------
/presentation/images/outline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/outline.png
--------------------------------------------------------------------------------
/presentation/images/peeling-an-orange.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/peeling-an-orange.png
--------------------------------------------------------------------------------
/presentation/images/point-in-polygon-spatial-overlays.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/point-in-polygon-spatial-overlays.png
--------------------------------------------------------------------------------
/presentation/images/polar-projections.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/polar-projections.png
--------------------------------------------------------------------------------
/presentation/images/population.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/population.png
--------------------------------------------------------------------------------
/presentation/images/population_code.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/population_code.png
--------------------------------------------------------------------------------
/presentation/images/postcodes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/postcodes.png
--------------------------------------------------------------------------------
/presentation/images/qgis-screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/qgis-screenshot.png
--------------------------------------------------------------------------------
/presentation/images/qgis-symbology-histogram.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/qgis-symbology-histogram.png
--------------------------------------------------------------------------------
/presentation/images/r-libraries.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/r-libraries.jpeg
--------------------------------------------------------------------------------
/presentation/images/raster-grid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/raster-grid.png
--------------------------------------------------------------------------------
/presentation/images/raster-numbers.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/raster-numbers.png
--------------------------------------------------------------------------------
/presentation/images/rstudio-map.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/rstudio-map.png
--------------------------------------------------------------------------------
/presentation/images/rstudio.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/rstudio.png
--------------------------------------------------------------------------------
/presentation/images/saving-files-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/saving-files-1.png
--------------------------------------------------------------------------------
/presentation/images/saving-files-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/saving-files-2.png
--------------------------------------------------------------------------------
/presentation/images/saving-files-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/saving-files-3.png
--------------------------------------------------------------------------------
/presentation/images/scale-range.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/scale-range.png
--------------------------------------------------------------------------------
/presentation/images/shapefiles.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/shapefiles.png
--------------------------------------------------------------------------------
/presentation/images/south-america.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/south-america.png
--------------------------------------------------------------------------------
/presentation/images/sy23-3le.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/sy23-3le.png
--------------------------------------------------------------------------------
/presentation/images/topography.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/topography.png
--------------------------------------------------------------------------------
/presentation/images/turning-data-into-information.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/turning-data-into-information.png
--------------------------------------------------------------------------------
/presentation/images/two-key-geographies.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/two-key-geographies.png
--------------------------------------------------------------------------------
/presentation/images/types-of-questions-a-gis-can-answer.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/types-of-questions-a-gis-can-answer.jpg
--------------------------------------------------------------------------------
/presentation/images/ucl-social-data-institute.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/ucl-social-data-institute.png
--------------------------------------------------------------------------------
/presentation/images/uk-geographies-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/uk-geographies-2.png
--------------------------------------------------------------------------------
/presentation/images/uk-geographies-lad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/uk-geographies-lad.png
--------------------------------------------------------------------------------
/presentation/images/uk-geographies-lsoa.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/uk-geographies-lsoa.png
--------------------------------------------------------------------------------
/presentation/images/uk-geographies.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/uk-geographies.png
--------------------------------------------------------------------------------
/presentation/images/uk.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/uk.png
--------------------------------------------------------------------------------
/presentation/images/utm-europe.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/utm-europe.png
--------------------------------------------------------------------------------
/presentation/images/utm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/utm.png
--------------------------------------------------------------------------------
/presentation/images/vector-data.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/vector-data.png
--------------------------------------------------------------------------------
/presentation/images/vector-raster-data.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/vector-raster-data.png
--------------------------------------------------------------------------------
/presentation/images/weather.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/weather.png
--------------------------------------------------------------------------------
/presentation/images/what-is-gis.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/what-is-gis.png
--------------------------------------------------------------------------------
/presentation/images/world-cities-csv-excel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/world-cities-csv-excel.png
--------------------------------------------------------------------------------
/presentation/images/world-cities.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/world-cities.png
--------------------------------------------------------------------------------
/presentation/images/world.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/world.png
--------------------------------------------------------------------------------
/presentation/images/worlds-ocean-spilhaus-projection.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nickbearman/intro-qgis-spatial-data/a3924b3634e06afe649d498740bab53622afd713/presentation/images/worlds-ocean-spilhaus-projection.jpg
--------------------------------------------------------------------------------
/presentation/presentation-p1-p2.qmd:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Introduction to QGIS: Spatial Data and Spatial Analysis"
3 | subtitle: "Tue 1st April 2025"
4 | author: "Nick Bearman"
5 | format:
6 | revealjs
7 |
8 | ---
9 |
10 |
13 |
14 |
15 |
16 | ##
17 |
18 |
19 | 
20 |
21 | ##
22 |
23 | 
24 |
25 |
26 |
36 |
37 | ## What are we covering?
38 |
39 | - What is GIS and spatial data?
40 | - Be able to set up QGIS and add data
41 | - Join tabular data to spatial data
42 | - Understand how to classify data for representation on a map
43 | - Understand how to add data with a latitude & longitude coordinate
44 |
45 |
46 | {.absolute bottom="0" right="0" width="550"}
47 |
48 |
49 | ## What are we covering?
50 | - Point in Polygon Analysis
51 | - Spatial Overlays
52 | - Next steps
53 |
54 | {.absolute bottom="0" width="1024"}
55 |
56 |
57 |
67 |
68 |
79 |
80 | ## Outline
81 |
82 | - 10:00am – 10:45am: What is GIS and Spatial Data?
83 | - 10:45am – 11:30am: Practical 1
84 | - 11:30am – 11:45am: break
85 | - 11:45am – 12:15pm: Classification discussion
86 | - 12:15pm – 1:00pm: Practical 1
87 |
88 |
89 |
102 |
103 | ## Housekeeping
104 |
105 | - Have presentation and practical sessions
106 | - Ask questions as we go along
107 | - Think about how you could use these techniques with your own data
108 |
109 |
110 |
111 |
112 |
113 | - Presentations, handouts and data via email and on OneDrive
114 |
115 | - WhatsApp group for discussion
116 |
117 |
132 |
133 | ## Any Questions?
134 |
135 | - ?
136 |
137 |
138 | ## What is GIS?
139 |
140 | - Geographical Information Systems
141 | - Turning (spatial) data into information 
142 | - Using this information to answer (research) questions
143 | - *"How have housing conditions changed in the past ten years?"*
144 |
145 | ## What can a GIS can answer?
146 |
147 | \
148 | Kraak & Ormeling (2003) p.7.
149 |
150 | ## What is GIS?
151 |
152 | \
153 | http://www.flickr.com/photos/dsleeter_2000/3097476532 & ESRI Course "Teaching with GIS"
154 |
155 | ## GIS
156 |
157 | - Nearly all human activities & decisions involve geography
158 | - the "**where?**"
159 | - Working with geographic information is **different** to working with a **CSV** or **Excel** file
160 | - This is why we need specialized **GIS** software to:
161 | - **organize** and **store**
162 | - **access** and **retrieve**
163 | - **present** and **manage** spatial data
164 | - But ultimately to apply to the solution of our **problem**
165 |
166 | ## GIS can be applied to many many many different areas
167 |
168 | ------------------------------------------------------------------------
169 |
170 |
171 | 
172 |
173 | Kenya Vegetation Figure 1 - http://pvanb.wordpress.com/2010/06/10/clickfu-in-qgis/
174 |
175 | ------------------
176 |
177 | ### Census 2021
178 |
179 | ::: columns
180 | :::: {.column width="50%"}
181 |
182 | 
183 |
184 |
185 | https://www.ons.gov.uk/visualisations/censuspopulationchange/E08000012/
186 |
187 | ::::
188 |
189 | :::: {.column width="50%"}
190 |
191 | 
192 |
193 | https://www.ons.gov.uk/census/maps/choropleth/population/median-age/median-age/median-age?lad=E08000012
194 |
195 | ::::
196 | :::
197 |
198 | ---
199 |
200 | ## Poverty in Africa
201 |
202 | 
203 |
204 | http://pvanb.wordpress.com/2012/05/09/poverty-maps-on-harvestchoice/
205 |
206 | ---
207 |
208 | ## Weather
209 |
210 | 
211 |
212 | Tomorrows Weather - https://dominicroye.github.io/en/2023/tomorrows-weather/?utm_source=puntofisso&utm_medium=email
213 |
214 |
215 | ---
216 |
217 | ## GIS: Systems and Science
218 |
219 | ::: {.fragment}
220 | - Geographical Information **Systems**
221 | - The methods, process and technology we use
222 | :::
223 |
224 | ::: {.fragment}
225 | - Geographical Information **Science**
226 | - The science behind the technology
227 | - Including development of new technology,
methods and processes
228 | :::
229 |
230 | ::: {.fragment}
231 | {.absolute bottom="0" right="250" width="250"}
232 | {.absolute bottom="0" right="0" width="250"}
233 |
234 | Thanks to Nick Tate for the IGJIS 1987 photo
235 | :::
236 |
237 |
238 |
239 | ---
240 |
241 | ## GIS: Terminology
242 |
243 | ::: {.fragment}
244 | - Geographic*al* / Geographic
245 | :::
246 |
247 | ::: {.fragment}
248 | - Geographic Data Science
249 | :::
250 |
251 | ::: {.fragment}
252 | - GeoAI
253 | - Geographical Analysis
254 | - LLM / ChatGPT / assistant
255 | - [Kue Plugin: An AI Chatbot for QGIS, LinkedIn Post Feb 2025](https://www.linkedin.com/posts/jvdkwast_exploring-the-kue-plugin-an-ai-chatbot-for-activity-7286496279147237377-9KpP/)
256 | :::
257 |
258 | ---
259 |
260 | ## GIS Software
261 |
262 | \
263 |
264 | - QGIS has as many features as ArcGIS Pro
265 | - ArcGIS Pro is probably slightly more polished
266 | - QGIS is free (as is R & RStudio)
267 | - QGIS is popular in not for profit sector, academic and commercial
268 | - *All can be useful*
269 |
270 | ## Projections and Coordinate Systems
271 |
272 | ## Projections
273 |
274 | - Projection - going from a sphere to a flat surface
275 |
276 | 
277 |
278 |
279 | http://www.primap.com/wsen/Maps/MapCollection/WorldMaps/Globe-(Europe-centered)-Vegetation-4000x4000.html
280 |
281 |
282 | ## Projections
283 |
284 | - Projection - going from a sphere to a flat surface
285 |
286 | 
287 |
288 |
289 | http://www.hdwallpapersos.com/orange-fruit-hd-wallpapers.html | Top: http://krygier.owu.edu/krygier_html/geog_353/geog_353_lo /geog_353_lo05.html
290 |
291 |
292 | ## Mercator Projection
293 |
294 |
295 |
296 | 
297 |
298 |
301 |
302 | ##
303 |
304 | 
305 |
306 |
312 |
313 | ##
314 |
315 | 
316 |
317 | ##
318 |
319 | 
320 |
321 | ##
322 |
323 | 
324 |
325 | ##
326 |
327 | 
328 |
329 | [YouTube - Why all world maps are wrong](https://www.youtube.com/watch?v=kIID5FDi2JQ)
330 |
331 | ## Why are Projections important?
332 |
333 | 1. The map(s) may not be as they appear
334 |
335 | ## Why are Projections important?
336 |
337 | 1. The map(s) may not be as they appear
338 | 2. Data may appear in the wrong place
339 |
340 | ##
341 |
342 | 
343 |
344 |
345 | ##
346 |
347 | 
348 |
349 | ## Why are Projections important?
350 |
351 | 1. The map(s) may not be as they appear
352 | 2. Data may appear in the wrong place
353 | 3. Projections are closely related to Coordinate Systems
354 |
355 | ## Coordinate Systems
356 |
357 | Latitude and Longitude (WGS 1984)
358 |
359 | *52°N 37' 30.32'' (52.6250) 1°E 14' 2.05'' (1.2339)*
360 |
361 | 
362 |
363 | ## Coordinate Systems
364 |
365 | British National Grid
366 |
367 | *Easting: 619301 Northing: 307416*
368 |
369 |
370 | 
371 |
372 | ## Coordinate Systems
373 |
374 | UTM (Universal Transverse Mercator)
375 |
376 | *621160.98, 3349893.53 meters, Zone 31 N*
377 |
378 | 
379 |
380 | ## Coordinate Systems
381 |
382 | UTM (Universal Transverse Mercator)
383 |
384 | *621160.98, 3349893.53 meters, Zone 31 N*
385 |
386 | 
387 |
388 |
389 | ## Geographic and Projected Coordinate Systems
390 |
391 | We can split these coordinate systems into two groups:
392 |
393 | - Geographic Coordinate Systems
394 | - Projected Coordinate Systems
395 |
396 | ## Geographic and Projected Coordinate Systems
397 |
398 | - **Geographic Coordinate Systems**
399 | - Where on the Earth’s surface something is
400 | - 52°N 37’ 30.32’’ (52.6250) 1°E 14’ 2.05’’ (1.2339)
401 | - Usually in angular units (degrees)
402 | - But measuring distances is hard
403 |
404 | ## Geographic and Projected Coordinate Systems
405 |
406 | {width="500"}
407 |
408 | Thanks to [@RickyAngueira](https://twitter.com/RickyAngueira) from [#30DayMapChallenge on Twitter](https://twitter.com/RickyAngueira/status/1594030866132410368?t=Mljsd9aPHr7IzLTrp3o45A&s=09).
409 |
410 |
411 |
412 | ## Geographic and Projected Coordinate Systems
413 |
414 | - **Geographic Coordinate Systems**
415 | - Where on the Earth’s surface something is
416 | - 52°N 37’ 30.32’’ (52.6250) 1°E 14’ 2.05’’ (1.2339)
417 | - Usually in angular units (degrees)
418 | - **Projected Coordinate Systems**
419 | - How we show this on a printed/flat map
420 | - Easting: 619301 Northing: 307416
421 | - Usually in linear units (meters)
422 |
423 |
424 | ## Geographic and Projected Coordinate Systems
425 |
426 | - **Geographic Coordinate Systems**
427 | - Latitude and Longitude (WGS 1984)
428 | - 52.6250° 1.2339°
429 | - **Projected Coordinate Systems**
430 | - British National Grid (Eastings & Northings)
431 | - Easting: 619301 Northing: 307416
432 | - UTM (Universal Transverse Mercator)
433 | - 621160.98, 3349893.53 meters, Zone 14 N
434 |
435 | ## Coordinate Systems
436 |
437 | - **Geographic** : Latitude and Longitude (WGS 1984)
438 | - 52.6250° 1.2339° **EPSG: 4326**
439 | - **Projected Coordinate Systems**
440 | - British National Grid (Eastings & Northings)
441 | - Easting: 619301 Northing: 307416 **EPSG: 27700**
442 | - UTM (Universal Transverse Mercator)
443 | - 621160.98, 3349893.53 meters, Zone 14 N **EPSG: depends on zone**
444 | - https://epsg.org/ | https://epsg.io/
445 |
446 | ## Geographic and Projected Coordinate Systems
447 |
448 | - Why is it important?
449 | - Some data uses WGS84, some BNG, some UTM
450 | - GB ONS (LSOA) / OS and many others use BNG (Eastings/Northings)
451 | - Need to convert between the two
452 | - Most of the time QGIS converts automatically
453 |
454 |
455 |
456 | ## Which system to use?
457 |
458 | - For Global data, projections are key
459 | - WGS 84 EPSG:4326
460 | - Try WGS 84 / Equal Earth Greenwich EPSG:8857
461 |
462 | - For Local data, projections are less important
463 | - We are using Projected Coordinate System
464 |
465 |
466 | - We can convert data between projection systems
467 |
468 |
469 |
470 | ---
471 |
472 |
473 | 
474 |
475 | ---------------
476 |
477 | 
478 |
479 | ----------------
480 |
481 | 
482 |
483 | -------------------
484 |
485 | 
486 |
487 | ## Attribute Join
488 |
489 | - The attribute is key
490 | - It must match **exactly**
491 | - “Gambia, The” ≠ “The Gambia”
492 | - “USA” ≠ “The United States”
493 | - “UK” ≠ “Great Britain”
494 |
495 |
496 | ## Attribute Join
497 |
498 | - Codes (ISO3) can help
499 |
500 | {.absolute left="0"}
501 |
502 | ::: footer
503 | https://twitter.com/zevross/status/1118967279864242176
504 | :::
505 |
506 | ## Attribute Join
507 |
508 | - Is an issue in many different places
509 |
510 | {.absolute}
511 |
512 |
513 | ## Outline
514 |
515 | - ~~10:00am – 10:45am: What is GIS and Spatial Data?~~
516 | - 10:45am – 11:30am: Practical 1
517 | - 11:30am – 11:45am: break
518 | - 11:45am – 12:15pm: Classification discussion
519 | - 12:15pm – 1:00pm: Practical 1
520 |
521 | ## QGIS Practical
522 |
523 | - Short Demo
524 |
525 |
526 | ## QGIS Practical
527 |
528 | QGIS Demo
529 |
530 | - make a folder,
531 | - download and save practical (PDF / HTML),
532 | - download zip file,
533 | - extract,
534 | - open QGIS,
535 | - load World countries,
536 | - pan, zoom
537 |
538 | ## Housekeeping - Practicals
539 |
540 | - Work through the workbook (questions, optional exercises)
541 | - Will split into groups of ~2-3 people (breakout rooms)
542 | - Ask your group colleagues questions
543 |
544 |
545 | - Use the ‘Ask for help’ button in the Breakout room
546 | - I will ‘walk around’ and see how people are getting on
547 | - Can share screens – in groups, or individually
548 |
549 |
550 |
551 | ## QGIS Practical
552 |
553 | - (Primarily) self-led practical
554 | - Good to explore the options
555 | - Ask questions as we go through
556 | - Try things
557 | - If you get stuck, ask for help
558 |
560 |
561 |
562 | ## Outline
563 |
564 | - ~~10:00am – 10:45am: What is GIS and Spatial Data?~~
565 | - ~~10:45am – 11:30am: Practical 1~~
566 | - 11:30am – 11:45am: break
567 | - 11:45am – 12:15pm: Classification discussion
568 | - 12:15pm – 1:00pm: Practical 1
569 |
570 | ## Break
571 |
572 | - We will resume in 15 min
573 |
574 | - Make sure you get away from the screen for a bit!
575 |
576 | # {background="#43464B" background-image="images/worlds-ocean-spilhaus-projection.jpg"}
577 |
578 | ## Outline
579 |
580 | - ~~10:00am – 10:45am: What is GIS and Spatial Data?~~
581 | - ~~10:45am – 11:30am: Practical 1~~
582 | - 11:30am – 11:45am: break
583 | - 11:45am – 12:15pm: Classification discussion
584 | - 12:15pm – 1:00pm: Practical 1
585 |
586 |
587 | ## GIS can do many things
588 |
589 | ## Visualsation is key
590 |
591 | - how do we show data on a map?
592 |
593 |
622 |
623 |
624 |
625 | ## Classification
626 |
627 | 
628 |
629 | ## Classification
630 |
631 | - Go to [www.colorbrewer2.org](http://www.colorbrewer2.org)
632 |
633 | 
634 |
635 | ## Classification {.smaller}
636 |
637 | {.absolute bottom="0" width="1000"}
638 |
639 | - Go to [www.colorbrewer2.org](http://www.colorbrewer2.org)
640 | - How many classes would you use to categorise the data?
641 | - What are those classes?
642 | - What colour scheme would you use? Why?
643 |
644 | ## Classification
645 |
646 | - Polls
647 | - How many classes?
648 | - What are those classes?
649 | - Which colour scheme?
650 |
651 |
652 |
653 | ## Classification - Classes
654 |
655 | - How many classes we choose is important
656 | - Max of 5-7
657 | - What those classes are is important as well
658 | - Equal Interval: *0-10, 10-20, 20-30, ….*
659 | - Quantiles: *first 10 data points, second 10 data points, ….*
660 | - Natural Breaks *(Jenks / Fisher)*
661 | - Standard Deviation: *mean-1SD to mean, mean to mean+1SD, mean+1SD to mean+2SD, …*
662 | - Unique
663 |
664 | ## Classification
665 |
666 | 
667 |
668 | ::: footer
669 | Figure 11 https://gistbok.ucgis.org/bok-topics/statistical-mapping-enumeration-normalization-classification
670 | :::
671 |
672 | ## Classification
673 |
674 | 
675 |
676 | ## Classification
677 |
678 | 
679 |
680 |
681 | ::: footer
682 | James Cheshire (UCL) wrote an article about the press conference announcing the second lockdown in the UK (31/10/2020)
683 |
684 | https://theconversation.com/next-slide-please-data-visualisation-expert-on-whats-wrong-with-the-uk-governments-coronavirus-charts-149329
685 |
686 | https://jcheshire.com/resources/different-maps-same-data/
687 | :::
688 |
689 |
690 | ---
691 |
692 | 
693 |
694 | ## Classification - Colours
695 |
696 | - As well as classes, colours are important
697 | - How do you choose the colours?
698 | - Why is this important?
699 | - Output
700 | - User
701 | - Colorbrewer.org
702 |
703 | {.absolute bottom="0" right="0" width="600"}
704 |
705 | ---
706 |
707 | 
708 |
709 |
710 |
711 |
712 | ## Classification
713 |
714 | - Cartography is a Science and an Art
715 | - Be creative
716 | - There is no ‘right’ answer
717 | - A bit like cookery
718 | - But we have covered some ‘rules of thumb’
719 |
720 |
721 | ## Before we continue with the practical
722 |
723 | - NULL values
724 |
725 | ## NULL Values
726 |
727 | 
728 |
729 | ## NULL Values
730 |
731 | 
732 |
733 | ##
734 |
735 | 
736 |
737 |
738 | ##
739 |
740 | 
741 |
742 |
743 | ##
744 |
745 | - Null Values
746 |
747 | - Saving files
748 |
749 |
750 | ## Saving Files
751 |
752 | 
753 |
754 | ## Saving Files
755 |
756 | 
757 |
758 |
759 | ## Saving Files
760 |
761 | 
762 |
763 |
764 |
765 |
766 | ## Glossary
767 |
768 | 
769 |
770 |
771 | ## Outline
772 |
773 | - ~~10:00am – 10:45am: What is GIS and Spatial Data?~~
774 | - ~~10:45am – 11:30am: Practical 1~~
775 | - ~~11:30am – 11:45am: break~~
776 | - ~~11:45am – 12:15pm: Classification discussion~~
777 | - 12:15pm – 1:00pm: Practical 1
778 |
779 |
792 |
793 | ## Wrap-Up
794 |
795 | - What are your questions?
796 |
797 | - Everyone post a question in Zoom that you have about GIS or todays work
798 |
799 | ## Next Session
800 |
801 | - Next session tomorrow 10am
802 |
803 | - More on Cartography and Map Design (beyond colours)
804 |
805 | - If you are working with some of your own data, bring it along
806 |
807 | ##
808 |
809 |
831 |
842 |
843 | ##
844 |
845 |
846 | 
847 |
848 | ##
849 |
850 | 
851 |
852 | ## Recap Quiz
853 |
854 | ## Outline
855 |
856 | - 10:00am – 10:20am: Recap and Cartography / Map Design
857 | - 10:20am – 11:30am: Practical 2a
858 | - 11:30am – 11:45am: break
859 | - 11:45am – 1:00pm: Practical 2b & Working with your own data
860 |
861 |
862 |
863 | ## Spatial Data
864 |
865 | - Data is crucial to GIS
866 | - ~50% of time doing a GIS project is spent finding data or getting data into the right format!
867 | - Finding data can be a real pain
868 | - Previous work **should** reference where they get data from
869 | - If not, it’s a reasonable question to ask the author
870 | - There is no one list of data, but some useful sources
871 |
872 | ## Spatial Data - Is it any use?
873 |
874 | - Location (where does it cover?)
875 | - Variables / columns (what does it cover?)
876 | - How old is the data? (when does it cover?)
877 | - What projection & coordinate system is the data in?
878 | - What scale is the data at?
879 |
880 | ## Scale {.smaller}
881 |
882 | ::: columns
883 | :::: {.column width="33%"}
884 | 
885 |
886 | - Small number of bricks
887 | - Low level of detail
888 |
889 | *https://www.youtube.com/watch?v=TcGIL21yqS4&list=PLwLYQ8o7Is3R3-6hTWzg2CK_iaxg5tsoZ&index=5&t=0s*
890 |
891 | ::::
892 | :::: {.column width="33%"}
893 | 
894 |
895 | - Medium number of bricks
896 | - Medium level of detail
897 |
898 | *https://www.amazon.co.uk/LEGO-Creator-London-40220-361329/*
899 | ::::
900 | :::: {.column width="33%"}
901 | 
902 |
903 | - Large number of bricks
904 | - Large level of detail
905 |
906 | *https://www.lego.com/en-gb/product/london-bus-10258*
907 | ::::
908 | :::
909 |
910 | ## Worldwide {.smaller}
911 |
912 | ::: columns
913 | :::: {.column width="30%"}
914 |
915 | 1:100,000,000
916 | 1:100m
917 |
918 | (1cm = 1000km)
919 |
920 | unit on map*
921 | :
922 | units in real world
923 |
924 | *usually printed map, adapted for screen, some variation depending on monitor size, resolution…*
925 |
926 | ::::
927 |
928 | :::: {.column width="70%"}
929 |
930 | 
931 |
932 | ::::
933 | :::
934 |
935 | ## Large Country/Continent {.smaller}
936 |
937 | ::: columns
938 | :::: {.column width="30%"}
939 |
940 | Brazil / South America
941 |
942 | 1:30,000,000 1:30m
943 |
944 | (1cm = 300km)
945 |
946 | ::::
947 |
948 | :::: {.column width="70%"}
949 |
950 | 
951 |
952 | ::::
953 | :::
954 |
955 | ## Small Country {.smaller}
956 |
957 | ::: columns
958 | :::: {.column width="30%"}
959 |
960 | UK
961 |
962 | 1:8,000,000 1:8m
963 |
964 | (1cm = 80km)
965 |
966 |
967 | ::::
968 |
969 | :::: {.column width="70%"}
970 |
971 | 
972 |
973 | ::::
974 | :::
975 |
976 | ## Local / City {.smaller}
977 |
978 | ::: columns
979 | :::: {.column width="30%"}
980 |
981 | Hull
982 |
983 | 1: 100,000 1:100k
984 |
985 | 1cm = 1 km
986 |
987 |
988 |
989 | ::::
990 |
991 | :::: {.column width="70%"}
992 |
993 | 
994 |
995 | ::::
996 | :::
997 |
998 | ## Local / City {.smaller}
999 |
1000 | ::: columns
1001 | :::: {.column width="30%"}
1002 |
1003 | Hull
1004 |
1005 | 1: 50,000 1:50k
1006 |
1007 | 1cm = 0.5 km
1008 |
1009 | 
1010 |
1011 |
1012 | ::::
1013 |
1014 | :::: {.column width="70%"}
1015 |
1016 | 
1017 |
1018 | ::::
1019 | :::
1020 |
1021 | ## Scale
1022 |
1023 | { width="20%" }
1024 | { width="20%" }
1025 | { width="20%" }
1026 | { width="20%" }
1027 |
1028 | 
1029 |
1030 | ## Level of Detail
1031 |
1032 | 
1033 |
1034 |
1035 | { width="30%" }
1036 | { width="30%" }
1037 | { width="30%" }
1038 |
1039 | ## Scale & Level of Detail {.smaller}
1040 |
1041 | { width="20%" }
1042 | { width="20%" }
1043 | { width="20%" }
1044 | { width="20%" }
1045 |
1046 | { width="80%" }
1047 |
1048 | { width="80%" }
1049 |
1050 |
1051 | { width="15%" }
1052 | { width="15%" }
1053 | { width="15%" }
1054 |
1055 | Depends on size
1056 |
1057 | ## File Size
1058 |
1059 | ::: columns
1060 | :::: {.column width="50%"}
1061 |
1062 | - More bricks = more data
1063 | - More data = bigger file
1064 | - In GIS, this is how much
1065 | detail there is
1066 | - More detail means we can
1067 | use it as a larger scale
1068 | - Generalisation
1069 |
1070 | ::::
1071 | :::: {.column width="50%"}
1072 |
1073 | { width="80%"}
1074 |
1075 | ::::
1076 | :::
1077 |
1078 | ##
1079 |
1080 | ::: columns
1081 | :::: {.column width="50%"}
1082 |
1083 | 
1084 |
1085 | ::::
1086 | :::: {.column width="50%"}
1087 |
1088 | ::: {.fragment}
1089 |
1090 | - Is the detail important?
1091 |
1092 | - Depends what you are going todo with the data
1093 |
1094 | :::
1095 |
1096 | ::::
1097 | :::
1098 |
1099 | ## Static Data
1100 |
1101 | ::: columns
1102 | :::: {.column width="70%"}
1103 |
1104 | 
1105 |
1106 | ::::
1107 | :::: {.column width="30%"}
1108 |
1109 | - Static data
1110 | - No extra detail
1111 |
1112 | :::
1113 |
1114 | ::::
1115 | :::
1116 |
1117 | ## Dynamic Data
1118 |
1119 | { width="20%" }
1120 | { width="20%" }
1121 | { width="20%" }
1122 | { width="20%" }
1123 |
1124 | 
1125 |
1126 | - Dynamic data
1127 | - Extra detail on demand
1128 |
1129 | ## Static vs Dynamic
1130 |
1131 | - Dynamic data
1132 | - Dynamic scale - pulls in additional data (from internet)
1133 | - Not editable / usable for analysis (no attribute table)
1134 | - Useful if data changes
1135 | - Static data
1136 | - Fixed scale - can’t get additional data (need another file)
1137 | - Editable and usable for analysis (attribute table)
1138 | - Does not update
1139 |
1140 |
1141 |
1142 |
1143 | ## Saving Files
1144 |
1145 | 
1146 |
1147 | ## Saving Files
1148 |
1149 | 
1150 |
1151 |
1152 | ## Saving Files
1153 |
1154 | 
1155 |
1156 | ## Shapefiles {.smaller}
1157 |
1158 | 
1159 |
1160 | - `.shp` the geometry (polygons) themselves
1161 | - `.shx` extra geometry information
1162 | - `.dbf` attribute information (dBase IV format)
1163 | - `.prj` projection & coordinate system info
1164 | - `.qpj` QGIS version of projection & coordinate system information *[(more gory details)](https://gis.stackexchange.com/questions/55545/qpj-files-on-esri-software)*
1165 |
1166 | - *[https://en.wikipedia.org/wiki/Shapefile](https://en.wikipedia.org/wiki/Shapefile)*
1167 |
1168 | ## Shapefiles
1169 |
1170 | - (One of) the most common spatial data file formats
1171 | - ESRI 1990s, closed
1172 | - → [spec opened July 1998](https://www.esri.com/content/dam/esrisites/sitecore-archive/Files/Pdfs/library/whitepapers/pdfs/shapefile.pdf)
1173 |
1174 | ## Geopackage
1175 |
1176 | {.absolute right="0" top="0"}
1177 |
1178 | - Everything is contained in a single file
1179 | - Easier file management with GeoPackage
1180 | - No multiple files!
1181 | - Many layers in one file
1182 | - Faster work-flow than with shapefiles
1183 | - There are nearly no limitations on field names (10 char in shapefile)
1184 |
1185 | ## Geopackage
1186 |
1187 | {.absolute right="0" top="0"}
1188 |
1189 | - *An aside*
1190 | - *GeoPackages are databases*
1191 | - *Each layer is a table within the database*
1192 | - *Makes moving to PostGIS / PostgreSQL databases much easier*
1193 |
1194 | ## File Formats
1195 |
1196 | - Mainly been using shapefiles
1197 | - They are just one of many formats
1198 | - You will come across more:
1199 | - GeoPackage
1200 | - GeoJSON
1201 | - GML
1202 | - And many others!
1203 | - QGIS can read (most) of them
1204 |
1205 | ## Cartography and Map Design
1206 |
1207 | - By the end of this practical you will be able to:
1208 | - Understand how to design and produce a publication-ready map in QGIS
1209 | - Be able to add maps, scale bar, legends and labels to a map
1210 | - Know why scale is important in map design
1211 | - Know how to save and export maps as PDFs or images
1212 |
1213 | ##
1214 |
1215 | 
1216 |
1217 | ## IMD – Index of Multiple Deprivation
1218 |
1219 |
1220 | {width=600}
1221 |
1222 | {width=600}
1223 |
1224 | {.absolute right=0 bottom=0 height=600}
1225 |
1226 | https://assets.publishing.service.gov.uk/media/5d8b399a40f0b609946034a4/IoD2019_Infographic.pdf
1227 |
1228 |
1229 | ## IMD – Index of Multiple Deprivation
1230 |
1231 |
1232 | {width=600}
1233 |
1234 | - Score - *Low to High*
1235 |
1236 | - Decile - *1 to 10*
1237 |
1238 | - Rank - *1st to 32,844th*
1239 |
1240 | {.absolute right=0 bottom=0 height=600}
1241 |
1242 | ##
1243 |
1244 | 
1245 |
1246 | https://geoportal.statistics.gov.uk/documents/db2a0b3bee594f96a4869644fc32395b/explore
1247 |
1248 | ##
1249 |
1250 | 
1251 |
1252 | ##
1253 |
1254 | 
1255 |
1256 |
1257 | ##
1258 |
1259 | 
1260 |
1261 |
1262 | ##
1263 |
1264 | 
1265 |
1266 | Local Authorities Districts
1267 |
1268 | LSOAs
1269 |
1270 | ## Map Design
1271 |
1272 | What makes a good map?
1273 |
1274 | ## Map Design
1275 |
1276 | - Clear
1277 | - Title (caption), legend, scale bar, N arrow
1278 | - Copyright / acknowledgements
1279 | - Data source
1280 |
1281 | ## Copyright / Acknowledgements
1282 |
1283 | - Some data we must show copyright:
1284 | - OS Open Data:
1285 | - Contains National Statistics data © Crown copyright and database right 2024.
1286 | - IMD Data:
1287 | - MHCLD, 2019.
1288 |
1289 | ## Data source
1290 |
1291 | - It is also good practice to acknowledge where data came from
1292 | - Exactly the same as referencing in an academic article
1293 |
1294 | ## Map Design
1295 |
1296 | - What makes a good map?
1297 | - Darkes and Spence’s (2017) Cartography: An Introduction
1298 | - Examples
1299 | - Good and bad
1300 | - Rules of thumb
1301 | - [Second edition £12.99](https://www.cartography.org.uk/product-page/cartography-an-introduction-second-edition)
1302 |
1303 | - [First edition free!](https://www.cartography.org.uk/thematic-mapping)
1304 |
1305 | {.absolute right=0 bottom=0 width=400}
1306 |
1307 | ## *~~Classification~~* Cartography
1308 |
1309 | - Cartography is a Science and an Art
1310 | - Be creative
1311 | - There is no ‘right’ answer
1312 | - A bit like cookery
1313 | - But there are some ‘rules of thumb’
1314 | - Borrow other people’s ideas
1315 | - Develop my design
1316 |
1317 |
1318 | ##
1319 |
1320 | 
1321 |
1322 | ## Outline {.smaller}
1323 |
1335 |
1344 |
1355 |
1356 |
1357 |
1358 | ## Outline
1359 |
1360 | - ~~10:00am – 10:20am: Recap and Cartography / Map Design~~
1361 | - 10:20am – 11:30am: Practical 2a
1362 | - 11:30am – 11:45am: break
1363 | - 11:45am – 1:00pm: Practical 2b & Working with your own data
1364 |
1365 | ## Practical 2a: Making a Map
1366 |
1367 | 
1368 |
1369 | ## Outline
1370 |
1371 | - ~~10:00am – 10:20am: Recap and Cartography / Map Design~~
1372 | - ~~10:20am – 11:30am: Practical 2a~~
1373 | - 11:30am – 11:45am: break
1374 | - 11:45am – 1:00pm: Practical 2b & Working with your own data
1375 |
1376 | ## Break
1377 |
1378 | - We will resume in 15 min
1379 |
1380 | - Make sure you get away from the screen for a bit!
1381 |
1382 | # {background="#43464B" background-image="images/polar-projections.png"}
1383 |
1384 | ## Outline
1385 |
1386 | - ~~10:00am – 10:20am: Recap and Cartography / Map Design~~
1387 | - ~~10:20am – 11:30am: Practical 2a~~
1388 | - ~~11:30am – 11:45am: break~~
1389 | - 11:45am – 1:00pm: Practical 2b & Working with your own data
1390 |
1391 | ## Data Types: Vector & Raster
1392 |
1393 | :::{.columns}
1394 | :::: {.column width="50%"}
1395 | - Vector Data
1396 | - Points
1397 | - Lines
1398 | - Polygons
1399 | ::::
1400 | :::: {.column width="50%"}
1401 | 
1402 | ::::
1403 | :::
1404 |
1405 | ## Data Types: Vector {.smaller}
1406 |
1407 | :::{.columns}
1408 | :::: {.column width="50%"}
1409 | - Points
1410 | - Locations
1411 | - Street addresses
1412 | - POIs
1413 | - Lines
1414 | - Roads
1415 | - Rivers
1416 | - Railways
1417 | - Polygons
1418 | - Building footprints
1419 | - Lakes
1420 | - Admin areas (LSOA)
1421 | - Countries
1422 | ::::
1423 | :::: {.column width="50%"}
1424 | 
1425 | ::::
1426 | :::
1427 |
1428 | ## Data Types: Raster
1429 |
1430 | :::{.columns}
1431 | :::: {.column width="50%"}
1432 | 
1433 | ::::
1434 | :::: {.column width="50%"}
1435 | 
1436 | ::::
1437 | :::
1438 |
1439 | ## Data Types: Raster
1440 |
1441 | :::{.columns}
1442 | :::: {.column width="50%"}
1443 | {width=250}
1444 | {width=250}
1445 | ::::
1446 | :::: {.column width="50%"}
1447 | - Elevation
1448 | - Temperature
1449 | - Population density
1450 | - Land cover
1451 | - Light reflectance (satellite or aerial imagery)
1452 | ::::
1453 | :::
1454 |
1455 | ## Data Types: Vector & Raster
1456 |
1457 | :::{.columns}
1458 | :::: {.column width="50%"}
1459 | 
1460 | ::::
1461 | :::: {.column width="50%"}
1462 | {width=250}
1463 | {width=250}
1464 | ::::
1465 | :::
1466 |
1467 | ## File Types
1468 |
1469 | | | Vector | Raster |
1470 | |------------|--------|--------|
1471 | | Shapefile | X | |
1472 | | GeoTiff | | X |
1473 | | ASCII Grid | | X |
1474 | | GeoPackage | X | X |
1475 | | GeoJSON | X | |
1476 | | ... | | |
1477 |
1478 | ## File Management
1479 |
1480 | - File / Data Management is key
1481 | - Spatial data generates lots of files
1482 | - Having a system is crucial
1483 | - Particularly if you have multiple people working on the same project
1484 |
1485 | ## Working with your own data
1486 |
1487 | - Data is crucial to GIS
1488 | - ~50% of time doing a GIS project is spent finding data or getting data into the right format!
1489 | - Finding data can be a real pain
1490 | - Previous work **should** reference where they get data from
1491 | - If not, it’s a reasonable question to ask the author
1492 | - 95% of the time you won’t have spatial data ready to go
1493 |
1494 | ## Working with your own data
1495 |
1496 | - 95% of the time you won’t have spatial data ready to go
1497 |
1498 | - You may have to join your own data to existing spatial data
1499 | - e.g. population data
1500 |
1501 | - Existing spatial data can come from various locations
1502 |
1503 | ## Working with your own data
1504 |
1505 | Spatial data can come from various locations
1506 |
1507 | - [Ordnance Survey / OS Open Data](https://osdatahub.os.uk/downloads/open)
1508 | - [Census & Census Boundary]( https://borders.ukdataservice.ac.uk)
1509 | - [EuroStat](https://ec.europa.eu/eurostat)
1510 | - [Free GIS Data, Robin Wilson](http://freegisdata.rtwilson.com/)
1511 | - [GeoBoundaries.org](https://GeoBoundaries.org)
1512 | - [OpenStreetMap](http://openstreetmap.org)
1513 | - Google Search – shapefile / GIS
1514 |
1515 | ## Working with your own data
1516 |
1517 | - 95% of the time you won’t have spatial data ready to go
1518 |
1519 | - You may have to join your own data to existing spatial data
1520 | - e.g. population data (pop table + Geo boundaries)
1521 |
1522 | - Or create the shapefiles yourself
1523 | - How do you do this?
1524 | - Depends on points, lines and polygons
1525 |
1526 | ## Working with your own data
1527 |
1528 | :::{.columns}
1529 | :::: {.column width="40%"}
1530 |
1531 | {}
1532 |
1533 | ::::
1534 | :::: {.column width="60%"}
1535 |
1536 | - Points
1537 | - Easy, `world-cities.csv`
1538 | - Using coordinates
1539 |
1540 | - Lines & Polygons
1541 | - Harder
1542 | - Not common to create new data (digitizing)
1543 | - Common to combining existing data to create new data
1544 |
1545 | ::::
1546 | :::
1547 |
1548 | ## Practical 2b: Creating Data
1549 |
1550 | 
1551 |
1552 | ## Practical 2b: Creating Data
1553 |
1554 | - What if we don't have coordinates?
1555 |
1556 | - Geocoding
1557 |
1558 | - Postcode -> coordinates
1559 |
1560 | 
1561 |
1562 | ## Practical 2b: Creating Data
1563 |
1564 | - What if we don't have coordinates?
1565 |
1566 | - Geocoding
1567 |
1568 | - Postcode -> coordinates
1569 |
1570 | - Online - Doogal
1571 | - Small amounts of data
1572 |
1573 | ## Practical 2b: Creating Data
1574 |
1575 | - Geocoding
1576 |
1577 | - Postcode -> coordinates
1578 |
1579 | - Offline or large amounts of data
1580 |
1581 | :::{.columns}
1582 | :::: {.column width="40%"}
1583 |
1584 | 
1585 |
1586 | ::::
1587 | :::: {.column width="60%"}
1588 |
1589 | OS Code-Point Open
1590 |
1591 | 
1592 |
1593 | ::::
1594 | :::
1595 |
1596 | ## Postcodes were designed for delivering post
1597 |
1598 | - Unit: SY23 3LE
1599 | - Sector: SY23 3
1600 | - District: SY23
1601 | - Area: SY (Shrewsbury)
1602 |
1603 | - Postcode Unit covers about 15 houses
1604 | - Can be ~100m or many square km
1605 |
1606 | ## Postcodes
1607 |
1608 | :::{.columns}
1609 | :::: {.column width="50%"}
1610 |
1611 | - SY23 3LE:
1612 | - 54,046,449 m2
1613 | - 5,404 hectares
1614 | - 54 km2
1615 |
1616 | ::::
1617 | :::: {.column width="50%"}
1618 |
1619 | 
1620 |
1621 | ::::
1622 | :::
1623 |
1624 | ## Postcodes
1625 |
1626 | :::{.columns}
1627 | :::: {.column width="50%"}
1628 |
1629 | - CF14 3DS:
1630 | - 6,703 m2
1631 | - 6 hectares
1632 | - 0.006 km2
1633 |
1634 | ::::
1635 | :::: {.column width="50%"}
1636 |
1637 | 
1638 |
1639 | ::::
1640 | :::
1641 |
1642 | ## Postcodes – useful for joining data, but….
1643 |
1644 | - Remember their size can vary, sometimes dramatically
1645 |
1646 | - OS Code-Point Open (free, centroid only)
1647 |
1648 | - CodePoint with Polygons (paid, GSMA, Digimap)
1649 |
1650 |
1651 |
1652 | ## Practical 2b: Creating Data
1653 |
1654 | - Continue with Practical 2: Making a Map
1655 |
1656 | - Try working with some of your own data
1657 |
1658 | - Try Practical 2b: Coordinates & Postcodes
1659 |
1660 | ## Outline
1661 |
1662 | - ~~10:00am – 10:20am: Recap and Cartography / Map Design~~
1663 | - ~~10:20am – 11:30am: Practical 2a~~
1664 | - ~~11:30am – 11:45am: break~~
1665 | - 11:45am – 1:00pm: Practical 2b & Working with your own data
1666 |
1667 | ## Wrap Up
1668 |
1669 | - Two Stars, One Wish *poll*
1670 |
1671 | ## Wrap-Up
1672 |
1673 | - Everyone post a question in Zoom that you have about GIS or todays work
1674 |
1675 |
1676 |
1677 | ## Next Session
1678 |
1679 | - Next session Tuesday 8th March, 10am
1680 |
1681 | - More on Spatial Analysis
1682 |
1683 | - If you are working with some of your own data, bring it along
1684 |
1685 |
1686 |
1687 |
1697 |
1707 |
1708 |
1713 |
--------------------------------------------------------------------------------
/workbook-p1-p2.Rmd:
--------------------------------------------------------------------------------
1 | ---
2 | title: 'Introduction to QGIS: Spatial Data and Spatial Analysis'
3 | output:
4 | pdf_document: default
5 | html_document:
6 | df_print: default
7 | toc: TRUE
8 | toc_float: TRUE
9 | self_containted: TRUE
10 | date: "Practicals 1 & 2: Tue 1st and Wed 2nd April 2025"
11 | ---
12 |
13 |
14 |
15 |
16 |
17 | # Practical 1: Introduction to QGIS
18 |
19 | | **Learning outcomes:** |
20 | |---|
21 | | Be able to set up QGIS and add data |
22 | | Understand how to add data with a latitude & longitude coordinate |
23 | | Join tabular data to spatial data |
24 | | Understand how to undertake simple calculations |
25 | | Understand how to classify data for representation on a map |
26 |
27 | Several conventions have been adopted in the following instructions:
28 |
29 | - **Bold** type indicates software commands, options or window names (e.g. **Open**, **Delete** etc.)
30 | - A `courier` font is used for folder, file or program names (e.g. `world_countries`)
31 | - Accessing a command through a sequence of menus is shown as:
32 | **View > Zoom Data > Full Extent**
33 |
34 | Many commands require the OK button to be clicked or the Enter key to be pressed after a name has been typed in or an option selected.
35 |
36 | File management is very important, so do spend a bit of time making sure you are happy with where the files are stored. If you have questions, please ask!
37 |
38 | - Create a new folder in your **Documents** folder called **GIS** (or something similar that you know where it is).
39 | - Open the OneDrive site and find the `prac1.zip` file.
40 | - Download it and save the file in the new folder you created.
41 | - As there are several files they have been compressed into a single zip file, and you will need to first copy this and then extract the data files. Choose somewhere sensible to extract the files to.
42 | - Start QGIS by clicking on Start, then type **QGIS** and select **QGIS Desktop 3.40.4**. *Your version number might vary, **QGIS Desktop** is the key bit.*
43 |
44 | Let's start off by creating a blank map and adding some data.
45 |
46 | - Start by clicking **Project > New** { height=20 } from the menu at the top of the screen.
47 | - Click the **Open Data Source Manager** { height=20 } button.
48 | - Make sure { height=20 } is selected.
49 | - Then choose the **Browse** button { height=20 } and navigate to the `prac1` folder we downloaded earlier.
50 | - Change the option in the drop-down menu on the bottom right to **ESRI Shapefiles**.
51 | - Select the `world_countries.shp` file, click **Open** and click **Add**.
52 | - Then click **Close**.
53 | - This will add a layer which shows the countries of the world.
54 |
55 | QGIS has a number of different ways of navigating around spatial data. Click on the **Zoom In** tool { height=20 } and draw a box around Europe - the display will zoom in to show this area. To view all of the data, click the **Zoom Full** tool { height=20 }.
56 |
57 | *You can also use the mouse wheel to zoom in and out.*
58 |
59 | Use the **Pan Map** tool { height=20 } to move around the map by clicking on the tool and then click and drag around the map. You can also use the mouse wheel to zoom in and zoom out. Experiment with the zoom and pan tools, and when you are happy, move on to the next section of the practical.
60 |
61 |
62 |
63 | The Identify Features tool allows you to select a country on the map and see the attribute information stored in the shapefile about that country.
64 |
65 | - Select the **Identify Features** tool { height=20 }, and then click on a country.
66 | - A window will appear, titled **Identify Results**, with information about the country you selected.
67 | - Try selecting different countries, to see how the tool works.
68 |
69 | When we added the `world_countries` shapefile, QGIS randomly assigned a colour. We can change this to something more sensible - green, for instance.
70 |
71 | - Right click on the `world_countries` entry in the **Layers** window on the left hand side of the screen, and click on **Properties**:
72 |
73 | { width=30% }
74 |
75 | - This will open the **Layer Properties** window, where we can change many different options for how the layer is displayed, as well as other options about the layer.
76 | - Click on the { height=20 } **Symbology** option on the left hand side.
77 | - To change the colour, click on the drop down menu next to the colour option:
78 |
79 | { width=55% }
80 |
81 | - You can then either select one of the pre-set colours, or click on **Choose Color...** and select a colour from the color picker. Use either option, and change the colour to something you like.
82 | - Click **OK** and this will close the Layer Properties window and update the colour on the map.
83 |
84 |
105 |
106 | ## Add the other shapefiles
107 |
108 | - Using the same process as previously (or select **Layer > Add Layer > Add Vector Layer... > Vector > ...**) add three more shapefiles to the map.
109 | - The files to add are: `world_deg30.shp`, `world_lakes.shp` and `world_rivers.shp` shapefiles.
110 | - To select multiple files, select the one at the top of the list, hold down Shift on the keyboard and click on the bottom file.
111 | - You may have a **Select Transformation** box appear. If so, keep the default choice selected and choose **OK**.
112 |
113 |
114 | QGIS will add the layers, and again assign a random colour. However, you may not be able to see all the data. This is because the order of the different layers in the Layers window is important.
115 |
116 | - Re-order the layers (by dragging them up or down) so they are in this order (from top to bottom): `world_lakes`, `world_rivers`, `world_countries` and `world_deg30`.
117 | - Now you should be able to see the three different data sets. We can rename the layers as well - right click on `world_deg30` and select rename. Rename this layer to `oceans` and press enter.
118 | - Also use the **Identify Features** tool to investigate some of the new data layers. *You have to select the layer you want to Identify*.
119 | - Now is a good time to save the QGIS project file. Select **Project > Save** and save the file somewhere sensible.
120 |
121 | The colours of the different layers will also need to be changed, so update the colours to reflect what the layers represent.
122 |
123 | *The options you have for symbology will depend on what type of spatial data you are dealing with. The countries layer is a polygon layer, so we can change the colour of the polygons. Point layers or line layers will have different options. Experiment with different colours and the other options in the Style section of the Layer Properties window.*
124 |
125 | Remember also to save the project file!
126 |
127 | ## Adding point data from a CSV file
128 |
129 | We have already added polygon data and line data, and now we are going to look at adding some point data. Open up the `world-cities.csv` file included in the zip file - it should open in Excel. You can see the file contains four columns: Name, Latitude, Longitude and Country. As this data has some coordinates, QGIS can plot the data on our map. Close the file (without saving, if Excel asks), and return to QGIS.
130 |
131 | - Click **Layer > Add Layer > Add Delimited Text Layer...** and click **Browse** { height=20 } and select the `world-cities.csv` file.
132 | - You should see the different columns appear at the bottom of the window.
133 | - Make sure that **File format** is set to `CSV` and **Geometry Definition** is set to `Point coordinates`.
134 | - You may need to expand **Geometry Definition**. If it looks like this { height=20 } then click on the arrow { height=20 } so it looks like this:
135 |
136 | { width=80% }
137 |
138 | - Check that **X** field is set to `Longitude` and **Y** field is set to `Latitude`.
139 | - Make sure that **Geometry CRS** is set to `EPSG:4326 - WGS 84`.
140 | - Click **Add**, and **Close**.
141 |
142 | *QGIS may ask what coordinate system the coordinates are in. Make sure **Coordinate Reference System** `WGS 84 - Authority ID EPSG:4326` is selected (type the ID number **4326** in the filter box if needed), and click **OK**.*
143 |
144 | You should now see the 15 cities added to the map. Update the symbols to a colour that fits in with your existing map.
145 |
146 | **Optional Exercise**
147 |
148 | See if you can work out how to add a name to each of the cities. Look in the **Layer Properties** window under **Labels**.
149 |
150 |
151 | ## Joining tabular data
152 |
153 | We only need the `world_countries` layer for the next exercise, so turn all of the other layers off by clicking on the check box next to each layer entry in the Layers panel.
154 |
155 | { width=20% }
156 |
157 | In order to join tabular data it is necessary that both of your datasets have a common attribute (e.g. a name, unique reference or code). This attribute must be unique (i.e. a country must not be listed twice in your Attribute table) and identical (i.e. the country names must be the same and spelt identically, e.g. "Gambia, The" and "The Gambia" will not join successfully).
158 |
159 | - Right-click on the `world_countries` layer and choose **Open Attribute Table**. You'll see that the **NAME** field is unique (different) for each country.
160 | - Close the **Attribute Table**.
161 | - In the data files that you copied today you'll notice that there is also an Excel file named `pop2015.xls`. Double-click this file and it should open in Excel. The dataset contains three fields, a unique identifier called UN_Code, the country **NAME** and population data for 2015 called **POP2015**. Close the Excel file once you have finished viewing the data.
162 |
163 | Now that we've identified the two fields in our datasets that we will use to make the join we can move on.
164 |
165 | - To add our table to the map we need to use the **Open Data Source Manager** { height=20 }. Click on this, and then choose **Browser** { height=20 }.
166 | - Open **Home** and navigate to where you downloaded your zip file earlier.
167 | - There should be a file listed called `pop2015.xls`.
168 | - Expand { height=20 } this and there should be a file called `pop2015`.
169 | - Double click on `pop2015` and it will be added to the Layers window.
170 | - Close the **Data Source Manager**.
171 | - The table will now appear as a layer in the Layers window:
172 |
173 | { width=20% }
174 |
175 | - Right-click on the table we have just added (`pop2015`) and **Open Attribute Table** to check that the data appears correctly (if you have all *null* values there has been a problem importing your data, try adding it again). You should see both fields with data populated.
176 | - Close the attribute table when you have finished viewing the data
177 | - Now we will join this table layer with your spatial data. Right-click on the `world_countries` layer, select **Properties** and click on **Joins** { height=20 }.
178 | - Click on the **Add new join** button { height=20 } to create a new join. The **Add Vector Join** dialogue box will now open
179 | - Make sure that in the **Join layer** dropdown box `pop2015` is selected
180 | - In the **Join field** dropdown box `Name` should be selected
181 | - In the **Target field** dropdown box `NAME` should also be selected
182 |
183 | { width=30% }
184 |
185 | - Click **OK** on the **Add Vector Join** window and also in the **Layer Properties** window
186 | - Open **Attribute Table** of `world_countries` and you will see that a new field (named `pop2015_POP2015`) has been added to the Attribute table! Please ask for help if this is not the case.
187 |
188 | The join that we have made is not permanent; it is a temporary link between the two datasets. To make the Join permanent we need to save a new copy of the `world_countries` layer.
189 |
190 | - Right-click `world_countries` and click on **Export > Save Features As...**.
191 | - In the **Save Vector Layer as** window make sure that the following variables are selected:
192 | - **Format** is ESRI Shapefile
193 | - Save the new layer as `world_countries_updated` in the `prac1` folder (click **Browse** { height=20 } to select the folder and enter the filename)
194 | - Leave all other fields as they are
195 | - Click **OK** and the new layer will be added to the map. Open the attribute table to check that the new field (shortened to `pop2015_PO`) is present.
196 |
197 | - Right-click `world_countries` and select **Remove Layer**
198 | - If you like, **Save** your project.
199 |
200 | ## Adding new fields and calculating values
201 |
202 | We will now add a new field to the attribute table and calculate some values (the change in population between 2005 and 2015) using a simple mathematical operation. This can be useful when you want to create new data or undertake some analyses.
203 |
204 | - Open **Attribute Table** of `world_countries_updated`
205 | - Click on the **Toggle Editing** { height=20 } button
206 |
207 | { width=90% }
208 |
209 |
210 | - Click on **New field** { height=20 } button
211 | - - Set **Name** to `POP_DIFF`
212 | - - Leave **Comment** blank
213 | - - Set **Type** to `Integer (32-bit))`, change **Length** to `10`.
214 | - Click **OK**
215 |
216 | You will see that the new field contains values, by default, as *NULL*. We now need to populate this new field (column) with some data.
217 |
218 | - Click on the **Open field calculator** { height=20 } button and the Field Calculator window will open. It is here that we can undertake many types of mathematical calculations
219 | - Check the checkbox next to **Update existing field** { height=20 } and select the field named `POP_DIFF` from the dropdown box
220 | - Under the list in the centre, click on the expand arrow  next to **Fields and Values**
221 | - Double-click the field named `pop2015_PO` to add it to the **Expression**
222 | - Now single-click on the minus (`-`) sign and double-click on `POP2005`. Your expression should look like this:
223 | - `"pop2015_PO" - "POP2005"`
224 | - *(notice how the expression builder puts in the double quote marks for you)*
225 | - Click **OK** to run the calculation and the `POP_DIFF` field will populate with the calculated values (the first few values should be 9 (Antigua and Barbados), 6399 (Algeria) and 1191 (Azerbaijan), ask if this is not the case)
226 | - Finally, click on the **Toggle editing ** { height=20 } button and choose **Save** when prompted. Close the attribute table
227 | - **Save** { height=20 } your project.
228 |
229 | By the time you get to this section, we should have completed the 'Classification' discussion and talked about class boundaries and colours. If we haven't yet, please let me know that you have reached this point.
230 |
231 | ## Classifying population change
232 |
233 | Now we have calculated the change in population between 2005 and 2015, we need to display it on the map.
234 |
235 | - Open the **Layer Properties** window and the **Symbology** { height=20 } tab of the `world_countries_updated` layer.
236 | - Where the option says **Single symbol** at the top, change this to **Graduated**.
237 | - Select the `POP_DIFF` field from the **Value** list.
238 | - The click **Classify**, you will see the 5 classes for this data set appear in the window.
239 | - Click **OK**, and QGIS will update the map.
240 |
241 | Now we have a map of population change. However, there are various things wrong with it. What are they? Have a think, and then chat to your neighbour to see what they think might be wrong.
242 | There are a number of things you can change to alter the classification:
243 |
244 | 1. Try changing the classification method, the default is **Equal Interval**. How do the different methods change the classification of the data. Which is "right"?
245 | 2. Try changing the number of classes.
246 | 3. Try changing the colours used - how does this impact the message of the map? (ColorBrewer can be accessed through **Color ramp > Create New Color Ramp > Catalog: ColorBrewer**).
247 | 4. Try changing the class boundaries - use the **Histogram** tool in QGIS, click **Load Values** to show the histogram.
248 | 5. Can you use a diverging colour scheme to show increases or decreases in a different colour?
249 |
250 | Once you have finished, remember to save your QGIS Project.
251 |
252 | ## Optional exercises
253 |
254 | **Classifying % population change**
255 |
256 | What else might be wrong with the data we have calculated?
257 |
258 | Currently we are comparing the increase in numbers of people between 2005 and 2015 in each country. It might make more sense to compare the % increase. Calculate this and then show this on a map. Why is this a more logical way of representing this data?
259 |
260 | **Adding a basemap**
261 |
262 | We have the option of adding a base map to the data we have in QGIS. We can do this through XYZ Tiles (within the Browser panel).
263 |
264 | We can also add Google Maps imagery to this as well (although this is not officially supported, and may break).
265 |
266 | - In the Browser window, right-click on **XYZ Tiles** and choose **New Connection...**
267 | - In Name type `Google Maps`
268 | - In URL paste in `http://mt0.google.com/vt/lyrs=y&hl=en&x={x}&y={y}&z={z}&s=Ga` *(or copy and paste from the workbook)*
269 |
270 | An alternative option is to use a plugin called QuickMapServices. To install it, click **Plugins > Manage and Install Plugins.**. Search for `QuickMapServices`. Then select the plugin and click **Install Plugin**. Once installed, try **Web > QuickMapServices > OSM > OSM Standard** to begin.
271 |
272 | ----
273 |
274 | \newpage
275 |
276 |
277 | # Practical 2: Making a Map
278 |
279 | | **Learning outcomes:** |
280 | |---|
281 | | Understand how to design and produce a publication-ready map in QGIS |
282 | | Be able to add maps, scale bar, legends and labels to a map |
283 | | Know why scale is important in map design |
284 | | Know how to save and export maps as PDFs or images |
285 |
286 | This practical focuses on aspects of map design and symbolisation in QGIS. In particular, it will build upon the skills from the previous practical to look at how QGIS can be used to produce maps that can be easily printed. QGIS has a powerful tool called Print Layout that allows you to view your GIS layers and create maps. An example map is provided at the end of this handout.
287 |
288 | We will create the map from scratch and add elements such as north arrow, legends and scale bars. Let's get started! Remember to **Save** { height=20 } your work as you go.
289 |
290 | ## Getting and setting up the data
291 |
292 | - Download the `prac2.zip` data file.
293 | - Extract the files to somewhere you can find in the future.
294 | - Open a new, blank project in QGIS.
295 | - We now need to add our data layers to the map.
296 | - To add our data to the map we need to use the **Open Data Source Manager** { height=20 }.
297 | - Select **GeoPackage** { height=20 } on the left.
298 | - Click **New** and then select the `prac2-data.gpkg` file.
299 | - Make sure that `prac2-data.gpkg` is selected in the list and click **Connect**.
300 | - Select the `LSOA-IMD-2019-Southern` layer and choose **Add**. Then choose **Close**.
301 |
302 | This shows the data very well, but it isn't that obvious where the data is, particularly if you zoom in. We can add a base map to this.
303 |
304 | - In the browser window in the top left, expand **XYZ Tiles**.
305 | - Double click on **OpenStreetMap**. This will add a basemap to QGIS.
306 | - You may need to re-order the layers if the basemap is at the top.
307 |
308 | ----
309 |
310 | *If this doesn't work, try this approach:*
311 |
312 | *If you need to install the **QuickMapServices** plugin:*
313 | - *Click **Plugins > Manage and Install Plugins...** *
314 | - *Type `quick` in the search bar at the top, and select **QuickMapServices** from the list below. *
315 | - *Choose **Install Plugin**. *
316 | - *Close the **Plugins** window.*
317 | - *Choose **Web > QuickMapServcies > OSM > OSM Standard**. This will add an OSM (OpenStreetMap) basemap.*
318 |
319 | ----
320 |
321 | - Zoom in somewhere where you can see the base map. It will add in more detail as you zoom in.
322 | - When you have finished looking at the map, right-click on the `LSOA-IMD-2019-Southern` layer and choose **Zoom to Layer** { height=20 } to return to our IMD data.
323 | - Right click on the `LSOA-IMD-2019-Southern` layer and choose **Properties > Symbology**.
324 | - Change the **Opacity** to **50%**.
325 | - If you can't see it, click **Change..** next to **Symbol**. Alter the **Opacity** option to **50%**.
326 | - Choose **OK** and **OK**.
327 |
328 | Now we can see the base map through the IMD data. You may have to experiment with different values of opacity to be able to see both easily.
329 |
330 | The default colours for the IMD data aren't that great, but fortunately we have a Style file, created by Alasdair Rae (see https://www.sheffield.ac.uk/usp/research/projects/english-indices-deprivation-2019 for more details).
331 |
332 | - Right click on the `LSOA-IMD-2019-Southern` layer, choose **Properties > Symbology**.
333 | - At the bottom of the **Symbology** window choose { height=20 } **Style > Load Style...**.
334 | - In the **Database Styles Manager** window, under **Load style** choose **From File** and then click the Browse { height=20 } button and select the `prac2-imd-d-style.qml` file.
335 | - Your window should look similar to this:
336 |
337 |
338 | { width=30% }
339 |
340 | - Click **Load Style** and **OK**. This will load the colours for our IMD Decile layer.
341 |
342 | We can also add some outlines for the Local Authority Districts.
343 |
344 |
345 |
346 | - Add in the `Local_Authority_Districts_April_2019_Boundaries_Southern` layer from the same geopackage as we used earlier.
347 | - If you get the **Transformation** window again, just click OK.
348 | - Open the **Symbology** window.
349 | - Select the **Simple fill** option near the top of the window, and the details below should change.
350 | - Set **Fill Style** to **No Brush** (see screenshot below).
351 | - Choose **OK**.
352 |
353 | { width=60% }
354 |
355 | - Open the Local Authority layer **Properties** again and this time choose **Labels** { height=20 }
356 | - Change **No Labels** to **Single Labels**.
357 | - Set **Value** to `lad19nm` and choose **OK**.
358 | - *If nothing appears, make sure you have selected `lad19nm`*.
359 |
360 | This adds the Local Authority boundaries to give us some context for the IMD data.
361 |
362 | **Optional Exercise**
363 |
364 | Try experimenting with adjusting the transparency off - which do you think looks better?
365 |
366 | ## Creating the map layout
367 |
368 | Now we are going to start constructing the map. Have a look at the example at the end of the handout to see what we are aiming to create. You don't have to stick to the design, feel free to adjust and change things as you see fit.
369 |
370 | - Centre the map display in the main QGIS window. Make sure you can see Winchester and Isle of Wight clearly.
371 | - Click **Project > New Print Layout...** and click **OK**.
372 | - The **Print Layout** window will now open with a blank page.
373 | - We are aiming to create a map like the one attached to the back of this workbook, so we need our page to be landscape. Right-click on the blank piece of paper and choose **Page Properties...**.
374 | - Make sure **Orientation** is set to `Landscape`.
375 | - Click the **Add Map** button { height=20 }
376 | - Draw a box about the appropriate size on the left hand side of the page. It should look something like this:
377 |
378 | { width=60% }
379 |
380 | As long as the box is in about the right place, we can tweak the position and size later on.
381 |
382 | - Your page might be a bit small. Use the **Zoom Full** tool { height=20 } to zoom in to the page as far as possible.
383 | - We need to make the labels a bit clearer. Go back from the Layout window to the main QGIS window, and open the **Symbology** window for the `Local_Authority_Districts_April_2019_Boundaries_Southern` layer.
384 | - Go to **Labels > Buffer** and select **Draw text buffer**. Click **OK**. *See how the labels have a white 'halo' around them now?*
385 |
386 | { width=90% }
387 |
388 | - Go back to the **Layout** window.
389 | - Make sure you have the map selected (using the **Select/Move Item** tool { height=20}) and click the "Refresh" button { height=20}.
390 | - This is a very common way to adjust the map and you will do this a lot.
391 | - You might also need to adjust the scale to get the map looking right. I had a value of around `740000` in the scale box. To adjust, type a number in and press Enter.
392 | - You can also move the map around with the map window using the **Move item content** tool { height=20}
393 | - When you have finished moving the map content around, make sure you go back to the **Select/Move Item** tool { height=20}
394 | - Once you are happy with this bit, select the **Lock layers** and **Lock styles for layers** buttons. This will stop the visible layers and style changing when we alter it for a different map.
395 | { width=40% }
396 | - Remember to **Save** { height=20} your map regularly.
397 |
398 | Now we are going to add the main map for Isle of Wight.
399 |
400 | - Go back to the main **QGIS** window and zoom in on the Isle of Wight.
401 | - Then go back to the **Layout** window and add a new map on the top-left of the page using { height=20}.
402 |
403 | *What do you think of this so far?*
404 |
405 | - This is ok, but it would be better to make the Isle of Wight stand out a bit more. We are going to extract the Local Authority outline for just the Isle of Wight, and use this on our map of the Isle of Wight.
406 |
407 | - Go back to the main QGIS window.
408 | - Make sure you have the Local Authorities layer selected in the Layers window.
409 | - Use the **Select Features** tool { height=20} to select the Isle of Wight.
410 | - Once the Isle of Wight is yellow, right-click on the Local Authorities layer and choose **Export > Save Selected Features As...**
411 | - Make sure **Format** is set to **GeoPackage**.
412 | - Click **Browse** { height=20 } and select the `prac2-data.gpkg` we have been using already by clicking **Save**.
413 | - Set **Layer Name** to `LA-Isle-of-Wight` and click **OK**.
414 | - Click the **Deselect Features** { height=20 } so we don't have anything selected any more.
415 | - We are going to copy the style from the main LA layer to the new one we have just created.
416 | - Right-click on the `Local_Authority_Districts_April_2019_Boundaries_Southern` layer and choose **Style > Copy Style > All Style Categories**.
417 | - Right-click on the `prac2-data — LA-Isle-of-Wight` layer, choose **Style > Paste Style > All Style Categories**.
418 | - Turn off the `Local_Authority_Districts_April_2019_Boundaries_Southern` layer.
419 | - Go back to the layout window, make sure the Isle of Wight map is selected, and click **Refresh** { height=20}.
420 | - If it doesn't look quite right, try experimenting with some other options. If you are happy with it, select the **Lock layers** and **Lock styles for layers** options.
421 |
422 | *The **Copy Style** and **Paste Style** functions copy the style information to the clipboard, just like any other copy and paste function. You can paste the style information into Notepad if you want to have a look at it. It is in XML, and you can pick out the information, e.g. `` is the outline colour in RGB, 0-255, very very dark grey, not quite black.*
423 |
424 | *The map is starting to come together now!*
425 |
426 | Have a go at following the same steps as we did for the Isle of Wight for the **Winchester** local authority, and add this map to the top-right corner of the page.
427 |
428 | - The final step is to add some of the additional map marginalia (extra bits like the legend, scale etc.).
429 | - Make sure you are in the **Layout** window.
430 | - Choose **Add Item > Add Legend**. Click in the lower-right area of the map. You may need to click **OK**.
431 | - By default the legend includes all of the visible layers, and will automatically update if we change the layers.
432 | - In the **Item Properties** window, under **Legend Items** untick **Auto update**.
433 | - Select the `prac2-data — LA-Isle-of-Wight` layer and click the minus { height=20 } button to remove it.
434 | - Repeat this for the `prac2-data — LA-Winchester` layer.
435 | - Select the `Local_Authority_Districts_April_2019_Boundaries_Southern` layer and choose the **Edit Item** { height=20 } button. Change the label to `Local Authority boundaries`.
436 | - Repeat the same process to update the colours to `1 More deprived` and `10 Less deprived`.
437 | - Replace the title of `LSOA-IMD-2019-Southern` with `IMD Deprivation Decile`.
438 | - Remove the `OpenStreetMap` entry.
439 | - Move the legend to fit in the gap on the page.
440 | - Click **Add Item > Add Scale Bar** and then click in the remaining gap. You may have to click **OK** again.
441 | - We have to pick which map the scale bar refers to, and make sure that it is clear on the map. Each map will have a number (Map 1, Map 2 and Map 3) and we need to make sure that the scale bar is referring to the correct map. I chose Map 1, the larger, area map at the bottom.
442 | - In the Scalebar settings, set **Segments** to `right 5` and **Fixed width** to `5 units`. It should automatically default to `km`.
443 | - The IMD data is made available under the Open Government license (http://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/) so we need to include an acknowledgement on our map.
444 | - Click **Add Item > Add Label** and click in the empty space. Type in these details:
445 | - `MHCLD, 2019. Contains National Statistics data © Crown copyright and database right 2020.` *You can copy and paste the copyright symbol from the Wikipedia copyright symbol page!*
446 | - Click **Font** and change the font size down to 8 or 9.
447 |
448 | There is a lot more we could do with this map - have an experiment with the options and see what you can find.
449 |
450 | *Map design is often quite subjective and there is not necessarily a **best** map design, so try different options and see what you think about them.*
451 |
452 | To export a copy of your map:
453 |
454 | - Go to **Project > Layout as PDF**, choose a location and a filename to save your map.
455 | - Open up your PDF map to see what it looks like!
456 |
457 | ----
458 |
459 | \newpage
460 |
461 | # Practical 2b: Creating Data
462 |
463 | | **Learning outcomes:** |
464 | |---|
465 | | Be able to work with a range of different data sources |
466 | | Understand and be able to load XY coordinate data and postcode data into QGIS |
467 |
468 | ## Data with coordinates
469 |
470 | In practical 1 we added some world city data using latitude and longitude, but it is worth recapping this as it is something you are likely to need to do frequently. In this practical we are going to add some location data for UK football stadiums, with coordinates in the British National Grid system (Eastings and Northings).
471 |
472 | - Go to https://www.doogal.co.uk and click **Map data > UK football stadiums**.
473 | - Click **Download** and choose **Data in CSV**.
474 | - Save this CSV file somewhere you can find it.
475 | - Open the file in Excel and have a look at the data. Key bits are the **Name**, **Latitude**, **Longitude** and **Easting** & **Northing**.
476 | - Close the Excel file, and open **QGIS**.
477 |
478 | - Click **Layer > Add Layer > Add Delimited Text Layer...** and click **Browse** { height=20 }.
479 | - Select the `stadiums.csv` file.
480 | - You should see the different columns appear at the bottom of the window.
481 | - Make sure that **File format** is set to `CSV` and **Geometry Definition** is set to `Point coordinates`.
482 | - You may need to expand **Geometry Definition**.
483 |
484 | Now we have a choice - we can use the **Easting** & **Northing** fields (which are in British National Grid, `EPSG:27700 - OSGB / British National Grid`) or the **Latitude** & **Longitude** fields (which are in `EPSG:4326 - WGS 84`). This time we are going to use British National Grid.
485 |
486 | - Check that **X** field is set to `Easting` and **Y** field is set to `Northing` *(remember that the X-axis goes "a-cross", or left/right, east/west, so we need Easting here)*.
487 | - Make sure that **Geometry CRS** is set to `EPSG:27700 - OSGB / British National Grid`. If it is not in the drop down list, click **Select CRS** { height=20 } and search for `27700` in here.
488 | - Click **Add**, and **Close**.
489 |
490 | - This should show the football stadiums. To check they are in the correct place, add the OSM Basemap we used previously (*XYZ Tiles > OpenStreetMap or Web > QuickMapServices > OSM > OSM Standard*).
491 |
492 | ## Data with postcodes (cloud-based)
493 |
494 | In the session today we showed you how to plot data with XY coordinate data. We used the world-cities data which had coordinates in latitude-longitude and we used the Add XY data tool in QGIS to turn the coordinates into spatial data and to add them to the GIS project.
495 |
496 | What if we have some UK postcodes data like the list shown below? How do we get that into QGIS?
497 |
498 | M45 7SQ
499 | NR7 8EX
500 | GL12 7JU
501 |
502 | There are a couple of ways of doing this. The first one is using a website called www.doogal.co.uk which will geocode the addresses we have. Geocoding takes text based information (a postcode in this case), and returns a set of coordinates. We can then use the coordinates to add these data to our GIS.
503 |
504 | - Open the `postcode-input-file.csv` file from `prac2.zip` and have a look at the data.
505 | - Go to `https://www.doogal.co.uk/BatchGeocoding.php`
506 | - Copy and paste the text from `Postcode` column into the 'Postcodes' box on the webpage
507 | - Hit **Geocode**
508 |
509 |
512 |
513 | - Wait a short time while the geocoding takes place
514 | - When it finishes, check the map to see that some icons have appeared on it.
515 | - Click on the **Text** tab to file the data with coordinates.
516 | - Click **'Download text'**
517 | - Save the file (`locations.csv`) somewhere you can find it later
518 |
519 |
520 | **Things to remember:**
521 |
522 | - There must not be any quote marks (`"`) in the addresses
523 | - Always check the output - not all of the geocoding may be successful
524 |
525 | The next step is to add the data to QGIS.
526 |
527 | - Open **QGIS**
528 | - Click **Layer > Add Layer > Add Delimited Text Layer...** and click **Browse** { height=20 }.
529 | - Select the `locations` file.
530 | - Make sure that **File format** is set to `CSV` and **Geometry Definition** is set to `Point coordinates`.
531 | - Again, we can choose British National Grid, or Latitude Longitude.
532 | - Check that **X** field is set to `Easting` and **Y** field is set to `Northing`
533 | - Make sure that **Geometry CRS** is set to `EPSG:27700 - OSGB / British National Grid`. If it is not in the drop down list, click **Select CRS** { height=20 } and search for `27700` in here.
534 | - Click **Add**, and **Close**.
535 |
536 | { width=60% }
537 |
538 |
539 | - Click **OK**
540 |
541 | - Check the data - do they look sensible for the addresses? *(You may need to add some base map data)*
542 |
543 |
544 | ## Data with postcodes (non-cloud-based)
545 |
546 |
547 | It may be that you don't want to share your data with another website, or you have too many rows for the Doogal website. If you don't, there is another option.
548 |
549 |
550 |
551 |
552 | You can download the Code-Point Open dataset from Ordnance Survey at https://osdatahub.os.uk/downloads/open. This is a list of all the postcode centroids in GB.
553 |
554 | The CSV version contains a CSV file for each postcode area (e.g. `TR`) and within this file is each postcode unit (e.g. `TR1 1AA`) and the coordinates for that postcode unit. You can join this to your list of postcodes in QGIS, and use that to plot the data.
555 |
556 | The GeoPackage version is much much larger, but contains all the data in one geopackage layer, so if you have data across more than one postcode area, you can geocode the data all in one go.
557 |
558 |
559 | ----
560 |
561 | *This practical was written using QGIS 3.40 on Windows 11, last updated on 06/03/2025 by Dr Nick Bearman, [nick@nickbearman.com](mailto:nick@nickbearman.com). Thanks to Chris Bell for providing the geocoding resource at https://www.doogal.co.uk.*
562 |
563 | This work (Introduction to QGIS: Spatial Data and Spatial Analysis by Nick Bearman) is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/4.0/. 


564 |
565 |
566 | The latest version of the PDF is available from https://github.com/nickbearman/intro-qgis-spatial-data. This is v6.2 and this was created on `r format(Sys.time(), '%d %B %Y')`.
567 |
568 |
569 |
570 |
571 | { width=100% }
572 |
--------------------------------------------------------------------------------
/workbook-p3-p4-short-version.Rmd:
--------------------------------------------------------------------------------
1 | ---
2 | title: 'Introduction to QGIS: Spatial Data and Spatial Analysis'
3 | output:
4 | pdf_document: default
5 | html_document:
6 | df_print: paged
7 | date: 'Practicals 3 & 4: Tue 23rd July 2024'
8 | ---
9 |
10 | # Practical 3: Greenspace Access Points
11 |
12 | | **Learning outcomes:** |
13 | |---|
14 | | Know how to download data from Ordnance Survey Open Data |
15 | | Be able to complete point in polygon analysis in QGIS |
16 | | Understand how to create graphs in QGIS |
17 |
18 | *See here https://youtu.be/HbZiZOsHD8A for a video if you want to follow along.*
19 |
20 | I have done some preparatory work for you already with this data. Download the `prac3-data.zip` file and extract the `prac3-data.gpkg` file from it.
21 |
22 | - Open **QGIS** and start a new project.
23 | - In the browser window on the top-left, right click on { height=20 } and choose `New Connection...`.
24 | - Browser to the `prac3-data.gpkg` file you extracted earlier, select it and choose **Open**.
25 | - Expand the **Geopackage** item and then the `prac3-data.gpkg` file and your **Browser** window should look like this:
26 |
27 | { width=40% }
28 |
29 | - Add the
30 | `LA-IMD-pop` layer by double clicking on it.
31 |
32 | This will add a polygon layer of some local authorities in southern England. Explore the data a bit, and add a base map if you like.
33 |
34 | - Open the **Attribute Table** and see what columns of data there are. There are various measures of IMD (`IMD_IMD - Average score` being the most useful) and some population data (`Pop2019`).
35 |
36 | We will be making use of this data later on in our analysis.
37 |
38 | - Close the **Attribute Table**.
39 |
40 | ## Point in Polygon Analysis
41 |
42 | Using our Local Authority datasets, we are going to complete some calculations on Greenspace access and area.
43 |
44 | - Do a Google search for `os open data`.
45 | - **Free OS OpenData Map Downloads - OS Data Hub** should be the first hit - go to this page. The web address is https://osdatahub.os.uk/downloads/open.
46 | - Search (or scroll down) to find **OS Open Greenspace** and click the link.
47 | - Choose **Set a custom area:**
48 | - Click on the **SU** entry on the map of the British Isles to select the SU tile of data and click **Save selection**.
49 | - Set the **Data format:** to `ESRI Shapefile`.
50 | - Click the link **OS Open Greenspace - ESRI® Shapefile SU (2.34 MB)** to download.
51 | - Unzip the data and have a look at the files
52 | - In the `data` folder there should be two shape files `SU_AccessPoint.shp` and `SU_GreenspaceSite.shp`.
53 |
54 |
55 |
56 | - Select from the menu **Layer > Add Layer > Add Vector Layer** { height=20 }.
57 | - **Browse** { height=20 } to the `SU_AccessPoint.shp` file and add it.
58 | - Pan to the Winchester local authority (try labelling them as we did with the World Cities yesterday if you need to).
59 | - Each of the dots is an access to an area of greenspace. Try using the **Identify Features** tool { height=20 } to see what information we have about each access point.
60 | - Zoom in and have a look at the points. It may be useful to add the OSM Basemap layer, like we did yesterday.
61 |
62 |
63 | By default, the OSM Standard basemap uses the WGS84 / Pseudo Mercator projection. Most of the data we will be using will be in British National Grid. QGIS will automatically re-project GIS data if it knows what the coordinate system is. QGIS has a 'Project CRS' which is what the data are shown in the main window. Depending on your settings, this may be set to **EPSG:3857** (WGS 84 / Pseudo Mercator) or **EPSG:4326** (WGS 84) or **EPSG:27700** (British National Grid).
64 |
65 | - If the CRS symbol { height=20 } at the bottom right hand side of the QGIS window says **EPSG:3857** or **EPSG:4326**, click on it.
66 | - Type `27700` in the **Filter** box and select **OSGB 1936 / British National Grid** - **EPSG:27700**.
67 | - Click **OK**. Now QGIS will re-project everything to British National Grid (27700).
68 |
69 | Now we are going to group the data within each Local Authority. First, we will use **Point-in-Polygon** analysis to count how access points to greenspace there are in each Local Authority polygon.
70 |
71 | - Click **Processing > Toolbox**.
72 | - Type `count points` in the search box.
73 | - Double-click **Vector analysis > Count points in polygons**.
74 | - Set **Polygons** to your Local Authority districts layer *(which should have IMD and population data in it).*
75 | - Set **Points** to `SU_AccessPoint`.
76 | - Click **Run**.
77 | - This has created a new layer called `Count` with a new column called `NUMPOINTS` at the far right hand end of the attribute table.
78 | - Some of the rows in this layer will have points in - remember, the SU grid square doesn't cover all of the local authorities, so some will be blank and some will be incomplete.
79 | - You can sort the `NUMPOINTS` column by clicking on the column header. It will sort it first ascending, then if you click again, descending. *Note there are some entries with a 0 value in them. These are the local authorities outside the SU grid square.*
80 | - If the calculation has worked, save this as a new GeoPackage layer, by right-clicking on the layer and choosing **Export > Save Features As...**.
81 | - Remember to choose the GeoPackage file name and a suitable name for the layer name:
82 |
83 | { width=50% }
84 |
85 | Have a go at symbolising this data.
86 |
87 | We can also use some of the graphing options within QGIS to explore this data.
88 |
89 | - Click **Plugins > Manage and Install Plugins**
90 | - Search for **Data Plotly**
91 | - Click **Install Plugin**.
92 | - Click **Close**.
93 | - Click the Plotly icon { height=20 }, probably at the right hand end of the icons.
94 | - *If you can't find the icon, make sure the entry under **View > Toolbars > Plugins Toolbar** is ticked.*
95 | - If it opens a tiny window in the bottom left hand corner, drag the window to the middle of the screen and make it bigger.
96 | - Make sure **Plot type** is set to `Scatter Plot`.
97 | - Set **Layer** to `LA-IMD-pop-count` (or `Count` if you didn't save your new layer).
98 | - Set **X field** to `NUMPOINTS`.
99 | - Set **Y field** to `IMD_IMD - Average score`.
100 | - Choose **Create Plot** *it might take a few seconds to run*.
101 |
102 | *If `IMD_IMD - Average score` isn't visible, you may have not done a join correctly earlier on. Try a different field, and try re-doing the join.*
103 | If you end up with multiple sets of points on your plot, you can use the { height=20 } button on the main Plotly page { height=20 } to clear the plot and start again.
104 |
105 | Is there any sort of relationship in this data?
106 |
107 | What might be a better calculation is to look at number of greenspace access points per population, so we can correct for the fact that some local authorities have bigger populations than others.
108 |
109 | - Close the DataPlotly plot.
110 | - Open the attribute table for the layer we are using and click the Editing icon { height=20 }.
111 | - Click **New Field** ({ height=20 })
112 | - Set **Name** to `GreenAccessPerPop`
113 | - Set **Type** to `Decimal number (real)`
114 | - Click **OK**.
115 | - Click **Field Calculator** { height=20 }.
116 | - Choose **Update existing field** and set to `GreenAccessPerPop`.
117 | - Expand **Fields and Values** and double click `NUMPOINTS`.
118 | - Click **Divide** `/`
119 | - Double-click our **Pop2019** field. *Expand the section of the window if you need to*.
120 | - Click **Multiply** `*` and type in `1000`. This will then calculate the number of greenspace access points per 1000 people.
121 | - The Expression box should contain something like this:
122 | ` "NUMPOINTS" / "Pop2019" * 1000 `.
123 | - It should give you a preview value for **Arun** of `1.275`.
124 | - Click **OK**.
125 | - Save the data.
126 |
127 |
128 | Try symbolising this data and/or graphing the data - do you see any patterns here?
129 |
130 | \newpage
131 |
132 |
133 | # Practical 4: Spatial Overlays - Greenspace and Local Authorities
134 |
135 | | **Learning outcomes:** |
136 | |---|
137 | | Be able to perform a polygon polygon overlay |
138 | | Critique the analysis process we have undertaken |
139 |
140 | This is a lighter touch practical. You will need to work out some of the steps for yourself!
141 |
142 | ## Polygon polygon overlay
143 |
144 | We will be combining the layers using the Union tool, and we need to do some preparation for this.
145 |
146 | - Open up your project file from the previous practical, and save it as a new file (e.g. `prac4-NB-v1.qgz`).
147 | - Add the `SU_GreenspaceSite.shp` to our project. Now is also a good time to remove any layers we don't need, for example many of the Excel datasets we joined.
148 | - It is always good practice to work on a copy of your data, so take a copy of our geopackage from the previous practical (by copying it in Windows Explorer / My Computer / Finder) and save it in the `prac4` folder. I have called mine `prac4-data.gpkg`.
149 | - Then add your new GeoPackage to QGIS.
150 | - Then we can add the greenspace area data to this prac4-data.gpkg geopackage.
151 | - To do this, right click on the layer (`SU_GreenspaceSite`), choose **Export > Save Features As**.
152 | - Select the `prac4-data.gpkg` geopackage.
153 | - Call the layer `SU_GreenspaceSite` and choose **OK**.
154 | - It will appear as `prac4-data — SU_GreenspaceSite`.
155 |
156 | The greenspace layer and the LA layer don't cover the same area, so we need to remove the local authorities for which we don't have complete greenspace data.
157 |
158 | There are various ways of doing this - the easiest is manually!
159 |
160 | - Save the local authorities layer (which should already have the IMD and population data in it) into our `prac4-data` geopackage using the same method as above. Call it `lad-imd-pop-SUgreenspace`.
161 | - Remove the `prac3-data lad-imd-pop-SUgreenspace` layer, so we only have one local authority layer.
162 | - Select the `prac4-data lad-imd-pop-SUgreenspace` layer and start editing { height=20 }.
163 | - Use the **Select Features** { height=20 } tool to pick one of the local authorities for which we do not have complete greenspace data. It should go yellow, with a red outline.
164 | - Use the `Delete` key on the keyboard to delete this polygon.
165 | - Repeat this for each of the local authorities poking out of the greenspace data. You should end up with something like this:
166 |
167 | { width=60% }
168 |
169 | - We also need to do one final bit of preparation on the local authority data - calculate and add the area to the attribute table.
170 | - Open the attribute table for the `prac4-lad-imd-pop-SUgreenspace` layer.
171 | - Turn on **Editing** { height=20 } and click **Add Field** ({ height=20 }).
172 | - Set the **Name** to `LAarea`.
173 | - Set **Type** to `Decimal number (real)`.
174 | - If you have the option, set **Length** to `10` and **Precision** to `4`. *If you don't have these options, that is fine.*
175 | - Click **OK**.
176 | - Click **Field Calculator** ({ height=20 }).
177 | - Choose **Update existing field** and set to `LAarea`.
178 | - Expand **Geometry** and double-click `$area`. This will add the area in square meters (as our coordinate system is BNG).
179 | - This should come out (as a preview) at `634273160` (m) for Basingstoke and Deane.
180 | - Add `/ 10000` to our expression to divide this by 10,000, to get 63,427 hectares.
181 | - Click **OK** to apply the calculation across all the rows.
182 |
183 | - Make sure to turn Editing off { height=20 } and save your edits.
184 |
185 | - In the `prac4-data — GreenspaceSite` layer add a new column called `greenspace`.
186 | - Use **New Field** { height=20 } and set the data type to **Integer (32 bit)**.
187 | - Then use **Field Calculator** { height=20 } to set all the entries in this column to `1`.
188 | - Find and open the **Union** tool in the **Processing Toolbox**.
189 | - Set the **Input layer** to `prac4-data lad-imd-pop-SUgreenspace` (our local authority data).
190 | - Set the **Overlay layer** to `prac4-data SU_GreenspaceSite` (the greenspace site layer).
191 | - Click **Run**, it may take a minute or two to run. Watch the progress bar, and while you wait, review the flowchart on the slides and make sure you know what output you are expecting (or have a short break!).
192 |
193 | - Open the attribute table of the layer we have just created (`Union`).
194 |
195 | Now we have an attribute table split by Local Authority and greenspace. Within each Local Authority we have one polygon that is non greenspace (where the `greenspace` value is NULL) and one or more polygons that are greenspace (where the `greenspace` value is `1`). The next step is to calculate the area for each polygon.
196 |
197 | *We do have quite a few completely blank rows (with greenspace data but no Local Authority data). These are the greenspace areas that are outside our local authority data. Try selecting one and using the Zoom To function.*
198 |
199 | - Save this as a new layer called `greenspace-LAs`. You will get this error message if you save it in a GeoPackage:
200 |
201 | { width=40% }
202 |
203 | *It won't save in the geopackage (because `fid` is not unique, one of the requirements). We could save it as an ESRI Shapefile which will be fine. The better way is to remove and recalculate the `fid` field, which will then be unique, so we can save it in a geopakcage.*
204 |
205 | - Open the Attribute Table for the `Union` layer and delete the `fid` field. Then try saving again.
206 | _ You might then also get this error:
207 |
208 | { width=50% }
209 |
210 | - This is saying this layer already exists in the geopackage (as we saved it earlier, but it didn't save properly because of the error). Click **Overwrite Layer** to overwrite this with the new (correct) layer.
211 | - **Be careful because you could overwrite the whole geopackage!**
212 |
213 | Now we can merge the polygons so we have a dataset that lists each Local Authority area twice, once with greenspace and once without.
214 |
215 | - Make sure everything is de-selected (by clicking { height=20 })
216 | - Use the **Dissolve** tool from **Processing Toolbox** (under **Vector geometry**).
217 | - Set **Input** to `greenspace-LAs`.
218 | - Click the Browse { height=20 } button next to **Dissolve field(s)**.
219 | - Select `lad19cd` and `greenspace`. Choose **OK**.
220 | - Click **Run**.
221 | - Look at the new layer, `Dissolved`. Has it done what we wanted it to?
222 | - Save as `dissolved-greenspace-LAs`.
223 | - Open the attribute table and use **Select features using an expression** { height=20 } to select the rows where `greenspace = 1`.
224 | - Save this as a new layer `dissolved-greenspace-LAs-single` using **Save Selected Features As...**.
225 |
226 | - Open the attribute table for the `dissolved-greenspace-LAs` layer.
227 | - Turn on **Editing** { height=20 } and click **Add Field** ({ height=20 }).
228 | - Set the **Name** to `greenspace-area`.
229 | - Set **Type** to `Decimal number (real)`.
230 | - Set **Length** to `10` and **Prevision** to `4` *if you have them*.
231 | - Click **OK**.
232 | - Click **Field Calculator** ({ height=20 }).
233 | - Choose **Update existing field** and set to `greenspace-area`.
234 | - Expand **Geometry** and double-click `$area`. This will add the area in square meters (as our coordinate system is BNG).
235 | - Add `/ 10000` to our expression to divide this by 10,000, to get the value in hectares.
236 | - Click **OK** to apply the calculation across all the rows.
237 | - Turn Editing off.
238 |
239 | Now we have the total LA area (`LAarea`) and the greenspace area (`greenspace-area`).
240 |
241 | - Use **Field Calculator** to create a new field (`pc_greenspace`) and calculate the percentage of greenspace (`("greenspace-area" / "LAarea" ) * 100`).
242 |
243 |
244 |
245 | This gives us a nice output of the proportions of greenspace.
246 |
247 | Try creating a plotly graph with this - is there any relationship now? What about area of greenspace per thousand people?
248 |
249 | We could perform a similar process, but with the greenspace buffered. This would be a proxy for 'accessible' green space. Try buffering the greenspace data at 300m, and repeat the process.
250 |
251 |
252 |
253 |
254 | ----
255 |
256 | *This practical was written using QGIS 3.34 on Windows 11, last updated on 29/02/2024 by Dr Nick Bearman, [nick@nickbearman.com](mailto:nick@nickbearman.com)).*
257 |
258 | This work (Introduction to QGIS: Spatial Data and Spatial Analysis by Nick Bearman) is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/4.0/. 


259 |
260 |
261 | The latest version of the PDF is available from https://github.com/nickbearman/intro-qgis-spatial-data. This is v6.1 and this was created on `r format(Sys.time(), '%d %B %Y')`.
--------------------------------------------------------------------------------
/workbook-p3-p4.Rmd:
--------------------------------------------------------------------------------
1 | ---
2 | title: 'Introduction to QGIS: Spatial Data and Spatial Analysis'
3 | output:
4 | pdf_document: default
5 | html_document:
6 | df_print: default
7 | toc: TRUE
8 | toc_float: TRUE
9 | self_contained: TRUE
10 | date: 'Practicals 3 & 4: Tue 8th and Wed 9th April 2025'
11 | ---
12 |
13 |
14 | # Practical 3a: Recap of QGIS and Choropleth Maps
15 |
16 | | **Learning outcomes:** |
17 | |---|
18 | | Remember how to load data, join data and symbolise data |
19 |
20 | *If you get stuck, a video recording of me working through this practical is available on [YouTube](https://www.youtube.com/watch?v=87kLJcEIORI).*
21 |
22 | We are going to start with a quick recap of QGIS, including loading data and creating a choropleth map. Create a folder in Documents where you can save files relating to your GIS practical.
23 |
24 | We are working with the IMD (Index of Multiple Deprivation) data again, but this time at the Local Authority level.
25 |
26 | - Open **QGIS** and start a new project.
27 | - Open the **Open Data Source Manager** { height=20 }
28 |
29 | - Add the
30 | `Local_Authority_Districts_April_2019_Boundaries_Southern` layer from the `prac2-data.gpkg` geopackage we used in the previous session.
31 |
32 | - To get the IMD data for each Local Authority, go to https://www.gov.uk/government/statistics/english-indices-of-deprivation-2019 (or search for `IMD Local Authority`).
33 |
34 | - Download the entry for **File 10: local authority district summaries**.
35 |
36 |
37 |
38 | - Open this file in Excel to have a look at it. Note the different tabs along the bottom - we want to use the **IMD** tab later.
39 |
40 | - Close Excel.
41 |
42 | - In QGIS open the **Open Data Source Manager** { height=20 } and use the **Browser** option { height=20 } to browse to the Excel file you have just downloaded. *If you are lost, go to **Home > Documents** and go from there.*
43 | - Expand the `File_10_-_IoD2019_Local_Authority_District_Summaries__lower-tier__` file and double click on `IMD`.
44 | - Close the **Data Source Manager**.
45 | - Right click on both of the layers you have just added and **Open Attribute Table**.
46 | - We are going to join these two layers together using the code for each local authority - the `lad19cd` in the Local Authority Districts boundary file and the `Local Authority District code (2019)` in the IMD file.
47 | - Close both attribute tables.
48 | - Right click on the `Local_Authority_Districts_April_2019_Boundaries_Southern` layer and choose **Properties**.
49 | - Click on **Joins** { height=20 }.
50 | - Click on the plus button { height=20 } to create a new join. The **Add Vector Join** dialogue box will now open
51 | - Make sure that `IMD` is selected in the **Join layer** dropdown box
52 | - `Local Authority District code (2019)` should be selected in the **Join field** dropdown box
53 | - `lad19cd` should be selected in the **Target field** dropdown box
54 | - Click **OK** and **OK** again.
55 | - Check whether the join worked correctly by looking the in the Local Authority layer Attribute Table.
56 | - Each Local Authority should now have an **Average score** and **Average rank**.
57 | - What do these fields represent? Check the details on the website and in the Excel file if you are not sure.
58 |
59 |
60 | The join that we have made is not permanent; it is a temporary link between the two datasets. To make the Join permanent we need to save a new copy of the local authorities layer. Try this, based on what you can remember from the previous sessions. You can always go back and check the notes if you need to! Try saving this as a new GeoPackage.
61 |
62 | - Save our joined layer as a new layer in a new GeoPackage called `prac3-data.gpkg`.
63 |
64 | - Remember to choose the GeoPackage file name and the layer name:
65 |
66 | { width=40% }
67 |
68 | Now our data is in, and joined to our spatial data, we can create a choropleth map. Remember how important the classification process is - which classification method we choose can have a big impact on the map we create.
69 |
70 | - Open the **Layer Properties** window and the **Symbology** tab of the layer.
71 | - Where the option says **Single symbol** at the top, change this to **Graduated**.
72 | - Select the `IMD_IMD - Average score` field from the column drop-down list.
73 | - The click **Classify**, you will see the 5 classes for this data set appear in the window.
74 | - Click **Apply** or **OK**, and QGIS will update the map.
75 |
76 | ### Optional exercises
77 |
78 | - Try adding the football stadium data on top of the IMD data.
79 |
80 | - Try loading in the Style template that we used before `prac2-imd-d-style.qml` on to the LA-IMD layer. *Remember the option is under Properties > Symbology > Style > Load Style.... You will also need to update the column used for `Value`.*
81 |
82 | - How would you produce a map, showing both the IMD data and the football stadiums? What about showing context to people using the map can orientate themselves?
83 |
84 | *If you get to the end of the recap, and are happy with what we have covered, please carry on with the next practical. If some things are unclear, then please ask for help.*
85 |
86 | ----
87 |
88 | \newpage
89 |
90 | # Practical 3b: Joining Population Data
91 |
92 | | **Learning outcomes:** |
93 | |---|
94 | | Be able to join data from a variety of sources |
95 | | Know how to change data from one data type to another |
96 |
97 | We are now going to join some more tabular data - populations this time. We need to download some data to begin with.
98 |
99 | - Continue with your existing QGIS project.
100 | - Go to https://www.ons.gov.uk/peoplepopulationandcommunity/populationandmigration/populationestimates/datasets/populationestimatesforukenglandandwalesscotlandandnorthernireland.
101 | - We want the **Mid-2019: April 2019 local authority district codes** data. Click on the **xls (2.4 MB)** rectangle to download it.
102 | - The file is called `ukmidyearestimates20192019ladcodes.xls` and save it somewhere you can find it.
103 | - Have a look at the file we have just downloaded in Excel.
104 | - We are using the `MYE2 - Persons` sheet, and column A has the LA code in it, and column D has the total population in it.
105 | - In QGIS open the **Open Data Source Manager** { height=20 } and browse to the Excel file you have just downloaded.
106 | - Double click on the `ukmidyearestimates20192019ladcodes.xls` file and then double click on `MYE2 - Persons` to add it to QGIS.
107 | - Close the **Data Source Manager**.
108 | - Right click on the layer you just added and **Open Attribute Table**.
109 | - Again, we are going to be joining the LA codes, but QGIS has rather unhelpfully labelled the columns `Field1`, `Field2` etc., so we will need to rename these.
110 | - Also, some of the columns with numbers in, if you look carefully, some are aligned left and some are aligned right.
111 | - Close the attribute table.
112 | - Right click on the `MYE2 - Persons` layer and choose Properties. Go to the { height=20 } **Fields** option.
113 | - This list all the columns in the data set and what data types they are.
114 | - We need to update the field names and types but at the moment, editing is disabled { height=20 } because QGIS can't edit XLSX files.
115 | - Save this layer (`MYE2 - Persons`) into the geopackage you created in practical 3a ((**right-click > Export > Save Features As...**)).
116 | - *As this is only a table of data, it won't have a valid projection, so QGIS listing CRS: Invalid Projection is fine.*
117 |
118 |
119 |
120 | - Return to the **Fields** window (within **Properties**) and now we should be able to edit { height=20 } .
121 | - Click the **Edit** { height=20 } icon and change `Field1` to `LAcode` and `Field4` to `Pop2019`.
122 | - Untoggle Editing { height=20 } and choose **Save** when prompted.
123 |
124 | The `Pop2019` column contains population data, but QGIS thinks it is a String (text). QGIS then wouldn't be able to display the data, or create a choropleth map with it. We need to change the format from String (text) to Double (number).
125 |
126 | - Click **Processing > Toolbox**.
127 |
128 | *If the **Processing** option is not visible (between Mesh and Help on the menu bar at the top of the screen) you may need to enable it. Go to **Plugins > Manage and Install Plugins**. Go to **Installed** and search for **Processing**. Click **Close** and **Processing** should appear in the menu bar between Mesh and Help.*
129 |
130 | - Type `Refactor` in the search box.
131 | - Double click on **Refactor fields** *it might take a little while to load*.
132 | - Increase the size of the **Refactor Fields** window so you can see the different sections clearly.
133 | - Make sure we have our new MYE2 - Persons layer in the **Input Layer** box.
134 | - Change our **Pop2019** field from `Text (string)` to `Decimal (double)`.
135 | - Click **Run**.
136 | - *If it gives us an error message this may not be a problem - check the output.*
137 | - When it has finished running, click **Close**.
138 |
139 | This has added a new layer called **Refactored**. It has a little memory chip icon { height=20 } next to it, which means it isn't saved anywhere.
140 |
141 | - Open the Attribute Table of the **Refactored** layer to check the output. Does the **Pop2019** column have the correct data in it?
142 |
143 | - Use the **Fields** view in **Properties** to check that the **Refactored** layer now has the population data in the correct data type. Also check in the **Attribute Table** that the data look sensible.
144 | - Also use the **Fields** window to delete the extra attribute columns. We should be left with `fid`, `LAcode` and `Pop2019`. Remember to turn **Editing** off.
145 | - Right click on the layer and choose **Export > Save Features As...** and save it in our GeoPackage. This will make the layer permanent and removed the temporary layer icon.
146 |
147 | Now our layer is ready to join.
148 |
149 | - We are going to join these two layers together using the code for each local authority - the `lad19cd` in the Local Authorities boundary file and the `LAcode` in the Mid Year Estimates layer.
150 | - Right click on the `prac3-data — LA-IMD-pop-count` layer and choose **Properties**.
151 | - Click on **Joins** { height=20 }.
152 | - Click on the plus button { height=20 } to create a new join. The **Add Vector Join** dialogue box will now open
153 | - `prac3-data - refactored` should be selected in the **Join layer** dropdown box
154 | - `LAcode` should be selected in the **Join field** dropdown box
155 | - `lad19cd` should be selected in the **Target field** dropdown box
156 | - Click **OK** and **OK** again.
157 | - Check whether the join worked correctly by looking the in the Local Authority layer Attribute Table.
158 | - Each Local Authority should now have a population as well as the IMD data from earlier.
159 |
160 | The join that we have made is not permanent; it is a temporary link between the two datasets. To make the Join permanent we need to save a new copy of the local authorities layer. Try this, based on what you can remember from yesterday. You can always go back and check yesterday's notes if you need to!
161 |
162 | *We should have done the presentation on greenspace access points by the time you get to here. If you get to this point and we haven't, please let me know.*
163 |
164 | Try symbolising the different data - IMD and population on the map. What colours / classification works best?
165 |
166 | ----
167 |
168 | \newpage
169 |
170 |
171 | # Practical 3c: Greenspace Access Points
172 |
173 | | **Learning outcomes:** |
174 | |---|
175 | | Know how to download data from Ordnance Survey Open Data |
176 | | Be able to complete point in polygon anaylsis in QGIS |
177 | | Understand how to create graphs in QGIS |
178 |
179 | ## Point in polygon analysis
180 |
181 | Using our Local Authority datasets, we are going to complete some calculations on Greenspace access and area.
182 |
183 | - Do a Google search for `os open data`.
184 | - **Free OS OpenData Map Downloads - OS Data Hub** should be the first hit - go to this page. The web address is https://osdatahub.os.uk/downloads/open.
185 | - Search (or scroll down) to find **OS Open Greenspace** and click the link.
186 | - Choose **Set a custom area:**
187 | - Click on the **SU** entry on the map of the British Isles to select the SU tile of data and click **Save selection**.
188 | - Set the **Data format:** to `ESRI Shapefile`.
189 | - Click the link **OS Open Greenspace - ESRI® Shapefile SU (2.34 MB)** to download.
190 | - Unzip the data and have a look at the files
191 | - In the `data` folder there should be two shape files `SU_AccessPoint.shp` and `SU_GreenspaceSite.shp`.
192 |
193 |
194 |
195 | Now we can move to QGIS. Reopen your existing project from the previous practical (3b), and save as a new project.
196 |
197 | - Select from the menu **Layer > Add Layer > Add Vector Layer** { height=20 }.
198 | - **Browse** { height=20 } to the `SU_AccessPoint.shp` file and add it.
199 | - Pan to the Winchester local authority (try labelling them as we did previously if you need to).
200 | - Each of the dots is an access to an area of greenspace. Try using the **Identify Features** tool { height=20 } to see what information we have about each access point.
201 | - Zoom in and have a look at the points. It may be useful to add the OSM Basemap layer, like we did yesterday.
202 |
203 |
204 | By default, the OSM Standard basemap uses the WGS84 / Pseudo Mercator projection. Most of the data we will be using will be in British National Grid. QGIS will automatically re-project GIS data if it knows what the coordinate system is. QGIS has a 'Project CRS' which is what the data are shown in the main window. Depending on your settings, this may be set to **EPSG:3857** (WGS 84 / Pseudo Mercator) or **EPSG:4326** (WGS 84) or **EPSG:27700** (British National Grid).
205 |
206 | - If the CRS symbol { height=20 } at the bottom right hand side of the QGIS window says **EPSG:3857** or **EPSG:4326**, click on it.
207 | - Type `27700` in the **Filter** box and select **OSGB 1936 / British National Grid** - **EPSG:27700**.
208 | - Click **OK**. Now QGIS will re-project everything to British National Grid (27700).
209 |
210 | Now we are going to group the data within each Local Authority. First, we will use **Point-in-Polygon** analysis to count how access points to greenspace there are in each Local Authority polygon.
211 |
212 | - Click **Processing > Toolbox**.
213 | - Type `count points` in the search box.
214 | - Double-click **Vector analysis > Count points in polygons**.
215 | - Set **Polygons** to your Local Authority districts layer *(which should have IMD and population data in it).*
216 | - Set **Points** to `SU_AccessPoint`.
217 | - Click **Run**.
218 | - This has created a new layer called `Count` with a new column called `NUMPOINTS` at the far right hand end of the attribute table.
219 | - Some of the rows in this layer will have points in - remember, the SU grid square doesn't cover all of the local authorities, so some will be blank and some will be incomplete.
220 | - You can sort the `NUMPOINTS` column by clicking on the column header. It will sort it first ascending, then if you click again, descending. *Note there are some entries with a 0 value in them. These are the local authorities outside the SU grid square.*
221 | - If the calculation has worked, save this as a new GeoPackage layer by right-clicking on the layer, choosing **Export > Save Features As**.
222 | - Remember to choose the GeoPackage file name and a suitable name for the layer:
223 |
224 | { width=50% }
225 |
226 | Have a go at symbolising this data.
227 |
228 | We can also use some of the graphing options within QGIS to explore this data.
229 |
230 | - Click **Plugins > Manage and Install Plugins**
231 | - Search for **Data Plotly**
232 | - Click **Install Plugin**.
233 | - Click **Close**.
234 | - Click the Plotly icon { height=20 }, probably at the right hand end of the icons.
235 | - *If you can't find the icon, make sure the entry under **View > Toolbars > Plugins Toolbar** is ticked.*
236 | - If it opens a tiny window in the bottom left hand corner, drag the window to the middle of the screen and make it bigger.
237 | - Make sure **Plot type** is set to `Scatter Plot`.
238 | - Set **Layer** to `LA-IMD-pop-count` (or `Count` if you didn't save your new layer).
239 | - Set **X field** to `NUMPOINTS`.
240 | - Set **Y field** to `IMD_IMD - Average score`.
241 | - Choose **Create Plot** *it might take a few seconds to run*.
242 |
243 | *If `IMD_IMD - Average score` isn't visible, you may have not done a join correctly earlier on. Try a different field, and try re-doing the join and exporting the joined layer.*
244 |
245 |
246 |
247 | If you end up with multiple sets of points on your plot, you can use the { height=20 } button on the main Plotly page { height=20 } to clear the plot and start again.
248 |
249 | Is there any sort of relationship in this data?
250 |
251 | What might be a better calculation is to look at number of greenspace access points per population, so we can correct for the fact that some local authorities have bigger populations than others.
252 |
253 | - Close the DataPlotly plot.
254 | - Open the attribute table for the layer we are using and click the Editing icon { height=20 }.
255 | - Click **New Field** ({ height=20 })
256 | - Set **Name** to `GreenAccessPerPop`
257 | - Set **Type** to `Decimal number (real)`
258 | - Click **OK**.
259 | - Click **Field Calculator** { height=20 }.
260 | - Choose **Update existing field** and set to `GreenAccessPerPop`.
261 | - Expand **Fields and Values** and double click `NUMPOINTS`.
262 | - Click **Divide** `/`
263 | - Double-click our **Pop2019** field. *Expand the section of the window if you need to*.
264 | - Click **Multiply** `*` and type in `1000`. This will then calculate the number of greenspace access points per 1000 people.
265 | - The Expression box should contain something like this:
266 | ` "NUMPOINTS" / "Pop2019" * 1000 `.
267 | - It should give you a preview value for **Arun** of `1.275`.
268 | - Click **OK**.
269 | - Save the data.
270 |
271 |
272 | Try symbolising this data and/or graphing the data - do you see any patterns here?
273 |
274 | *If you get stuck, a video recording of me working through this practical is available on [YouTube](https://www.youtube.com/watch?v=87kLJcEIORI).*
275 |
276 | \newpage
277 |
278 |
279 | # Practical 4: Spatial Overlays
280 |
281 | | **Learning outcomes:** |
282 | |---|
283 | | Be able to perform a polygon polygon overlay |
284 | | Critique the analysis process we have undertaken |
285 |
286 | This is a lighter touch practical. You will need to work out some of the steps for yourself!
287 |
288 | ## Polygon polygon overlay
289 |
290 | We will be combining the layers using the Union tool, and we need to do some preparation for this.
291 |
292 | - Open up your project file from the previous practical, and save it as a new file (e.g. `prac4-NB-v1.qgz`).
293 | - Add the `SU_GreenspaceSite.shp` to our project. Now is also a good time to remove any layers we don't need, for example many of the Excel datasets we joined.
294 | - It is always good practice to work on a copy of your data, so take a copy of our geopackage from the previous practical (by copying it in Windows Explorer / My Computer / Finder) and save it in the `prac4` folder. I have called mine `prac4-data.gpkg`.
295 | - Then add your new GeoPackage to QGIS.
296 | - Then we can add the greenspace area data to this prac4-data.gpkg geopackage.
297 | - To do this, right click on the layer (`SU_GreenspaceSite`), choose **Export > Save Features As**.
298 | - Select the `prac4-data.gpkg` geopackage.
299 | - Call the layer `SU_GreenspaceSite` and choose **OK**.
300 | - It will appear as `prac4-data — SU_GreenspaceSite`.
301 |
302 | The greenspace layer and the LA layer don't cover the same area, so we need to remove the local authorities for which we don't have complete greenspace data.
303 |
304 | There are various ways of doing this - the easiest is manually!
305 |
306 | - Save the local authorities layer (which should already have the IMD and population data in it) into our `prac4-data` geopackage using the same method as above. Call it `lad-imd-pop-SUgreenspace`.
307 | - Remove the `prac3-data lad-imd-pop-SUgreenspace` layer, so we only have one local authority layer.
308 | - Select the `prac4-data lad-imd-pop-SUgreenspace` layer and start editing { height=20 }.
309 | - Use the **Select Features** { height=20 } tool to pick one of the local authorities for which we do not have complete greenspace data. It should go yellow, with a red outline.
310 | - Use the `Delete` key on the keyboard to delete this polygon.
311 | - Repeat this for each of the local authorities poking out of the greenspace data. You should end up with something like this:
312 |
313 | { width=60% }
314 |
315 | - We also need to do one final bit of preparation on the local authority data - calculate and add the area to the attribute table.
316 | - Open the attribute table for the `prac4-lad-imd-pop-SUgreenspace` layer.
317 | - Turn on **Editing** { height=20 } and click **Add Field** ({ height=20 }).
318 | - Set the **Name** to `LAarea`.
319 | - Set **Type** to `Decimal number (real)`.
320 | - If you have the option, set **Length** to `10` and **Precision** to `4`. *If you don't have these options, that is fine.*
321 | - Click **OK**.
322 | - Click **Field Calculator** ({ height=20 }).
323 | - Choose **Update existing field** and set to `LAarea`.
324 | - Expand **Geometry** and double-click `$area`. This will add the area in square meters (as our coordinate system is BNG).
325 | - This should come out (as a preview) at `634273160` (m) for Basingstoke and Deane.
326 | - Add `/ 10000` to our expression to divide this by 10,000, to get 63,427 hectares.
327 | - Click **OK** to apply the calculation across all the rows.
328 |
329 | - Make sure to turn Editing off { height=20 } and save your edits.
330 |
331 | - In the `prac4-data — GreenspaceSite` layer add a new column called `greenspace`.
332 | - Use **New Field** { height=20 } and set the data type to **Integer (32 bit)**.
333 | - Then use **Field Calculator** { height=20 } to set all the entries in this column to `1`.
334 | - Find and open the **Union** tool in the **Processing Toolbox**.
335 |
336 |
337 | - Set the **Input layer** to `prac4-data lad-imd-pop-SUgreenspace` (our local authority data).
338 | - Set the **Overlay layer** to `prac4-data SU_GreenspaceSite` (the greenspace site layer).
339 | - Click **Run**, it may take a minute or two to run. Watch the progress bar, and while you wait, review the flowchart on the slides and make sure you know what output you are expecting (or have a short break!).
340 |
341 | - Open the attribute table of the layer we have just created (`Union`).
342 |
343 | Now we have an attribute table split by Local Authority and greenspace. Within each Local Authority we have one polygon that is non greenspace (where the `greenspace` value is NULL) and one or more polygons that are greenspace (where the `greenspace` value is `1`). The next step is to calculate the area for each polygon.
344 |
345 | *We do have quite a few completely blank rows (with greenspace data but no Local Authority data). These are the greenspace areas that are outside our local authority data. Try selecting one and using the Zoom To function.*
346 |
347 | - Save this as a new layer called `greenspace-LAs`. You will get this error message if you save it in a GeoPackage:
348 |
349 | { width=40% }
350 |
351 | *It won't save in the geopackage (because `fid` is not unique, one of the requirements). We could save it as an ESRI Shapefile which will be fine. The better way is to remove and recalculate the `fid` field, which will then be unique, so we can save it in a geopakcage.*
352 |
353 | - Open the Attribute Table for the `Union` layer and delete the `fid` field. Then try saving again.
354 | _ You might then also get this error:
355 |
356 | { width=50% }
357 |
358 | - This is saying this layer already exists in the geopackage (as we saved it earlier, but it didn't save properly because of the error). Click **Overwrite Layer** to overwrite this with the new (correct) layer.
359 | - **Be careful because you could overwrite the whole geopackage!**
360 |
361 | Now we can merge the polygons so we have a dataset that lists each Local Authority area twice, once with greenspace and once without.
362 |
363 | - Make sure everything is de-selected (by clicking { height=20 })
364 | - Use the **Dissolve** tool from **Processing Toolbox** (under **Vector geometry**).
365 | - Set **Input** to `greenspace-LAs`.
366 | - Click the Browse { height=20 } button next to **Dissolve field(s)**.
367 | - Select `lad19cd` and `greenspace`. Choose **OK**.
368 | - Click **Run**.
369 | - Look at the new layer, `Dissolved`. Has it done what we wanted it to?
370 | - Save as `dissolved-greenspace-LAs`.
371 | - Open the attribute table and use **Select features using an expression** { height=20 } to select the rows where `greenspace = 1`.
372 | - Save this as a new layer `dissolved-greenspace-LAs-single` using **Save Selected Features As...**.
373 | - Open the attribute table for the `dissolved-greenspace-LAs` layer.
374 | - Turn on **Editing** { height=20 } and click **Add Field** ({ height=20 }).
375 | - Set the **Name** to `greenspace-area`.
376 | - Set **Type** to `Decimal number (real)`.
377 | - Set **Length** to `10` and **Prevision** to `4` *if you have them*.
378 | - Click **OK**.
379 | - Click **Field Calculator** ({ height=20 }).
380 | - Choose **Update existing field** and set to `greenspace-area`.
381 | - Expand **Geometry** and double-click `$area`. This will add the area in square meters (as our coordinate system is BNG).
382 | - Add `/ 10000` to our expression to divide this by 10,000, to get the value in hectares.
383 | - Click **OK** to apply the calculation across all the rows.
384 | - Turn Editing off.
385 |
386 | Now we have the total LA area (`LAarea`) and the greenspace area (`greenspace-area`).
387 |
388 | - Use **Field Calculator** to create a new field (`pc_greenspace`) and calculate the percentage of greenspace (`("greenspace-area" / "LAarea" ) * 100`).
389 |
390 |
391 |
392 | This gives us a nice output of the proportions of greenspace.
393 |
394 | Try creating a plotly graph with this - is there any relationship now? What about area of greenspace per thousand people?
395 |
396 | We could perform a similar process, but with the greenspace buffered. This would be a proxy for 'accessible' green space. Try buffering the greenspace data at 300m, and repeat the process.
397 |
398 |
399 |
400 |
401 | ----
402 |
403 | *This practical was written using QGIS 3.40 on Windows 11, last updated on 06/03/2025 by Dr Nick Bearman, [nick@nickbearman.com](mailto:nick@nickbearman.com).*
404 |
405 | This work (Introduction to QGIS: Spatial Data and Spatial Analysis by Nick Bearman) is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/4.0/. 


406 |
407 |
408 | The latest version of the PDF is available from https://github.com/nickbearman/intro-qgis-spatial-data. This is v6.2 and this was created on `r format(Sys.time(), '%d %B %Y')`.
--------------------------------------------------------------------------------