How to Create QGIS Atlas Mapbooks
Like a modern-day mechanical mapping machine, you can automate your map output. For 99% of us, there are 2 surefire ways to create map books:
1. ArcGIS Data Driven Pages
2. QGIS Atlas
We’ve reviewed pumping out maps with ArcGIS data driven pages. Esri’s data driven pages work great. It’s solid.
But today we want to examine an equally effective method with an Atlas tutorial for QGIS 2.18 and QGIS 3.
READ MORE: The Hidden Powers of QGIS 3
Put Your Mapping in Auto-Pilot with QGIS Atlas
The QGIS Atlas is a true open source technique to generate hundreds of maps in minutes. In the map-making business, this means being efficient without compromising art and intricacy.
QGIS’ Composer has the ability to create an “Atlas” built-in. In open source QGIS software, before version 1.9 it used to be a plugin. Now, it’s integrated into QGIS core.
Simply, QGIS Atlas allows you to create multiple maps using records in a shapefile or spatial data set.
All you need to do is select a map layer containing geometries as your index layer. Each geometry in the index layer is used to create each page. QGIS Atlas dynamically changes the view extent to each feature in the index layer. This means you can save tens, hundreds, or thousands of maps as a single PDF or separate images.
There are tons of options to customize your map output. Let’s get our feet wet with a QGIS Atlas tutorial.
READ MORE: 35 Differences Between ArcGIS Pro and QGIS 3
How to Create a QGIS Atlas Mapbook
Let’s use the Natural Earth’s populated places layer. We have 4 records in the attribute table with point locations of New York, Los Angeles, Chicago, and Houston.
This means QGIS Atlas will generate 4 pages because there are 4 locations. If you have 1000 records, QGIS Atlas will produce 1000 pages.
Step 1. Create a new composer window
Click File > New Composer
QGIS Composer is where you set up your map output.
Step 2. Add a new map item
In your new QGIS Composer, select the New Map Item tool. Drag and create a rectangle in your Composer map canvas.
Step 3. Click “Generate an Atlas” in the “Atlas Generation” pane
In the right pane, check the box “Atlas Generation”
Step 4. Choose your coverage layer
Your coverage layer is the index layer used to create each page. QGIS Atlas dynamically changes the view extent of each feature in the coverage layer. The number of records in the coverage determines how many pages will be in your map book.
We have the 4 most populated cities (New York, Los Angeles, Chicago, and Houston) in our index layer. This means our map book will output 4 pages.
Step 5. Select “Controlled By Atlas” in “Item Properties”
In the “Item Properties” tab, check the box for “Controlled By Atlas”
Step 6. Export QGIS Atlas Mapbook
Click Atlas > Export Atlas as PDF
Result: QGIS Atlas Mapbook
The result is a 4-page PDF of each feature in the index layer. New York, Los Angeles, Chicago, and Houston are dynamically displayed with very little effort by the cartographer.
QGIS Atlas has additional functionality for you to customize your map books. The setup and possibilities are endless, in a good way.
Other Functionality
We love the way you can preview map books using the QGIS Atlas toolbar. It’s unique for you to get a feel for how the map book will look when exported. Push the Preview Atlas button to enable this feature.
From there, you can flip through the pages of your map book one by one. Here you can export as SVG, PDF, or images.
Customize your Exports Uniquely
What will be the file names of your maps or mapbook? The Output Filename Expression controls the file names of your export.
When you check Single File Export When Possible, the output PDF file will be in a single PDF. When this option is not checked, the output will be separate PDFs.
How will the mapbook be sorted? This can be controlled using the Sort By and dropdown.
Delve into Scales and Margins
In the Item Properties pane, you must select Controlled by Atlas. With a polygon feature as your coverage layer, you can set up margins around the feature. This means that the scale will dynamically adjust itself.
For example:
When you set up 10% around the continents polygon, this is how much margin will be around each feature. Here is how the continent of Africa will look with a 10% margin:
Here is Africa with a 10% margin
Here is Africa with a 50% margin
Generate Dynamic Text and Dynamic Everything as Labels
Dynamic text is a label that updates automatically based on a property of a map. If you want to dynamically label a city name on your map, click Add New Label. Under Item Properties, click Insert an Expression.
Under Fields and Values, double-click the field you want to dynamically be displayed in the map window. The expression will be similar to [% “NAME” %]:
QGIS Atlas has its own list of functions that can be added as labels. This includes everything from the feature number to the number of features in the mapbook.
Pull Off a Strip Map Along a Line
Okay, the header is deceiving. There is no strip map tool in QGIS.
But if you want to use QGIS Atlas along a line, all you have to do is split it into segments. And there is a tool to do that in GRASS.
The v.split.length function splits the line into equal segments defined by the user. This means that QGIS Atlas will generate maps for each line segment.
Final Thoughts on QGIS Atlas
QGIS has its own little map-making factory and it’s called QGIS Atlas. Hundreds of mapping monkeys would have a hard time competing with this well-oiled machine. Automation is becoming key in a world begging for spatial answers instantly.
QGIS Atlas is gaining steam. With a little bit of practice, and this QGIS Atlas tutorial, you have the necessary tools to build your own atlas with authority.
Map with confidence, speed, and automation.
QGIS Atlas is the only robust open source option to generate beautiful maps without compromising cartography.
Do you want to learn how to use QGIS? Yes? Then, check out our QGIS 3 tutorials to learn all the essentials.
This is one interesting part of the QGIS atlas. But how could we create a dynamic grid for different features in a layer having different sizes and scales in the QGIS atlas feature?
How to summarize column for unique attributes in database using qgis?
I want help for how to use the clipping feature in QGIS when we use ATLAS
One of the best tutorials I have encountered. Step by step with excellent screen shots and very easy to follow. Thank you.
QGIS is excellent, I just quit another software and star using my new project with QGIS, thanks
Kelvin, You can use Atlas Grids plugins for that :-)
Cheers
Thanks for the handy tutorial. I learned a lot, but found that Atlas doesn’t do what I was looking for. My ‘atlas’ doesn’t vary spatially, just varies in content. I wonder if there is an effort planned that would help automate that type of presentation.
Most atlases are not done at the global scale. They’re usually of a city or jurisdiction, in which case they require some sort of road name index. QGIS’ atlas feature needs some sort of index creation assistant before it’s usable for most people.