Viktigt

Översättning är en gemenskapsinsats du kan gå med i. Den här sidan är för närvarande översatt till 100.00%.

18.3. Skapa en utdata

Fig. 18.63 visar ett exempel på en utskriftslayout som innehåller alla typer av layoutobjekt som beskrivs i föregående avsnitt.

../../../_images/print_composer_complete.png

Fig. 18.63 Utskriftslayout med kartvy, teckenförklaring, bild, skalstreck, koordinater, text och HTML-ram tillagd

Från menyn eller verktygsfältet Layout kan du mata ut utskriftslayouten till olika filformat, och det är möjligt att ändra upplösning (utskriftskvalitet) och pappersstorlek:

  • Med ikonen filePrint Print kan du skriva ut layouten till en ansluten skrivare eller en PostScript-fil, beroende på vilka skrivardrivrutiner som är installerade.

  • Ikonen saveMapAsImage Export as image exporterar utskriftslayoutens bildformat som PNG, BMP, TIF, JPG och många andra…

  • Ikonen saveAsSVG Export as SVG sparar utskriftslayouten som en SVG (Scalable Vector Graphic).

  • Ikonen saveAsPDF Export as PDF sparar den definierade utskriftslayouten direkt som en PDF-fil (Portable Document Format).

18.3.1. Inställningar för export

När du exporterar en utskriftslayout finns det ett urval av exportinställningar som QGIS måste kontrollera för att kunna producera den mest lämpliga utskriften. Dessa konfigurationer är:

Dessutom tillämpas ett antal fördefinierade kontroller automatiskt på layouten. För närvarande omfattar dessa kontroller testning av att skalfält är korrekt länkade till kartobjekt och att kartöversiktsobjekt också är korrekt länkade till en karta. Om kontrollerna misslyckas visas en fin varning som informerar dig om problemet.

18.3.2. Exportera som bild

Så här exporterar du en layout som en bild:

  1. Klicka på ikonen saveMapAsImage Exportera som bild

  2. Välj det bildformat, den mapp och det filnamn (t.ex. myill.png) som ska användas. Om layouten innehåller mer än en sida exporteras varje sida till en fil med det angivna filnamnet med sidnumret som tillägg (t.ex. myill_2.png).

  3. I nästa (Bildexportalternativ) dialogruta:

    • Du kan åsidosätta utskriftslayouten Export resolution och de exporterade sidornas mått (som anges i panelen Layout).

    • Bildrenderingen kan också förbättras med alternativet Enable antialiasing.

    • Om du vill exportera din layout som en georefererad bild (t.ex. för att dela med andra projekt), markera alternativet Generate world file och en ESRI World File med samma namn som den exporterade bilden, men med ett annat tillägg (.tfw för TIFF, .pnw för PNG, jgw för JPEG, …) kommer att skapas vid export. Det här alternativet kan också markeras som standard i layoutpanel.

      Observera

      För utdata på flera sidor kommer endast den sida som innehåller referenskarta att få en världsfil (förutsatt att alternativet Generera världsfil är markerat).

    • Genom att markera alternativet checkbox Crop to content kommer den bild som matas ut av layouten att innehålla det minimala område som omsluter alla objekt (karta, teckenförklaring, skalstreck, former, etikett, bild…) på varje sida i kompositionen:

      • Om kompositionen innehåller en enda sida ändras storleken på utdata så att ALLT på kompositionen inkluderas. Sidan kan sedan förminskas eller utökas till alla objekt beroende på deras position (på, ovanför, under, till vänster eller höger om sidan).

      • Om layouten består av flera sidor kommer varje sida att storleksändras så att den omfattar objekt inom sitt område (vänster och höger sida för alla sidor, plus toppen för den första sidan och botten för den sista sidan). Varje storleksändrad sida exporteras till en separat fil.

      I dialogrutan Crop to content kan du också lägga till marginaler runt de beskurna gränserna.

    • Genom att markera checkbox Öppna fil efter export kommer den exporterade filen automatiskt att öppnas i standardbildvisaren.

../../../_images/image_export_options.png

Fig. 18.64 Alternativ för bildexport

Tips

Använd bildformat som stöder transparens när objekten sträcker sig utanför pappersytan

Layoutobjekt kan placeras utanför pappersområdet. När du exporterar med alternativet Crop to content kan den resulterande bilden därför sträcka sig utanför pappersutbredningen. Eftersom bakgrunden utanför pappersområdet kommer att vara transparent, kommer den transparenta bakgrunden att återges som helsvart i bildformat som inte stöder transparens (t.ex. BMP och JPG), vilket ”förstör” bilden. Använd transparens-kompatibla format (t.ex. TIFF och PNG) i sådana fall.

Observera

När det stöds av formatet (t.ex. PNG) och det underliggande Qt-biblioteket kan den exporterade bilden innehålla projektmetadata (författare, titel, datum, beskrivning…)

18.3.3. Exportera som SVG

Så här exporterar du en layout som SVG:

  1. Klicka på ikonen saveAsSVG Exportera som SVG

  2. Fyll i sökvägen och filnamnet (används som ett basnamn för alla filer vid flersidig komposition, som vid bildexport)

  3. I nästa dialogruta SVG Export Options kan du åsidosätta layoutens standardinställningar export settings eller konfigurera nya:

    • unchecked Exportera kartlager som SVG-grupper: exporterade objekt grupperas inom lager vars namn matchar lagernamnen från QGIS, vilket gör det mycket lättare att förstå innehållet i dokumentet.

    • unchecked Alltid exportera som vektorer: vissa renderingsalternativ kräver att objekten rastreras för att få en bättre rendering. Markera det här alternativet om du vill behålla objekten som vektorer, med risk för att utseendet på utdatafilen kanske inte stämmer överens med förhandsgranskningen av utskriftslayouten (för mer information, se Inställningar för export).

    • checkbox Exportera RDF-metadata för dokumentet, t.ex. titel, författare, datum, beskrivning …

    • checkbox Förenkla geometrier för att minska storleken på utdatafilen: detta undviker att exportera ALLA geometriska hörn, vilket kan resultera i en löjligt komplex och stor exportfil som inte kan laddas i andra applikationer. Geometrier kommer att förenklas när layouten exporteras för att ta bort alla överflödiga hörn som inte är märkbart olika vid exportupplösningen (t.ex. om exportupplösningen är 300 dpi, kommer hörn som är mindre än 1/600 tum från varandra att tas bort).

    • Ange Text export: styr om textetiketter alltid eller helst ska exporteras som text- eller konturobjekt.

    • Tillämpa checkbox Beskär till innehåll alternativ

    • unchecked Avaktivera export av kaklade rasterlager: Vid export av filer använder QGIS en inbyggd rasterlagerstiliserad rendering som sparar minne. Ibland kan detta orsaka synliga ”sömmar” i rastrerna för genererade filer. Om du markerar det här alternativet åtgärdas detta, till priset av en högre minnesanvändning under exporten.

    • Genom att markera checkbox Öppna fil efter export kommer den exporterade filen automatiskt att öppnas i standard SVG-visningsprogrammet.

../../../_images/svg_export_options.png

Fig. 18.65 Alternativ för SVG-export

Observera

För närvarande är SVG-utdata mycket grundläggande. Detta är inte ett QGIS-problem, utan ett problem med det underliggande Qt-biblioteket. Förhoppningsvis kommer detta att lösas i framtida versioner.

18.3.4. Exportera som PDF

Så här exporterar du en layout som PDF:

  1. Klicka på ikonen saveAsPDF :sup:Exportera som PDF

  2. Fyll i sökväg och filnamn: till skillnad från bild- och SVG-export exporteras alla sidor i layouten till en enda PDF-fil.

  3. I nästa dialogruta PDF Export Options kan du åsidosätta layoutens standardinställningar export settings eller konfigurera nya:

    • unchecked Alltid exportera som vektorer: vissa renderingsalternativ kräver att objekten rastreras för att få en bättre rendering. Markera det här alternativet om du vill behålla objekten som vektorer, med risk för att utseendet på utdatafilen kanske inte stämmer överens med förhandsgranskningen av utskriftslayouten (för mer information, se Inställningar för export).

      Observera

      Tänk på opacitetsinställningar för vektorlager

      När du ställer in en lageromfattande opacitet (eller opacitet för en vectorsymbolik) till mindre än 100%, tvingar det fram en rastrerad rendering av dessa objekt under PDF-exporten. Beroende på lagrets storlek kan detta öka PDF-filens storlek avsevärt.

    • checkbox Lägg till georeferensinformation: endast tillgänglig om referenskarta, från vilken informationen hämtas, finns på första sidan.

    • checkbox Exportera RDF-metadata för dokumentet, t.ex. titel, författare, datum, beskrivning …

    • Ange Text export: styr om textetiketter alltid eller helst ska exporteras som text- eller konturobjekt.

    • Styr PDF Bildkomprimering med hjälp av:

      • Lossy (JPEG), vilket är standardkomprimeringsläget

      • eller Lossless, vilket skapar större filer i de flesta fall, men är mycket mer lämpligt för utskrift eller för efterbehandling i externa program (kräver Qt 5.13 eller senare).

    • unchecked Skapa geospatial PDF: Genererar en georefererad PDF-fil.

    • unchecked Avaktivera export av rasterlager i mosaikformat: När filer exporteras använder QGIS en tiledbaserad rendering som sparar minne. Ibland kan detta orsaka synliga ”sömmar” i rastrerna för genererade filer. Om du markerar det här alternativet åtgärdas detta, till priset av en högre minnesanvändning under exporten.

    • checkbox Förenkla geometrier för att minska storleken på utdatafilen: Geometrier förenklas när layouten exporteras genom att toppar som inte skiljer sig märkbart åt vid exportupplösningen tas bort (t.ex. om exportupplösningen är 300 dpi kommer toppar som är mindre än 1/600 tum från varandra att tas bort). Detta kan minska exportfilens storlek och komplexitet (mycket stora filer kan inte laddas i andra program).

    • Genom att markera checkbox Öppna fil efter export kommer den exporterade filen automatiskt att öppnas i standard PDF-visningsprogrammet.

../../../_images/pdf_export_options.png

Fig. 18.66 Alternativ för PDF-export

Observera

Geospatial PDF-export stöds och ett antal specifika alternativ för Geospatial PDF finns tillgängliga:

  • Format (Geospatialt PDF-format - det finns vissa variationer),

  • Inkludera flera kartteman (ange vilka kartteman som ska inkluderas),

  • Include vector feature information (välj lager och gruppera dem i logiska PDF-grupper).

Observera

Om du exporterar en utskriftslayout till format som stöder georeferenser (t.ex. PDF och TIFF) skapas en georefererad utskrift som standard.

18.3.5. Skapa en Atlas

Med Atlas funktioner kan du skapa kartböcker på ett automatiserat sätt. Atlas använder funktionerna i en tabell eller ett vektorlager (Coverage layer) för att skapa en utdata för varje funktion (atlasfunktion) i tabellen / lagret. Den vanligaste användningen är att zooma ett kartobjekt till den aktuella atlasfunktionen. Ytterligare användningsfall inkluderar:

  • ett kartobjekt som för ett annat lager endast visar objekt som har samma attribut som atlasobjektet eller som ligger inom dess geometri.

  • en etikett eller ett HTML-objekt vars text ersätts när funktioner itereras över

  • ett tabellobjekt som visar attribut för associerade föräldrar eller barn-objekt för det aktuella atlasobjektet…

För varje funktion bearbetas utdata för alla sidor och artiklar i enlighet med deras exportinställningar.

Tips

Använd variabler för mer flexibilitet

QGIS tillhandahåller en stor panel av funktioner och variabler, inklusive atlasrelaterade sådana, som du kan använda för att manipulera layoutobjekten, men också lagrens symbologi, enligt atlasstatus. Kombinationen av dessa funktioner ger dig mycket flexibilitet och hjälper dig att enkelt producera avancerade kartor.

För att aktivera generering av en atlas och komma åt atlasparametrar, se panelen Atlas. Denna panel innehåller följande (se Fig. 18.67):

../../../_images/atlas_properties.png

Fig. 18.67 Atlaspanelen

  • checkbox Generera en atlas aktiverar eller inaktiverar generering av atlas.

  • Konfiguration

    • En kombinationsruta Coverage layer selectString där du kan välja det tabell- eller vektorlager som innehåller de funktioner som ska itereras över.

    • En valfri checkbox Hidden coverage layer som, om den är markerad, kommer att dölja täckningslagret (men inte de andra lagren) under genereringen.

    • En valfri Sidnamn-kombinationsruta för att ange namnet på funktionssidan/funktionssidorna. Du kan välja ett fält i täckningslagret eller ange en expression. Om detta alternativ är tomt kommer QGIS att använda ett internt ID, enligt det filter och/eller den sorteringsordning som tillämpas på lagret.

    • En valfri textruta (checkbox Filter with) där du kan ange ett uttryck för filtrering av funktioner från täckningslagret. Om uttrycket inte är tomt kommer endast funktioner som utvärderas till True att bearbetas.

    • En valfri kryssruta Sort by som gör att du kan sortera funktioner i täckningslagret (och utdata) med hjälp av ett fält i täckningslagret eller ett uttryck. Sorteringsordningen (antingen stigande eller fallande) anges av den tvådelade knappen Sort direction som visar en uppåt- eller nedåtpil.

  • Output - här kan atlasens utdata konfigureras:

    • En textruta för Output filename expression som används för att generera ett filnamn för varje atlasfunktion. Den är baserad på uttryck. är endast meningsfull för rendering till flera filer.

    • En kryssruta Export av en enda fil när det är möjligt som gör att du kan tvinga fram generering av en enda fil om det är möjligt med det valda utdataformatet (t.ex. PDF). Om det här fältet är markerat är värdet i fältet Output filename expression meningslöst.

    • En rullgardinslista med Bildexportformat för att välja utdataformat när du använder knappen saveMapAsImage Exportera atlas som bilder….

18.3.5.1. Kontroll karta efter atlas

Den vanligaste användningen av atlas är med kartobjektet, som zoomar till den aktuella atlasfunktionen när iterationen går över täckningslagret. Detta beteende ställs in i Controlled by atlas-gruppegenskaperna för kartobjektet. Se Kontrolleras av atlas för olika inställningar som du kan tillämpa på kartobjektet.

18.3.5.2. Anpassa etiketter med uttryck

För att anpassa etiketter till den funktion som atlasen itererar över kan du inkludera uttryck. Se till att du placerar uttrycksdelen (inklusive funktioner, fält eller variabler) mellan [% och %] (se Etikettobjektet för mer information).

För ett stadslager med fälten CITY_NAME och ZIPCODE kan du till exempel infoga detta:

The area of [% concat( upper(CITY_NAME), ',', ZIPCODE, ' is ',
format_number($area/1000000, 2) ) %] km2

eller en annan kombination:

The area of [% upper(CITY_NAME)%],[%ZIPCODE%] is
[%format_number($area/1000000,2) %] km2

Informationen [% concat( upper(CITY_NAME), ',', ZIPCODE, ' is ', format_number($area/1000000, 2) ) %]` är ett uttryck som används inuti etiketten. Båda uttrycken skulle resultera i följande typ av etikett i den genererade atlasen:

The area of PARIS,75001 is 1.94 km2

18.3.5.3. Utforska datadefinierade åsidosättningsknappar med atlas

Det finns flera ställen där du kan använda en dataDefine Data defined override-knapp för att åsidosätta den valda inställningen. Detta är särskilt användbart vid atlasgenerering. Se Inställning av datadefinierad åsidosättning för mer information om den här widgeten.

I följande exempel används lagret Regions i QGIS exempeldataset och väljs som Coverage layer för atlasgenerering. Vi antar att det är en layout med en enda sida som innehåller ett kartobjekt och ett etikettobjekt.

När höjden (nord-sydlig) på en region är större än bredden (öst-västlig) bör du använda Portrait istället för Landscape för att optimera pappersanvändningen. Med knappen dataDefine Data Defined Override kan du dynamiskt ställa in pappersorienteringen.

Högerklicka på sidan och välj Page Properties för att öppna panelen. Vi vill ställa in orienteringen dynamiskt med hjälp av ett uttryck som beror på regionens geometri, så tryck på knappen dataDefine i fältet Orientation, välj Edit… för att öppna dialogrutan Expression string builder och ange följande uttryck:

CASE WHEN bounds_width(@atlas_geometry) > bounds_height(@atlas_geometry)
THEN 'Landscape' ELSE 'Portrait' END

Om du nu förhandsvisar atlasen orienterar sig papperet automatiskt, men objektens placering kanske inte är idealisk. För varje region måste du också omplacera layoutobjekten. För kartobjektet kan du använda knappen dataDefine för dess egenskap Width för att ställa in den dynamiskt med hjälp av följande uttryck:

@layout_pagewidth - 20

På samma sätt kan du använda knappen dataDefine för egenskapen Height för att ange följande uttryck för att begränsa kartobjektets storlek:

@layout_pageheight - 20

För att säkerställa att kartobjektet är centrerat på sidan ställer du in dess Reference point på den övre vänstra alternativknappen och anger 10 för dess X- och Y-positioner.

Låt oss lägga till en titel ovanför kartan i mitten av sidan. Välj etikettobjektet och ställ in den horisontella justeringen till radioButtonOn Center. Flytta sedan etiketten till höger position, välj mittknappen för Reference point och ange följande uttryck för fältet X:

@layout_pagewidth / 2

För alla andra layoutobjekt kan du ställa in positionen på ett liknande sätt så att de är korrekt placerade både för stående och liggande format. Du kan också göra fler justeringar, t.ex. anpassa titeln med funktionsattribut (se exemplet Anpassa etiketter med uttryck), ändra bilder, ändra antalet kolumner i teckenförklaringen beroende på sidans orientering, …

Den information som ges här är en uppdatering av den utmärkta bloggen (på engelska och portugisiska) om de datadefinierade åsidosättningsalternativen Multiple_format_map_series_using_QGIS_2.6 .

Ett annat exempel på användning av datadefinierade åsidosättningsknappar är användning av en dynamisk bild. I följande exempel använder vi ett geopackage-lager som innehåller ett BLOB-fält som heter logo med fälttypen binär (se Skapa ett nytt GeoPackage-lager). För varje funktion definieras en annan bild så att atlasen kan iterera över enligt beskrivningen i Förhandsgranska och skapa en atlas. Allt du behöver göra är att lägga till en bild i utskriftslayouten och gå till dess Item properties i atlaskontexten. Där kan du hitta en datadefinierad åsidosättningsknapp i avsnittet Image source i Main Properties.

../../../_images/picture_image_source.png

I det följande fönstret väljer du Edit så att Expression String Builder öppnas. I avsnittet Fields and values hittar du det BLOB-fält som definierades i geopackage-lagret. Dubbelklicka på fältnamnet logo och klicka på OK.

../../../_images/expression_blob_picture_atlas.png

Atlasen itererar över posterna i BLOB-fältet förutsatt att du väljer geopackage-lagret som Coverage layer (ytterligare instruktioner finns i Förhandsgranska och skapa en atlas).

Det här är bara två exempel på hur du kan använda avancerade inställningar med Atlas.

18.3.5.4. Förhandsgranska och skapa en atlas

../../../_images/atlas_preview.png

Fig. 18.68 Atlas verktygsfält för förhandsgranskning

När atlasinställningarna har konfigurerats och layoutobjekt (karta, tabell, bild …) har länkats till den kan du skapa en förhandsgranskning av alla sidor genom att välja Atlas ► Preview Atlas eller klicka på ikonen atlas Preview Atlas. Du kan sedan använda pilarna för att navigera genom alla funktioner:

  • atlasFirst Första funktionen

  • atlasPrev Föregående funktion

  • atlasNext Nästa funktion

  • atlasLast Sista funktion

Du kan också använda kombinationsrutan för att välja och förhandsgranska en specifik funktion. Kombinationsrutan visar namn på atlasfunktioner enligt det uttryck som anges i alternativet atlas Sidnamn.

När det gäller enkla kompositioner kan en atlas genereras på olika sätt (se Skapa en utdata för mer information - använd bara verktyg från Atlas-menyn eller verktygsfältet istället för Layout-menyn.

Detta innebär att du kan skriva ut dina kompositioner direkt med Atlas ► Print Atlas. Du kan också skapa en PDF-fil med hjälp av Atlas ► Export Atlas as PDF…: Du kommer att bli ombedd att ange en katalog för att spara alla genererade PDF-filer, utom om kryssrutan Export av enstaka filer när det är möjligt har valts. I så fall kommer du att uppmanas att ange ett filnamn.

Med verktyget Atlas ► Exportera atlas som bilder… eller Atlas ► Exportera atlas som SVG… blir du också ombedd att välja en mapp. Varje sida i varje atlasfunktionskomposition exporteras till det bildfilformat som anges i Atlas-panelen eller till SVG.

Observera

Med flersidig utmatning beter sig en atlas som en layout på så sätt att endast den sida som innehåller Allmänna inställningar får en world-fil (för varje funktion som matas ut).

Tips

Skriv ut en specifik atlasfunktion

Om du vill skriva ut eller exportera sammansättningen av endast en funktion i atlasen, startar du bara förhandsgranskningen, väljer önskad funktion i rullgardinsmenyn och klickar på Layout ► Print (eller Export… till valfritt filformat).

18.3.5.5. Använd projektdefinierade relationer för att skapa atlaser

För användare med HTML- och Javascript-kunskaper är det möjligt att arbeta med GeoJSON-objekt och använda projektdefinierade relationer från QGIS-projektet. Skillnaden mellan detta tillvägagångssätt och att använda uttryck som infogas direkt i HTML är att du får en fullständig, ostrukturerad GeoJSON-funktion att arbeta med. Detta innebär att du kan använda befintliga Javascript-bibliotek och funktioner som arbetar med GeoJSON-objektrepresentationer.

Följande kod inkluderar alla relaterade underordnade funktioner från den definierade relationen. Med hjälp av JavaScript-funktionen setFeature kan du skapa flexibel HTML som representerar relationer i vilket format du vill (listor, tabeller etc.). I kodexemplet skapar vi en dynamisk punktlista över de relaterade underordnade funktionerna.

// Declare the two HTML div elements we will use for the parent feature id
// and information about the children
<div id="parent"></div>
<div id="my_children"></div>

<script type="text/javascript">
   function setFeature(feature)
   {
     // Show the parent feature's identifier (using its "ID" field)
     document.getElementById('parent').innerHTML = feature.properties.ID;
     //clear the existing relation contents
     document.getElementById('my_children').innerHTML = '';
     feature.properties.my_relation.forEach(function(child_feature) {
     // for each related child feature, create a list element
     // with the feature's name (using its "NAME" field)
       var node = document.createElement("li");
       node.appendChild(document.createTextNode(child_feature.NAME));
       document.getElementById('my_children').appendChild(node);
     });
   }
</script>

Under skapandet av atlasen sker en iteration över det täckningslager som innehåller de överordnade objekten. På varje sida visas en punktlista över de relaterade underordnade objekten efter den överordnades identifierare.