Maken van kaarten automatiseren met Atlas van afdruklay-out (QGIS3)¶
Als uw organisatie afgedrukte of kaarten online publiceert, zult u vaak kaarten maken met dezelfde sjabloon - gewoonlijk één voor elke administratieve eenheid of interessegebied. handmatig maken van deze kaarten kan veel tijd vergen en als u deze op een regelmatige basis wilt bijwerken, zou het een nare klus kunnen worden. QGIS heeft een gereedschap Atlas
dat u kan helpen een kaartsjabloon te maken en eenvoudig een groot aantal kaarten te publiceren voor verschillende geografische regio’s. Als u nog niet bekend bent met de basis van afdruklay-out, bekijk dan de handleiding Een kaart maken (QGIS3).
Overzicht van de taak¶
Deze handleiding geeft weer hoe een kaart voor ‘wetlands’ te maken voor elke county in de staat Hawaii.
Andere vaardigheden die u zult leren¶
gebruiken van de stijlrenderer
Geïnverteerde polygonen
om gebieden te vullen buiten polygonen.Een expressie schrijven in de stijlrenderer
Op regel gebaseerd
om alleen het huidige object weer te geven in Atlas.Een expressie schrijven om dynamische labels te maken in afdruklay-out.
Stijlrenderer
Shapeburst fill
gebruiken om een tweetonige vulling voor een polygoon te maken.
De gegevens ophalen¶
We zullen de GIS Data Layers from State of Hawaii - Office of Planning gebruiken
Download de laag Wetlands uit de categorie Biologic and Ecologic.
Download de laag Census County Boundaries 2010 uit de categorie Cultural and Demographic.
Voor het gemak kunt u direct een kopie van beide gegevenssets downloaden vanaf de links hieronder:
Gegevensbron [HAWAII]
Procedure¶
Zoek in de QGIS Browser naar het bestand
HI_Wetlands.shp.zip
en vergroot het. Selecteer het bestandHI_Wetlands_Poly.shp
en sleep het naar het kaartvenster. Deze laag bevat polygonen die wetlands in de gehele staat Hawaii weergeven.
We hebben we laag met grenzen van de county’s nodig, omdat we afzonderlijke kaarten willen maken voor elke county in de staat. Blader naar het bestand
county10.shp.zip
en vergroot het. Selecteer het bestandcounty10.shp
file en sleep het in het kaartvenster.
Schakel de zichtbaarheid van de laag
HI_Wetlands_Poly
tijdelijk uit. U zult de polygonen van de laagcounty10
nu beter zien. Er zijn 5 objecten opgenomen op deze laag, waar elk object 1 of meer polygonen met zich heeft geassocieerd. De objecten vertegenwoordigen 5 county’s. We zullen deze laag gebruiken als de bedekkingslaag en QGIS configureren om 5 afzonderlijke kaarten te maken - één voor elk object - automatisch.
Schakel de zichtbaarheid van de laag
HI_Wetlands_Poly
weer in. Ga naar .
Laat het veld voor de titel van de afdruklay-out leeg en klik op OK.
Ga, in het venster Afdruklay-out naar .
Sleep een rechthoek met de muis, terwijl u de linker muisknop ingedrukt houdt, waar u de kaart wilt invoegen.
In QGIS3 is de tab Atlas niet standaard zichtbaar. Selecteer .
Schakel naar de tab Atlas. Selecteer het vak Genereer een atlas.
Selecteer de laag
county10
als de Bedekkingslaag. Dit zal aangeven dat we 1 kaart willen maken voor elk object polygoon op de laagcounty10
. U kunt ook Verborgen bedekkingslaag selecteren zodat de objecten zelf niet op de kaart zullen verschijnen.
Schakel naar de tab Item-eigenschappen. Scroll naar beneden en selecteer het vak Beheerd door atlas. Dit geeft aan de lay-out aan dat het bereik dat wordt weergegeven in dit item zal worden bepaald door het gereedschap
Atlas
.
Notitie
U moet het vak Genereer een atlas op de tab Atlas selecteren, anders zal het keuzevak Beheerd door atlas uitgeschakeld zijn.
Nu we de instellingen voor de atlas hebben geconfigureerd, ga naar
.
U zult zien dat de kaart zich vernieuwd en weergeeft hoe elke individuele kaart er uit zal zien. U kunt een voorbeeld zien van hoe de kaart er uitziet voor elk van de polygonen van de county’s. Ga naar
. Atlas zal de kaart renderen naar het bereik van het volgende object in de bedekkingslaag.
Laten we een label toevoegen aan de kaart. Ga naar
.
Zoek, op de tab Item-eigenschappen, naar het gedeelte Algemene eigenschappen en klik op de knop Een expressie invoeren….
Het label van de kaart kan de attributen gebruiken uit de bedekkingslaag. De functie
concat
wordt gebruikt om meerdere tekstitems samen toe voegen tot één enkel tekstitem. In dit geval zullen we de waarde van het attribuutNAME10
op de laagcounty10
samenvoegen metCounty
. Voeg een expressie zoals die hieronder in een klik op OK.
concat('County of ', "NAME10")
Verwijder de tekst van de aanwezige plaatsvervangende aanduiding Lorem ipsum zodat het tekstvak alleen de expressie bevat. Scroll naar beneden naar het gedeelte Uiterlijk en klik op het keuzemenu Lettertype. Kies het lettertype en pas de grootte aan naar uw wensen.
Kies
Centreren
als de Horizontale uitlijning enCentraal midden
als de optie Verticale uitlijning.
Voeg nog een ander label toe en voer
Wetlands-kaart
in onder de Algemene eigenschappen. Deze tekst zal hetzelfde zijn op alle kaarten omdat hier geen expressie wordt gebruikt.
Ga naar
en verifieer dat de labels op de kaart werken zoals bedoeld. Het zal u opvallen dat de kaart met wetlands polygonen heeft die zich uitstrekken tot in de oceaan, wat er lelijk uitziet. We kunnen de stijl wijzigen, zodat de gebieden buiten de grenzen van de county’s worden verborgen.
Schakel naar het hoofdvenster van QGIS. Klik met rechts op de laag
county10
en selecteer Eigenschappen.
Selecteer, op de tab Stijl, de renderer Geïnverteerde polygonen. Deze renderer maakt het gebied buiten de polygoon op - niet er binnen. Selecteer wit als de vulkleur en klik op OK.
U zult zien dat de polygonen die zich uitstrekten tot buiten de grenzen van de county nu zijn verdwenen. In feite worden zij verborgen door de vulling met de witte kleur die zich uitstrekt vanaf de polygonen van de county vanwege de stijl Geïnverteerde polygonen.
Schakel naar het venster van Lay-out. Als we het effect van de geïnverteerde polygonen willen weergeven, moeten we het vak Verborgen bedekkingslaag onder Genereer een atlas deselecteren. U zult zien dat de gerenderde afbeelding schoon is en dat de gebieden buiten de polygonen niet zichtbaar zijn.
Er is echter nog één probleem. U zult merken dat in sommige gevallen delen van de kaart die buiten de grens van de bedekkingslaag liggen, nog steeds zichtbaar zijn. Dat komt omdat Atlas niet automatisch andere objecten verbergt. Dit kan in sommige gevallen nuttig zijn, maar voor ons doel willen we alleen de wetlands weergeven van de county waarvan de kaart wordt gemaakt. Schakel, om dit op te lossen, terug naar het hoofdvenster van QGIS en klik met rechts op de laag
county10
en selecteer Eigenschappen.
Selecteer, op de tab Stijl, de renderer Regel-gebaseerd als de Sub renderer. Dubbelklik op het gebied onder Regel.
Klik, in het dialoogvenster Regel bewerken, op de knop Expressie naast Filter.
Vergroot, in de Expressiebouwer, de functiegroep Variabelen. De variabele
@atlas_featureid
slaat het ID op van het huidige geselecteerde object. We zullen een expressie bouwen die alleen het huidige geselecteerde object in Atlas selecteert. Voer de expressie in zoals hieronder en klik op OK.:
$id = @atlas_featureid
Sluit alle tussenliggende dialoogvensters en schakel terug naar het venster Lay-out. Selecteer het item Kaart 1 en klik op de knop Voorbeeld kaart bijwerken op de tab Item-eigenschappen om de wijzigingen te zien. Merk op dat nu alleen het gebied wordt weergegeven dat de grenzen van de county bedekt.
Notitie
Als u de knop Voorbeeld kaart bijwerken niet ziet, zou het kunnen helpen om eerst een ander element Item te selecteren en dan opnieuw Kaart 1 te selecteren.
We zullen nu nog een ander dynamisch label toevoegen om de huidige datum weer te geven. Ga naar Een expressie invoeren….
en selecteer het gebied op de kaart. Klik op de knop
Vergroot de functiegroep Datum en tijd en u zult de functie
$now
zien. Die bevat de huidige systeemtijd. De functietodate()
zal deze converteren naar een tekenreeks voor een datum. Voer de expressie in zoals hieronder en klik op OK.
concat('Created on: ', todate($now))
Voeg nog een ander label toe dat de bron aanhaalt. U kunt ook nog andere kaartelementen, zoals een noordpijl, schaalbalk etc. toevoegen, zoals beschreven in de handleiding Een kaart maken.
We zullen nog één laatste verbetering aan de stijl maken. Schakel naar het hoofdvenster van QGIS. Klik met rechts op de laag
HI_Wetlands_Poly
en selecteer Eigenschappen.
Klik, op de tab Symbologie, op Standaard vulling en selecteer
Shapeburst vulling
als het Symbollaagtype. Kies de optie Twee kleuren en selecteer tinten groen en blauw die u aanstaan. Klik op OK.
Selecteer het item Kaart 1 en klik op de knop Voorbeeld kaart bijwerken op de tab Item-eigenschappen om de wijzigingen te zien.
Ga, als u tevreden bent met de lay-out en opmaak van de kaart, naar
.
Selecteer een map op uw computer en klik op Map selecteren.
Laat de standaard opties in het venster Opties voor exporteren afbeeldingen zoals ze zijn en klik op Save.
Het gereedschap Atlas zal nu over elk object in de bedekkingslaag gaan en een afzonderlijke kaartafbeelding maken, gebaseerd op de sjabloon die we hebben gemaakt. U kunt de afbeeldingen in de map bekijken als het proces is voltooid.
Hier zijn, als verwijzing, de kaartafbeeldingen.
If you want to give feedback or share your experience with this tutorial, please comment below. (requires GitHub account)