Exercise

Van Data naar Kaart


Van Data naar Kaart

Introductie

Voor het tijdschrift Geografie (geografie.nl/tijdschrift) maak ik regelmatig kaarten, en vaak is dat een (stads)plattegrond van het gebied waar een artikel over gaat. Voor dit soort kaarten kun je een workflow gebruiken gebaseerd op Open Data die je verwerkt in Open Source tools en publiceert voor drukwerk of voor gebruik in websites. Welke data je gebruikt hangt af van de gewenste schaal van je kaart, de software kan ook variëren. In deze workshop staat QGIS centraal en gebruiken we EuroGeoGraphics data voor kleinschalige en OpenStreetMap data voor grootschalige kaarten, en maken we zowel webplaatjes als drukwerk kaarten.

Iedereen met een beperkte basiskennis van geo-data kan meedoen. Wij zorgen voor de data, maar we verwachten wel dat je een versie van QGIS op je laptop hebt draaien (zie qgis.org voor downloads etc.). Je kunt in deze workshop met verschillende data voor verschillende uitvoermedia werken (zie ): met de kleinschalige data (ca. 1:250.000) van EuroRegionalMap, of met de grootschalige data (ca. 1:5.000 tot 1:25.000) van OpenStreetMap. We verwerken die Open Data dan in QGIS tot een kartografisch verantwoorde kaart. En die voeren we dan weer uit voor digitaal gebruik op het World Wide Web, of voor drukwerk. Kies je favoriete data- en kaartsoort en volg de betreffende secties. Je kan daarna altijd nog terugkeren om de andere mogelijkheden ook uit te proberen...!

De opzet van de Workshop

Kies je favoriete data- en kaartsoort en volg de betreffende secties. Je kan daarna altijd nog terugkeren om de andere mogelijkheden ook uit te proberen...!

De verschillende "paden" door de workshop

Dataset 1 - de EuroRegionalMap van EuroGeographics

Als je liever deze workshop doet met de grootschalige (ca. 1:5.00-1:50.000) data van OpenStreetMap, ga dan naar DEZE SECTIE. Je kan daarna altijd nog hier terugkeren om de andere mogelijkheden ook uit te proberen...!

EuroRegionalMap is één van de producten die beschikbaar zijn gemaakt in het project "Open Maps for Europe". Dit wordt op hun website beschreven als "Open Maps for Europe biedt gratis open data die is gemaakt met behulp van officiële kaart-, en geo-informatie van officiële, nationale bronnen. De online dienst Open Maps for Europe stelt gebruikers in staat om open datasets te ontdekken, te bekijken, en te downloaden. Het Open Maps for Europe-project, dat in december 2022 werd afgerond, werd mede gefinancierd door de Connecting Europe Facility van de Europese Unie."

Open Maps for Europe is een initiatief van EuroGeographics, de Europese samenwerking tussen nationale topografische en kadastrale agentschappen. Ze hebben 60+ leden die 46 landen vertegenwoordigen. Ze werken samen om geharmoniseerde versies van hun datasets voor heel Europa te creëren, waaronder:

  • EuroRegionalMap: topografische gegevens op schaal 1:250.000
  • EuroGlobalMap: topografische gegevens op schaal 1:1 miljoen
  • EuroDEM: 1:100.000 schaal hoogtemodel
  • Open Cadastral Map: Europese kadastrale kaartgegevens
  • Pan-European imagery: 10m resolutie (Copernicus) satellietbeelden
  • Open Gazetteer: meertalige geografische namen

De datasets zijn beschikbaar gemaakt op verschillende manieren. De EuroRegionalMap die we hier gebruiken kan je gebruiken als Web Services (WMS, WMTS en WFS) en als downloadbare bestanden (het open formaat Geopackage en de ESRI-formaten FileGeodatabase en Shapefile). Het gebruik ervan is gratis, maar je moet je wel registreren op de website om toegang te krijgen. Voor deze workshop hebben we een kleine sectie gedownload die voor iedereen vrij toegankelijk is:

Download de data-set in GeoPackage formaat hier: ERM.gpkg en plaats hem ergens op je systeem waar je er gedurende deze workshop bij kan...

De data van de EuroRegionalMap beslaat momenteel (2026) alle EU landen, het Verenigd Koninkrijk, de EFTA (Zwitserland, IJsland, Noorwegen en Liechtenstein), plus Georgië, Moldavië, Noord-Macedonië, Oekraïne, Andorra, Monaco, Vaticaan, San Marino, de Faeröer, Man (zie ) en de franse overzeese gebiedsdelen.

De data is allemaal omgezet naar het Europese referentiesysteem ETRS89 (EPSG:4258). Dat betekent dat de coördinaten decimale lengte-en breedtegraden zijn (dus niet geprojecteerd). De data is afkomstig uit de datasets van de aanleverende topografische diensten, maar de thematisch inhoud is geharmoniseerd: Dat wil zeggen dat ze dezelfde klassennamen en -aanduidingen gebruiken voor vergelijkbare informatie, en dat geprobeerd is voor alle landen dezelfde informatie in dezelfde mate van detaillering beschikbaar te maken. Alle details hierover zijn te vinden in het officïële specificatiedocument (hier te downloaden). Dit document ga je nodig hebben als je in detail met deze data wilt gaan werken. Voor deze workshop hebben we de meestgebruikte data en de belangrijkste indelingen ervan in een tabel () geprobeerd samen te vatten: In deze tabel is "Thematic Theme" de hoofdcategorie, "Feature Class" is de naam van de feitelijke data. Afhankelijk van het bestandsformaat waarin je de data gebruikt is dit een bestandsnaam (bij gebruik shape-files) of de naam van een database-tabel (in de GeoPackage die wij gebruiken). In een programma als QGIS of ArcGIS zal dit de naam van de GIS-laag worden. In "Attribuut" staan een of meer van de attributen die je kan gebruiken om de Feature Class nader onder te verdelen. We laten hier alleen de voor onze workshop meest relevante zien, maar realiseer je dat er meer Feature Classes zijn, en ook heel veel meer attributen...!

Geselecteerde 'Thematic Themes' in de ERM en relevante 'Feature Classes' en Attributen

Thematic ThemeFeature ClassAttribuutInhoud
Vegetation and Soils (VEG)VegAF_CODEpolygonen van vegetatietypen. F_CODE=EA015=landbouw, F_CODE=EA045=plantage,F_CODE=EC050=bos.
De code voor landbouw is verwarrend, omdat hij gedefinieerd is als "if a minor part of the land coverage and considered as remarkable in the landscape" – hierdoor komt hij bv in Nederland bijna niet voor, "normale" weiden en akkers vallen hier niet onder...!
SoilAMCCpolygonen van onbegroeid gebied. MCC=84=rotsen, MCC=88=zand
Hydrography (HYDRO)LandmaskAn/a (= niet gebruikt in de workshop)polygonen vasteland en eilanden. Deze staat vreemd genoeg in het 'hydrografie" theme - als tegenhanger van SeaA.
SeaAn/a polygonen zeeën en oceanen.
LakeresAn/a polygonen binnenwateren.
SwampAn/a polygonen moerassen en wetlands.
CoastAn/a kustgebied tussen laag- en hoogwater (incl. zandplaten en wadden).
CoastLn/akustlijn tussen land en zee/oceaan.
ShoreLn/akustlijn tussen land en binnenwater.
WatercrsAn/a polygonen van rivieren en kanalen (breder dan 125m).
WatercrsLWCHlijnen van rivieren en kanalen (ook die breder dan 125m, om een netwerk te kunnen maken). WCH attribuut geeft hierarchie: 1 voor hoogste, 2-5 lagere, 9=overig.
Settlement (POP)BuiltupAn/apolygonen van bewoonde gebieden (> 0,4 km2 of > 5000 inw).
BuiltupPUSE + PPLpunten van bewoonde plaatsen. USE geeft een administratieve hierarchie (1=nationale hoofdstad, 2=regionaal, 3-6 lagere orden), en PPL geeft het aantal inwoners (waarbij -32768 'geen data' betekent, dat komt in sommige landen nogal eens voor).
Transportation (TRANS)RoadLRTT + TUC + LLElijnen van hoofdwegen. Om een zinvolle kartering te maken heb je diverse attributen nodig: RTT is de hierarchische indeling: 16=snelweg, 15=primair, 14=secundair, 984=lokale weg (alleen degenen die nodig zijn om hoofdwegen tot een netwerk te verbinden). TUC is een indeling in 7=hoofdweg, 36=op-/afrit. LLE=0 hebben een standaard ligging, LLE<0 zijn tunnels, LLE>0 bruggen.
RailrdLRRC + LLElijnen van spoorlijnen. Om een zinvolle kartering te maken heb je diverse attributen nodig: RRC is de hierarchische indeling: 16=hoofdspoorweg, 17=lokaalspoorweg, LLE=0 hebben een standaard ligging, LLE<0 zijn tunnels, LLE>0 bruggen.
RailrdCTFCspoorwegstations en -haltes. TFC=15 en TFC=31 zijn stations, TFC=32 haltes.
FerryLn/aroutes van ferries en veren (lengte > 125m).
HarborAn/aHaven- en havenindustrieterreinen.
Voor andere industrie is helaas geen categorie beschikbaar in de ERM.

Voor heel veel (maar niet alle) Feature Classes zijn ook namen beschikbaar. Die zijn opgeslagen in het attribuut NAMN1 voor de naam in de eerste nationale taal, en NAMN2 voor een mogelijk tweede taal. Voor Nederland is NAMN2 gebruikt voor alternatieve namen (NAMN1='s-Gravenhage, NAMN2=Den Haag). In België is NAMN1 Vlaams in Vlaanderen en Waals in Wallonië, NAMN2 precies andersom!

Met deze basisgegevens hebben we maar een klein deel van de data beschreven, maar genoeg om er mee aan de slag te gaan in het GIS-programma QGIS! Ga daarvoor naar de volgende sectie: "3. Dataset 1 verwerken in QGIS"...

Dataset 1 verwerken in QGIS

In deze sectie laten we zien hoe je de ERM data kan laden in een GIS programma, en hoe je ze zo kan bewerken dat ze geschikt zijn om weer te geven als een overzichtskaart. We gaan er dus geen GIS-analyses mee uitvoeren, maar wel de data projecteren, selecteren & filteren, en symboliseren. In de beschrijving en screenshots gebruiken we het programma QGIS, maar in elk ander open source of commerciëel GIS-programma kun je deze stappen op vergelijkbare wijze doen...

QGIS (qgis.org) is een Open Source GIS-client, geprogrammeerd in C++ met behulp van het multiplatform Qt-framework (en draait daarom op Windows, Mac OSX en Linux computers).

QGIS kan data gebruiken uit veel verschillende bronnen:

  • alle vectorformaten die door de OGR-bibliotheek worden ondersteund, inclusief ESRI-shapefiles en Geodatabases, MapInfo, KML, GeoJSON, GPX en GML. We zullen in deze oefening het open standaard Geopackage-formaat gebruiken;
  • alle rasterformaten die door de GDAL-bibliotheek worden ondersteund, zoals digitale hoogtemodellen, luchtfotografie of satellietbeelden in zeer veel formaten;
  • database tabellen (bv. Oracle Spatial en PostgreSQL-tabellen met behulp van PostGIS), via een verbinding met dergelijke database systemen;
  • online ruimtelijke data van OGC-conforme Web Feature Services (WFS) en Web Coverage Services (WCS) - bv zulke services van Nederlandse open data in PDOK.

De lijst is in principe eindeloos, omdat de functionaliteit van QGIS kan worden uitgebreid met plugins. Plugins voegen functionaliteit toe aan QGIS, en ze worden meestal gemaakt door anderen dan de hoofdontwikkelaars van QGIS. Omdat QGIS Open Source-software is, kan iedereen plugins toevoegen, die geprogrammeerd kunnen worden met C++ of Python. Een van de meest gerbuikte plugins is de QuickMapServices-plugin, waarmee je verschillende online kaartdiensten kunt benaderen die als 'achtergrondkaart' kunnen worden gebruikt, zoals OpenStreetMap, Bing Maps, etc, En er is bv. ook een plugin om PDOK data te zoeken en laden.

ERM data laden

Gebruik het menu Layer > Add Layer > Add Vector Layer... of klik het ikoon voor "Open Datasource Manager" (zie item 0 in ).

Zorg dat de lader voor Vector data geactiveerd is (1) en klik dan het ... ikoon (2) en kies het bestand ERM.gpkg dat je in sectie 2 gedownload hebt. Klik de Add button (3) om het bestand te laden. Het Geopackage wordt geopend, en je krijgt een lijst met alle data-lagen die er in zitten (feitelijk zijn dit tabellen in een SQLite database). Zorg dat alle lagen geselecteerd zijn/blijven en klik op Add Layers...

Alle data-lagen worden nu geladen en afgebeeld. Zoals je ziet op je scherm (en ) is de volgorde die van de alfabetische namen van de lagen, en het bestand wordt niet geprojecteerd – of eigenlijk: de lengte- en breedtegraden worden afgebeeld alsof het X- en Y-coördinaten zijn. Daardoor is het kaartbeeld vervormd.

De data projecteren

Eerst gaan we er voor zorgen dat de kaartprojectie goed is. De ruwe lengte- en breedtegraden kunnen door QGIS omgezet naar elke projectie die in de PROJ-database beschikbaar is (en dat zijn ze bijna allemaal). Maar Eurogeographics beveelt voor het gebruik van ERM de twee specifieke projecties aan die door INSPIRE zijn gestandaardiseerd: Lambert Azimuthal Equal Area (EPSG code 3035) en Lambert Conformal Conic (EPSG code 3034). We gebruiken hier de tweede (3034).

Kies het menu Project > Project properties... en klik dan het ikoon bij "CRS" (Coordinate Reference System, zie item 1 in ). Kies vervolgens de juiste projectie, dat gaat het makkelijkste door bij Filter de EPSG code 3034 in te typen, en dan uit de lijst onder Lambert Conformal Conic te kiezen voor de projectie met "EPSG:3034" als "Authority ID".

De hierarchie bepalen

De lagen-volgorde op alfabet is vrij zinloos. Om een goede kaart te maken moeten we ervoor zorgen dat alle lagen zo veel mogelijk zichtbaar zijn. Om dat te bereiken moeten de vlak-lagen (polygonen) onderop liggen, daarboven de lijnen- en punten-lagen. In QGIS kun je de volgorde makkelijk veranderen door in de lagen-lijst de lagen gewoon naar boven of beneden te slepen.

Doe dat op zo'n manier dat de volgorde dezelfde is als in .

Wie goed heeft opgelet ziet dat we afwijken van de eerder gemelde volgorde vlakken-lijnen-punten! Dat doen we omdat in de ERM de data voor 'WatercrsA' weliswaar gedefiniëerd is als 'polygonen van rivieren en kanalen breder dan 125m', maar diezelfde rivieren zitten ook in de laag 'WatercrsL' als lijnobjecten (om van de rivieren een netwerk te kunnen maken). Dat zou resulteren in een kaart met vlak-symbolen met daarin nog een (hart)lijn. Om dat te voorkomen beelden we de watervlakken boven de waterlijnen af...

Filteren & symboliseren

QGIS heeft enorm veel gereedschappen om de symbolisatie van de data in te stellen. Voor veel symbolisaties moet je de data ook filteren en/of (sub)selecteren. Beide kun je doen in het Symbology venster van het Layer > Layer Properties... menu. Dit venster kun je ook bereiken door op een laag-naam te 'rechts-klikken' en dan Properties... te kiezen. Er zijn veel verschillende manieren van symbolisatie, die je selecteert met het 'drop-down menu' bovenin het venster. De meest gebruikte zijn:

  1. Single Symbol - alle elementen in de data krijgen dezelfde symbolisatie. In onze data bv. de laag "LandmaskA".
  2. Categorized - de elementen worden geselecteerd op een catgeorisch attribuut, en elke categorie krijgt zijn eigen symbolisatie. In onze data bv. de laag "WatercrsL".
  3. Graduated - de elementen worden gefilterd gebaseerd op een numeriek attribuut, en elk getal (of numeriek klasse) krijgt zijn eigen symbolisatie. In onze data komt dit niet voor.
  4. Rule-Based - Om de opties 2 en 3 te kunnen verfijnen, combineren of uit te breiden kun je ook zelf filters maken en deze combineren met "boolean" en/of logica. In onze data doen we dat bv. met de laag "BuiltupP".

In deze workshop geven we voorbeelden van het gebruik van opties 1,2 en 4. Optie 3 gebruik je als je numerieke data wilt karteren als een thematische kaart (bijvoorbeeld aantallen inwoners als proportionele symbolen, of bevolkingsdichtheid als tinten van een kleur).

3.4.1 Single Symbol weergave van de LandmaskA laag

In het Layer Properties > Symbology... venster selecteer je met het 'drop-down menu' bovenin het venster de optie Single Symbol. Omdat de data polygonen zijn is het default symbooltype "Fill", subtype "Simple Fill" geselecteerd, zoals je in ziet,

Klik op "Simple Fill" en stel de attributen van je polygoon-vulling en -omlijning in.Wij hebben voor de hier getoonde instellingen gekozen, neem deze over of kies je eigen. Om de kleuren in te stellen klik je op het kleurblok en dan krijg je een kleurkiezer. Om de door ons gekozen fill-kleur te krijgen vul je in het veld HTML notation de kleurcode "#fff0d6" in.

Dergelijke stijlen kunnen worden uitgebreid. We laten zien hoe je dit doet voor de laag SwampA:

Aanvankelijk is er alleen een Simple Fill, maar met de + knop rechtsboven kun je meer symbolisers toevoegen. Dit is standaard weer een "Simple Fill", maar twee van die bovenop elkaar is niet bruikbaar. Je kunt het type wijzigen via het dropdownmenu Symbol layer type. Verander het naar "Line Pattern Fill" en probeer dezelfde instellingen te krijgen als in . Dit zou moeten resulteren in de moeras-symbolisatie die ook in het figuur te zien is...

Dezelfde Single Symbol symbolisatie-techniek kun je gebruiken voor al die lagen waarin alle data dezelfde symbolisatie moet krijgen. Om een goede kaart te maken is het natuurlijk goed als al deze categoriën een symbool krijgen dat ze duidelijk onderscheidt van de anderen, en dat tegelijkertijd ook past bij de overige symbolen. Dat is al minder makkelijk als het misschien lijkt, en dan wil je wellicht ook graag nog dat het "er een beetje mooi uitziet". Dat vergt een hoop uitproberen (een cursus Kartografie kan ook helpen...)
Voor deze workshop suggereren we dat je er eerst voor 1 of 2 lagen zelf mee aan de slag gaat. Maar om tijd te besparen hebben we voor jullie van alle datalagen een symbolisatie gemaakt en opgeslagen als QGIS style-file (een .qml file).

Download het ZIP-archief van alle stijlen hier, en "un-zip" het. Om een individueel style-file te laden en toe te kennen aan een data-laag 'right-click' je de laag en kiest het menu Styles > Load Style.... In de dialoog (zie ) kies je vervolgens Load Style> From File en klik je op de ... button en vervolgens Load Style om het betreffende .qml bestand te laden. Doe dit voor de volgende lagen: SeaA, LakeresA, CoastA, CoastL, ShoreL, WatercrsA, BuiltupA, FerryL en HarborA. Het resultaat zou moeten lijken op het kaartfragment in de figuur...

3.4.2 Categorized weergave van de WatercrsL laag

Niet voor alle datalagen is het optimaal om één symbool voor alle data te gebruiken. In de laag WatercrsL zitten de bijvoorbeeld alle lijnen die waterlopen voorstellen, van grote rivieren tot kleine beekjes, en van natuurlijke waterlopen tot kanalen. Afhankelijk van het doel van je kaart wil je daar onderscheid tussen maken, of sommige categoriën op bepaalde kaartschalen weglaten. Dat kan met de Categorized weergave. Alle data wordt daarmee verdeeld in categoriën (klassen) gebaseerd op één van de attributen van de data.

Open het Symbology venster van de laag WatercrsL. Kies in het bovenste drop-down menu de symbolisatie "Categorized". Kies in de dropdown Value het attribuut "WCH". Dit attribuut geeft de hierarchie van waterwegen: 1 voor hoogste, 2-5 lagere, 9=overig. Klik nu de button Classify , dan leest QGIS alle data en geeft weer welke categoriën zijn aangetroffen. Let op: omdat onze data een uitsnede is, kan het zijn dat niet alle klassen aanwezig zijn! Als je ook de missende wilt symboliseren (die je in de ERM specificaties vindt) kun je ze toevoegen met de + button. Nu kun je voor elke klasse het symbool aanpassen.

In zie je welke klassen en symbolen wij kozen (en opgeslagen hebben in de style file "water_course.qml"). In principe dezelfde blauwe lijn, steeds dunner voor lagere klassen. Merk op dat we een aparte dikke lijn hebben voor de klasse "unknown". Deze klasse is niet actief (zie het ontbrekende vinkje in de "Symbol" rij). Maar zo'n "rest-categorie" kan heel nuttig zijn, want in sommige delen van de ERM ontbreekt de invulling van bepaalde attributen, of is ingevuld met de waarde -32768, die volgens de ERM specificatie "unknown" betekent (zoals bij de WCH attribuut in ons stukje data). Door het symbool tijdelijk aan te vinken kun je zien wat je mist met de door jou gekozen indeling...

Dezelfde "Categorized" methode kan je gebruiken voor de lagen VegA en SoilA (ook hier hebben we weer style-bestanden voor je gemaakt).

3.4.3 Rule-based weergave van de BuiltupP laag

Soms is de Categorized weergave te beperkt om een zinvolle symbolisatie te maken. In de laag BuiltupP bijvoorbeeld, zou je het attribuut "PPL" kunnen gebruiken om de plaatsen te klasseren naar inwonertal. Maar op een kaart wil je graag ook weten welke plaatsen administratief belangrijk zijn. Daarvoor kan je het attribuut "USE" gebruiken. Maar er zijn gebieden waar administratieve hoofdplaatsen relatief dunbevolkt zijn, of waar grote steden geen administratieve rol hebben... Dan kan je de indeling verfijnen met de Rule-based weergave. Hiermee kun je alle ander weergaven-methoden combineren of uitbreiden door zelf filters te definiëren en deze te combineren met "boolean" en/of logica.

Open het Symbology venster van de laag BuiltupP. Kies in het bovenste drop-down menu de symbolisatie "Rule-based". Voeg een "Rule" toe door op de + button te klikken. Nu kun je een Label voor je nieuwe klasse intypen en een Filter. Dat kan je doen door zoals in een zogenaamde "boolean expression" te typen. Dat is een logische expressie waarvan de uitkomst voor elk data-element TRUE (waar) of FALSE (onwaar) zal zijn. In het onderstaande voorbeeld vraag je voor elke plaats te testen of het inwonertal (het attribuut "PPL") groter dan (>) 25000 is, en ook (AND) kleiner dan of gelijk aan (<=) 100000.

Het opstellen van deze logische expressies is niet zo triviaal. Maar QGIS kan je er mee helpen als je de expressie buttonε klikt. Er komt dan een dialoog als in , waarin je met "point-en-klik" de gewenste attribuut kan vinden (in de "Field & Values" lijst), bij de Values button kan zoeken welke waarden er zijn, etcetera. Zo bouwt de Expressie zich op in het Expression veld linksboven. In het Feature veld linksonder zie je welke data-elementen er TRUE testen voor deze expressie (en hoeveel bij "Preview"). Er is ook vrij uitgebreide hulp onder de Help button.

Deze "expressie-builder" is beschikbaar op heel veel plekken in QGIS, ook bv. voor het creëren van geometrische filters, analyses, transformaties, enzovoorts...

Op deze manier kun je de Rules voor de laag BuiltUpP afmaken. Je kunt natuurlijk ook weer de complete style laden (uit het bestand "places.qml").

Tekst labels

Zoals in sectie 2 vermeldt, hebben veel data in de ERM ook naam-attributen. We gaan deze gebruiken om de plaatsen in de BuiltupP laag van labels te voorzien. De Label editor kent net als in de Symbology-editor een aantal hoofdopties (drop-down menu bovenaan):

  • No Labels (default) - er worden geen labels getoond
  • Single Labels - net als by Single Symbol worden alle data-voorkomens op dezelfde manier gelabeld
  • Rule-based Labelling - maak je eigen filters
  • Blocking - hierbij wordt deze layer niet gelabeld, maar QGIS zorgt er wel voor dat andere labels deze data niet overlappen.

De label-dialoog (zie ) kent enorm veel opties, die je in staat stellen bijna alles wat je wilt te beïnvloeden. Niet alleen hoe de labels er uit zien, maar ook waar en hoe ze geplaatst worden (waarbij QGIS kan proberen de overlap met elkaar en andere symbolen te beperken), allerlei opmaak zoals schaduwen, enzovoort. Voor deze workshop moeten we ons beperken tot het eenvoudig plaatsen van Single Labels voor 1 laag.

Open de Layer Properties van de laag BuiltupP en kies nu voor de optie Labels in het linkermenu. Kies bij Value het attribuut "NAMN1", dat is volgens de ERM specificatie "de naam in de eerste nationale taal". Zorg dat in het rijtje links de optie "Text" geselecteerd is en vul de text-attributen in. Gebruik de opties zoals wij hem kozen, of experimenteer met wat jij mooi vindt. Klik OK en de kaart wordt gelabeld.

Als je uiteindelijk alle lagen gesymboliseerd hebt, zou de kaart er ongeveer uit moeten zien als in

De kaart is nu klaar voor uitvoer! Als je de workshop wilt voortzetten met uitvoer naar drukwerk, ga dan naar DEZE SECTIE.
Als je liever je de workshop wilt voortzetten met uitvoer naar kaarten voor het Web, ga dan naar DEZE SECTIE.

Dataset 2 - OpenStreetMap

Als je liever deze workshop doet met de kleinschalige (ca. 1:250.000) data van EuroRegionalMap, ga dan naar deze DEZE SECTIE. Je kan daarna altijd nog hier terugkeren om de andere mogelijkheden ook uit te proberen...!

OpenStreetMap (openstreetmap.org) is een samenwerkingsproject om een gratis bewerkbare wereldkaart te maken. OpenStreetMap wordt soms ook wel de "Wikipedia voor kaarten" genoemd, Twee belangrijke drijfveren achter de oprichting en groei van OSM waren beperkingen op het gebruik of de beschikbaarheid van kaartinformatie in grote delen van de wereld en de komst van goedkope draagbare satellietnavigatieapparatuur. Het werd in 2004 door Steve Coast in het Verenigd Koninkrijk gecreëerd en was geïnspireerd door het succes van Wikipedia. Sindsdien is het aantal geregistreerde gebruikers gegroeid tot meer dan 1 miljoen personen, die gegevens verzamelen via GPS-apparaten, luchtfotografie en andere gratis bronnen. Deze door crowdsourcing samengestelde data worden vervolgens beschikbaar gesteld onder de Open Database License.

De site wordt ondersteund door de OpenStreetMap Foundation, een non-profitorganisatie geregistreerd in Engeland. In plaats van de kaart zelf worden de gegevens die door het OpenStreetMap-project worden gegenereerd als de primaire output beschouwd. Deze gegevens zijn vervolgens beschikbaar voor gebruik in zowel traditionele applicaties, ter vervanging van het commerciële Google Maps, als meer ongebruikelijke rollen, zoals het vervangen van standaardgegevens die bij GPS-ontvangers zijn inbegrepen. Deze gegevens zijn gratis vergeleken met propriëtaire databronnen, hoewel de kwaliteit van de data wereldwijd varieert.

OSM data verkrijgen

De data van OSM zijn beschikbaar gemaakt op verschillende manieren. Je kunt de hele database van de hele wereld indien nodig downloaden, en zo een kopie ervan in je eigen database installeren,. Dan hebben we het wel over vele Terabytes. Je kunt ook een subset uit de database filteren met behulp van een groot aantal tools: Zo is er de Overpass API, waarmee je vanuit programmacode de database kan benaderen. Dit wordt onder andere gebruikt in een website als overpass-turbo.eu, maar ook in de QGIS plugin QuickOSM. Er zijn ook verschillende websites die reeds gemaakte extracten van een gebied te aanbieden. https://wiki.openstreetmap.org/wiki/Planet.osm#Country_and_area_extracts bevat een overzicht hiervan.

Voor kleine datasets (en dat betekent kleine gebieden) kun je de data direct uit de OpenStreetMap kaart (https://www.openstreetmap.org/) exporteren:
Zoom in op het gebied wat je wilt, en klik "Export" in de taakbalk bovenin (). Je kunt de uitsnede nog aanpassen door coordinaten in te voeren, of "Manually select a different area" te klikken. Als je daarna de Export button klikt, wordt er een .osm bestand gedownload. Afhankelijk van de grootte van je gebied en de drukte op de website kan dit lang duren of helemaal niet lukken...

Voor deze workshop hebben we al een kleine sectie gedownload die voor iedereen toegankelijk is. Het betreft de OSM data van Amsterdam, in de buurt van Artis...

Download de data-set in GeoPackage formaat hier: osm.gpkg.zip en plaats hem ergens op je systeem waar je er gedurende deze workshop bij kan...

De OSM data

De structuur van OSM data is nogal complex, vooral voor wie gewend is aan traditioneel gestructureerde en gestandaardiseerde GIS-bestanden uit officiële bronnen zoals PDOK. De data is verdeeld in punten (nodes) waaruit lijnen zijn afgeleid (ways) die op hun beurt soms weer gesloten zijn om polygonen te vormen (closed ways). Dan kunnen die op hun beurt weer in groepen gebruikt worden om multi-lines en multi-polygonen te vormen die relations beschrijven - bv stedelijke gebieden, busroutes en dergelijke.

De geometrie van de data is in lengte- en breedtegraden op de WGS84 Datum (EPSG:4326). In de webkaart worden die (zoals alle webkaarten) geprojecteerd naar de "google-mercator", oftwel WGS84 Pseudo-Mercator (EPSG:3857).

Elk van de geometrisch elementen heeft vervolgens net als andere GIS-data ook attributen. Die zijn opgeslagen in zogenaamde tags. Een tag is een paar key=value dat beschrijft wat het element is. Bijvoorbeeld in kaart brengen van een winkel voor mobiele telefoons kan worden gedaan door een punt (node) te maken, en dan de volgende tags toe te voegen: shop=mobile_phone. name=John Smith's telefoonwinkel.

Maar waar de attributen in andere datasets vaak gestandaardiseerd zijn en beperkt, kan in OSM data iedereen elke attribuut toevoegen die hij of zij wil. Dat maakt het uitpluizen van wat iets voorstelt vaak lastig en frustrerend. Gelukkig is er wel een grote set van algemeen gebruikte en aanbevolen attributen (en hun waarden), die je terug kan vinden op de websites als https://wiki.openstreetmap.org/wiki/Map_features

Dataset 2 verwerken in QGIS

In deze sectie laten we zien hoe je de OSM data kan laden in een GIS programma, en hoe je ze zo kan bewerken dat ze geschikt zijn om weer te geven als een overzichtskaart. We gaan er dus geen GIS-analyses mee uitvoeren, maar wel de data projecteren, selecteren & filteren, en symboliseren. In de beschrijving en screenshots gebruiken we het programma QGIS, maar in elk ander open source of commerciëel GIS-programma kun je deze stappen op vergelijkbare wijze doen...

QGIS (qgis.org) is een Open Source GIS-client, geprogrammeerd in C++ met behulp van het multiplatform Qt-framework (en draait daarom op Windows, Mac OSX en Linux computers).

QGIS kan data gebruiken uit veel verschillende bronnen:

  • alle vectorformaten die door de OGR-bibliotheek worden ondersteund, inclusief ESRI-shapefiles en Geodatabases, MapInfo, KML, GeoJSON, GPX en GML. We zullen in deze oefening het open standaard Geopackage-formaat gebruiken;
  • alle rasterformaten die door de GDAL-bibliotheek worden ondersteund, zoals digitale hoogtemodellen, luchtfotografie of satellietbeelden in zeer veel formaten;
  • database tabellen (bv. Oracle Spatial en PostgreSQL-tabellen met behulp van PostGIS), via een verbinding met dergelijke database systemen;
  • online ruimtelijke data van OGC-conforme Web Feature Services (WFS) en Web Coverage Services (WCS) - bv zulke services van Nederlandse open data in PDOK.

De lijst is in principe eindeloos, omdat de functionaliteit van QGIS kan worden uitgebreid met plugins. Plugins voegen functionaliteit toe aan QGIS, en ze worden meestal gemaakt door anderen dan de hoofdontwikkelaars van QGIS. Omdat QGIS Open Source-software is, kan iedereen plugins toevoegen, die geprogrammeerd kunnen worden met C++ of Python. Een van de meest gerbuikte plugins is de QuickMapServices-plugin, waarmee je verschillende online kaartdiensten kunt benaderen die als 'achtergrondkaart' kunnen worden gebruikt, zoals OpenStreetMap, Bing Maps, etc, En er is bv. ook een plugin om PDOK data te zoeken en laden.

OSM data laden

Gebruik het menu Layer > Add Layer > Add Vector Layer... of klik het ikoon voor "Open Datasource Manager" (zie item 0 in ).

Zorg dat de lader voor Vector data geactiveerd is (1) en klik dan het ... ikoon (2) en kies het bestand OSM.gpkg dat je in sectie 4 gedownload hebt. Klik de Add button (3) om het bestand te laden. Het Geopackage wordt geopend, en je krijgt een lijst met alle data-lagen die er in zitten (feitelijk zijn dit tabellen in een SQLite database). Zorg dat alle lagen geselecteerd zijn/blijven en klik op Add Layers...

Alle data-lagen worden nu geladen en afgebeeld. Zoals je ziet op je scherm (en ) is de volgorde die van de alfabetische namen van de lagen, en het bestand wordt niet geprojecteerd – of eigenlijk: de lengte- en breedtegraden worden afgebeeld alsof het X- en Y-coördinaten zijn. Daardoor is het kaartbeeld vervormd. Bovendien is de uitsnede heel groot, omdat sommige elementen (mn. lijnen) ver buiten de extent van de oorspronkelijke data-download vallen...

De data projecteren

Eerst gaan we er voor zorgen dat de kaartprojectie en uitsnede goed is. De ruwe lengte- en breedtegraden kunnen door QGIS omgezet naar elke projectie die in de PROJ-database beschikbaar is (en dat zijn ze bijna allemaal). We gebruiken hier de specifieke projecties die ook op de OSM website wordt gebruikt: WGS84 Pseudo-Marcator (EPSG code 3857).

Kies het menu Project > Project properties... en klik dan het ikoon bij "CRS" (Coordinate Reference System, zie item 1 in ). Kies vervolgens de juiste projectie, dat gaat het makkelijkste door bij Filter de EPSG code 3857 in te typen, en dan uit de lijst de Pseudo-Mercator te kiezen.

De hierarchie en uitsnede bepalen

De lagen-volgorde op alfabet is vrij zinloos. Om een goede kaart te maken moeten we ervoor zorgen dat alle lagen zo veel mogelijk zichtbaar zijn. In QGIS kun je de volgorde makkelijk veranderen door in de lagen-lijst de lagen gewoon naar boven of beneden te slepen.

Zorg dat vlak-laag (polygonen) onderop ligt, daarboven de lijnen- en dan de punten-laag. Zoom vervolgens in zodat alleen het kerngebied in beeld is - zie .

Filteren & symboliseren

QGIS heeft enorm veel gereedschappen om de symbolisatie van de data in te stellen. Voor veel symbolisaties moet je de data ook filteren en/of (sub)selecteren. Beide kun je doen in het Symbology venster van het Layer > Layer Properties... menu. Dit venster kun je ook bereiken door op een laag-naam te 'rechts-klikken' en dan Properties... te kiezen. Er zijn veel verschillende manieren van symbolisatie, die je selecteert met het 'drop-down menu' bovenin het venster. De meest gebruikte zijn:

  1. Single Symbol - alle elementen in de data krijgen dezelfde symbolisatie.
  2. Categorized - de elementen worden geselecteerd op een catgeorisch attribuut, en elke categorie krijgt zijn eigen symbolisatie.
  3. Graduated - de elementen worden gefilterd gebaseerd op een numeriek attribuut, en elk getal (of numeriek klasse) krijgt zijn eigen symbolisatie.
  4. Rule-Based - Om de opties 2 en 3 te kunnen verfijnen, combineren of uit te breiden kun je ook zelf filters maken en deze combineren met "boolean" en/of logica.

5.4.1 Single Symbol weergave van de polygonen laag

In het Layer Properties > Symbology... venster selecteer je met het 'drop-down menu' bovenin het venster de optie Single Symbol. Omdat de data polygonen zijn is het default symbooltype "Fill", subtype "Simple Fill" geselecteerd, zoals je in ziet,

Klik op "Simple Fill" en stel de attributen van je polygoon-vulling en -omlijning in. Wij hebben voor de hier getoonde instellingen gekozen, neem deze over of kies je eigen. Om de kleuren in te stellen klik je op het kleurblok en dan krijg je een kleurkiezer. Om de door ons gekozen fill-kleur te krijgen vul je in het veld HTML notation de kleurcode "#fff0d6" in.

Uit dit voorbeeld blijkt de beperking van deze symbolisatie: alles krijgt dezelfde stijl en er zit in de data niet een unieke attribuut waarmee je onderscheid kan maken tussen bijvoorbeeld water en gebouwen... In de andere delen van deze workshop die met ERM data werken, kunnen de simpelere opties 1 en 2 gebruikt worden, maar voor OSM data moeten we optie 4 gebruiken. Dat komt omdat het tag systeem met de key=value paren (zie vorige sectie) ons dwingt om verschillende attributen met elkaar te combineren. Je kunt dat zien door de attribuut-tabel te bekijken:

Gebruik het menu Layer > Open Attribute Table De attribuut tabel (zie ) is tijdens het converteren van de OSM data naar QGIS gevuld met één attribuut voor elk aangetroffenen tag. Dat zijn er zelfs voor deze kleine dataset al zeer veel!

5.4.2 Rule-based weergave van de polygonen laag

We gaan de Rule-based weergave gebruiken om zelf filters voor de tags te definiëren en deze te combineren met "boolean" en/of logica.

Open het Symbology venster van de laag osm-polygons. Kies in het bovenste drop-down menu de symbolisatie "Rule-based". Voeg een "Rule" toe door op de + button te klikken. Nu kun je een Label voor je nieuwe klasse intypen en een Filter. Dat kan je doen door zoals in een zogenaamde "boolean expression" te typen. Dat is een logische expressie waarvan de uitkomst voor elk data-element TRUE (waar) of FALSE (onwaar) zal zijn. Kies vervolgens een symbolisatie zoals je dat ook in de vorige sectie deed, en klik op OK. Nu zie je als het goed is in de kaart alleen de waterpolygonen, met de door je jou gekozen symbolisatie.

In het bovenstaande voorbeeld vraag je voor elke polygoon te kijken of er een tag "water" is die de waarde 'reservoir' heet, óf een tag "natural" met waarde 'water', óf een tag "landuse" met waarde 'reservoir', óf een tag "waterway" zonder waarde (=NULL), óf een tag "waterway" met waarde 'dock', óf een tag "waterway" met waarde 'riverbank.

Het opstellen van deze logische expressies is niet zo triviaal. Maar QGIS kan je er mee helpen als je de expressie buttonε klikt. Er komt dan een dialoog als in , waarin je met "point-en-klik" de gewenste attribuut kan vinden (in de "Field & Values" lijst), bij de Values button kan zoeken welke waarden er zijn, etcetera. Zo bouwt de Expressie zich op in het Expression veld linksboven. In het Feature veld linksonder zie je welke data-elementen er TRUE testen voor deze expressie (en hoeveel bij "Preview"). Er is ook vrij uitgebreide hulp onder de Help button.

Deze "expressie-builder" is beschikbaar op heel veel plekken in QGIS, ook bv. voor het creëren van geometrische filters, analyses, transformaties, enzovoorts...

Dezelfde symbolisatie-techniek kun je gebruiken voor alle elementen die je wilt onderscheiden in alle lagen. Om een goede kaart te maken is het natuurlijk goed als al deze categoriën een symbool krijgen dat ze duidelijk onderscheidt van de anderen, en dat tegelijkertijd ook past bij de overige symbolen. Dat is al minder makkelijk als het misschien lijkt, en dan wil je wellicht ook graag nog dat het "er een beetje mooi uitziet". Dat vergt een hoop uitproberen (een cursus Kartografie kan ook helpen...)

Voor deze workshop suggereren we dat je er eerst voor 1 of 2 categorien zelf mee aan de slag gaat.

Dat alleen om water weer te geven al zo'n lange rij tests nodig is, geeft aan dat het opstellen van de rules niet triviaal is. Helaas hebben we in deze korte workshop geen tijd om hier verder op in te gaan. Daarom hebben we de regels die we zelf gebruiken voor jullie beschikbaar gesteld in QGIS style-files...

Download het ZIP-archief van alle stijlen hier, en "un-zip" het. Om een individueel style-file te laden en toe te kennen aan een data-laag ga je naar het Symolisatie-venster voor die laag en kiest het button Style > Load Style.... In de dialoog (zie ) kies je vervolgens Load Style> From File en klik je op de ... button en vervolgens Load Style om het betreffende .qml bestand te laden. Doe dit voor alle drie de lagen.

Het resultaat zou moeten lijken op het kaartfragment in ...

De kaart is nu klaar voor uitvoer! Als je de workshop wilt voortzetten met uitvoer naar drukwerk, ga dan naar deze DEZE SECTIE.
Als je liever je de workshop wilt voortzetten met uitvoer naar kaarten voor het Web, ga dan naar deze DEZE SECTIE.

Uitvoer A - van QGIS naar digitale kaarten voor het Web

Als je liever deze workshop doet met uitvoer naar drukwerk, ga dan naar DEZE SECTIE. Je kan daarna altijd nog hier terugkeren om de andere mogelijkheden ook uit te proberen...!

Vanuit QGIS kun je op meerdere manieren je kaart uitvoeren als een digitaal bestand, voor gebruik op het Web (of in andere digitale omgevingen). We laten er hier een paar zien, variërend van supersimpele uitvoer naar een plaatje, tot het genereren van een interactieve kaart voor het Web.

Van kaartbeeld naar web-plaatje

Soms ben je al tevreden met hoe je kaart er op het scherm uitziet na het uitvoeren van de stappen in sectie 3 (EuroRegionalMap) of sectie 5 (OpenStreetMap). In dat geval kun je eenvoudigweg het kaartbeeld naar een plaatje exporteren door het menu Project > Import/Export > Export map to image... te kiezen. Je krijgt dan de dialoog in te zien.

Kies nu het deel van de kaart dat je wilt exporteren door de "Extent" vast te stellen. Het eenvoudigste gaat dat door de button Map Canvas Extent te klikken, je krijgt dan precies wat je in het kaartbeeld in QGIS ziet. Je kan ook een gewenste schaal kiezen, of een hoogte en breedte in pixels, of een resolutie in pixels/inch. Deze drie kunen elkaar beïnvloeden, als je de ene verandert kan de andere ook anders worden! Klik de Save button en het bestand wordt bewaard. Per default als PNG bestand (wat prima is voor het web), maar er zijn nog (heel veel) andere mogelijkheden.

De Print Layout

In veel gevallen zul je meer controle willen hebben over wat je uitvoert. En vooral zul je voor een complete kaart vaak ook randinformatie nodig hebben: zaken als een legenda, schaalaanduiding en misschien ook een titel, copyright of andere toegevoegde teksten. Daarvoer is er in QGIS het Print Layout window (). Ondanks de naam kun je die ook prima voor digitale web-layout gebruiken. Je kunt in een QGIS project meerdere layouts hebben, die je beheert via het Project > Layout Manager menu en de andere Layout menus.

Maak een nieuwe layout aan door Project > New Print Layout... te kiezen. Geef de layout een naam en klik OK. Default is er een liggende A4-layout (die voor ons prima werkt), maar je kunt dat veranderen door op het lege "vel papier" te klikken en dan in de Item Properties tab andere instellingen te doen.
Vervolgens voeg je de kaart toe door op het "Add Map" icoon in de linkerbalk te klikken en een vierkant te slepen waar je de kaart wilt op het "papier". In ons geval hebben (zie ) we de hele layout gebruikt.

In de Item Properties tab kun je van alles veranderen: Je kunt meerdere kaarten in een layout plaatsen, die elk afzonderlijk verschalen (schaal instellen als schaalgetal – hier hebben we het afgerond to 1:200.000), roteren, van een frame voorzien, van een kaartgrid, etc.,etc....

Voeg vervolgens een legenda toe, door op de "Add Legend" knop links te klikken (zie ). De default legenda zal heel lang zijn. Pas dat aan door in de Item Properties tab bij "Colums" te kiezen voor 2 kolommen, en bij Legend Items in het drop-down menu te kiezen voor "Manual" en dan alle lagen uit te zetten die geen legenda behoeven (zoals de zee, het land, en andere ongeklassificeerde lagen).

Voeg nu ook een schaalstok toe. Dit werkt op eenzelfde wijze, en zou je zelf moeten kunnen uitvogelen...

Asl je tevreden bent met de layout, kun je het resultaat uitvoeren. Dit kan als SVG of PDF bestand (vooral handig bij verdere verwerkling als drukwerk), of als raster plaatje, bv. in PNG formaat.

Kies het menu Layout > Export as Image... In de uitvoer-dialoog () kun je de resolutie (en nog wat zaken) instellen. Bewaar de kaart als PNG bestand op 72 dpi. Het resultaat zal er uit zien als ...

Over maten en eenheden

Oplettende deelnemers zullen hebben gemerkt dat het kaartbeeld in het 'normale' QGIS window (en zoals we dat uitvoeren in sectie 6.1) niet precies hetzelfde is als dat we krijgen via de Print Layout. Dat heeft te maken met de keuze voor maten in de eerder symbolisatiestappen in secties 3 en 5. In de symbolisatie stappen daar kozen we bijvoorbeeld een lijndikte ("Stroke width") van 0,26 en de eenheid daarvan was millimeters (omdat dat de default eenheid is, en we die niet veranderden). Maar een millimeter op een beeldscherm pakt (afhankelijk van de resolutie van dat scherm) anders uit dan een millimeter in een A4 print layout. Omdat we vanwege de uitgebreidere mogelijkheden meestal uitvoeren via de Print Layout, hebben we in de eerdere secties onze symbolen daarop ge-optimaliseerd.

Een interactieve kaart voor het web

In de basis-configuratie van QGIS kun je alleen statische kaarten uitvoeren. Maar zoals we al in sectie 3 en 5 schreven, kan de functionaliteit van QGIS worden uitgebreid met plugins. Plugins voegen functionaliteit toe aan QGIS, en ze worden meestal gemaakt door anderen dan de hoofdontwikkelaars van QGIS. Een populaire plugin is qgis2web die de mogelijk biedt om een qgis kaart om te zetten naar een interactieve website (gemaakt met HTML, CSS en javascript). De mogelijkheden hiervan zijn enorm, we geven hier slechts een zeer beperkt voorbeeld.

Eerst moet de plugin geïnstalleerd worden: Kies het menu Plugins > Manage and Install Plugins... en type in de Search... box de term "qgis2web". Als de plugin nog niet geïnstalleerd is, klik dan op Install PLugin

Start de plugin via het menu Web > qgis2web > Create web map Voor de eerste testen bevelen we aan om bij de tab Layers en Groups eerst alle layers te de-activeren door bij "Set All' het drop-down menu Layers to: Export Checked/Unchecked te kiezen en dan Apply te klikken. Daarna kun je een paar layers weer aanzetten door ze in de "Layers and Groups" lijst aan te vinken. We bevelen aan te starten met een paar eenvoudige, zoals LandmaskA, SeaA en BuiltUpA...

Klik nu in de tab Export de ... button naast "Export to folder" en kies een locatie om de website op te slaan. Klik vervolgens op de Export button.

Nu kun je met een web-browser naar de door jou gekozen exportfolder gaan en daar het bestand "index.html" openen. Je hebt nu een interactieve webkaart...!

Uitvoer B - van QGIS naar drukwerk

Als je liever deze workshop doet met uitvoer naar kaarten voor het Web, ga dan naar DEZE SECTIE. Je kan daarna altijd nog hier terugkeren om de andere mogelijkheden ook uit te proberen...!

Vanuit QGIS kun je op meerdere manieren je kaart uitvoeren als een digitaal bestand, voor gebruik op het Web of in andere digitale omgevingen. Maar als je digitale bestand bedoeld is om verder te verwerken als gedrukte of geprinte kaart, of als onderdeel van drukwerk, dan moet je met een aantal extra zaken rekening houden.

De Print Layout

Om genoeg controle te hebben over wat je uitvoert, moet je de kaart uitvoeren via het Print Layout window () van QGIS. Dat is omdat je voor een complete kaart vaak randinformatie nodig zult hebben: zaken als een legenda, schaalaanduiding en misschien ook een titel, copyright of andere toegevoegde teksten. Je kunt in een QGIS project meerdere layouts hebben, die je beheert via het Project > Layout Manager menu en de andere Layout menus.

Maak een nieuwe layout aan door Project > New Print Layout... te kiezen. Geef de layout een naam en klik OK. Default is er een liggende A4-layout (die voor ons prima werkt), maar je kunt dat veranderen door op het lege "vel papier" te klikken en dan in de Item Properties tab andere instellingen te doen.
Vervolgens voeg je de kaart toe door op het "Add Map" icoon in de linkerbalk (nr 1 ) te klikken en een vierkant te slepen waar je de kaart wilt op het "papier". In ons geval hebben we de hele layout gebruikt.

In de Item Properties tab kun je van alles veranderen: Je kunt meerdere kaarten in een layout plaatsen, die elk afzonderlijk verschalen (schaal instellen als schaalgetal – hier hebben we het afgerond op 1:5.000), roteren, van een frame voorzien, van een kaartgrid, etc.,etc....

Over maten en eenheden

Oplettende deelnemers zullen hebben gemerkt dat het kaartbeeld in het 'normale' QGIS window niet precies hetzelfde is als dat we krijgen via de Print Layout. Dat heeft te maken met de keuze voor maten in de eerder symbolisatiestappen in secties 3 en 5. In de symbolisatie stappen daar kozen we bijvoorbeeld een lijndikte ("Stroke width") van 0,26 en de eenheid daarvan was millimeters (omdat dat de default eenheid is, en we die niet veranderden). Maar een millimeter op een beeldscherm pakt (afhankelijk van de resolutie van dat scherm en de schaal van de kaart) anders uit dan een millimeter in een A4 print layout. Omdat we vanwege de uitgebreidere mogelijkheden meestal uitvoeren via de Print Layout, hebben we in de eerdere secties onze symbolen daarop ge-optimaliseerd.

Randinformatie & uitvoer

Voeg vervolgens een schaalstok toe, door op de "Add Scale Bar" knop links te klikken (nr 2 in 2) en in de kaart te slepen waar je de schaalstok wilt hebben.Je kunt de bij de Item Properties tab de schaalstok aanpassen aan je wensen (zie ).

Voeg nu ook een bronvermelding toe ("Bron: Openstreetmap data - licensed under the Open Data Commons Open Database License") toe. Dit werkt op eenzelfde wijze, en zou je zelf moeten kunnen uitvogelen...

Asl je tevreden bent met de layout, kun je het resultaat uitvoeren. Dit kan als raster plaatje, bv. in PNG formaat. Maar voor drukwerk moet je eigenlijk een (schaalbaar) vectorformaat gebruiken. In de Print Layout kan dit ook, door uit te voeren als SVG of PDF bestand.

Kies het menu Layout > Export as PDF... In de uitvoer-dialoog () kun je van alles instellen. De optie "Always export as vectors" is belangrijk, om verrastering te voorkomen, waardoor de uitvoer minder geschikt zou zijn voor professioneel drukwerk. De optie "Always export Text as Text Objects" zorgt er in theorie voor dat alle tekst bewerkbaar blijft wanneer je de uitvoer verder verwerkt in een tekenpakket. In praktijk werkt dit niet altijd: wanneer bv een tekst door QGIS geroteerd of gebogen langs een lijn is geplaatst, dan wordt de tekst opgedeeld in aparte letters die elk individueel geplaatst zijn - dat is voor verdere bewerking heel onhandig...

Het resultaat zal er, in het geval je met OSM bezig was, uit zien als . Zoals je ziet is het resultaat, vooral de plaatsing van de labels, nog niet 100% perfect. In de praktijk van professionele opmaak worden daarom vaak nog de laatste bewerkingen en verfijningen "handmatig" gedaan in een tekenpakket als Inkscape, Illustrator of InDesign...