QGIS hands-on: load, style, export
QGIS is the free and open-source workhorse of desktop GIS. This week is hands-on: load real launch-site data, query it, style it with rules-based symbology, and export a publication-quality map.
If you had a map of every reef break and every fishing ground around Oʻahu, who would you share it with? Who would you keep it from? Why?
QGIS is a free tool for making and sharing maps. Power and responsibility ride together: the same map can protect a place by being public, or harm it by being too public. This week, learn the tool — then think about who your maps serve.
Learning objectives
- Install QGIS and open a project
- Load vector (GeoJSON) and raster (GeoTIFF) layers
- Use the attribute table and run a simple query
- Style a layer with rules-based symbology
- Export a print-quality map composition
- Distinguish the reference ellipsoid (geometric) from the geoid (mean-sea-level surface) — the foundation for elevations, parallax (W15), and production datum work (W24)
Primer
QGIS is the free and open-source desktop GIS. It is the industry-standard alternative to ESRI's ArcGIS Pro, used by governments, NGOs, research institutions, and a huge swath of professional GIS practitioners. For an academy graduate, fluency in QGIS is non-negotiable — and unlike commercial alternatives, the entire toolchain is free, cross-platform, and installable in 5 minutes.
Installing QGIS
Download the long-term-release (LTR) version from qgis.org/download. The LTR is what professional teams standardize on; the regular release ships every 4 months and has more bugs. At time of writing, QGIS 3.34 LTR is current.
On macOS, the official installer is a .dmg that puts QGIS in /Applications. On Windows, the official installer is an MSI. On Linux, your distribution's package manager almost always has a recent build. After installation, open QGIS — you'll see a project view, a layers panel on the left, a map canvas in the center, and a toolbox of geoprocessing tools on the right.
Layers: vector + raster + basemap
A QGIS project is a stack of layers. Each layer is either vector (GeoJSON, Shapefile, GeoPackage, etc.) or raster (GeoTIFF, NetCDF, COG, etc.). Add a layer via Layer → Add Layer → Add Vector Layer, or just drag-and-drop a file onto the canvas.
For this week's lab, you'll load three things:
- A spaceport GeoJSON (provided in the lab repo): 20 active orbital launch sites with attributes (name, country, operator, vehicles, status).
- A Natural Earth basemap: a low-resolution country boundary layer that gives geographic context.
- An optional OpenStreetMap tile layer, added via the QuickMapServices plugin, for satellite-imagery-style detail at high zoom.
The attribute table
Every vector layer has an attribute table — a spreadsheet of the layer's properties. Right-click the layer → Open Attribute Table. From there you can filter, sort, and run expressions. Try the expression "operator" = 'SpaceX' to filter for SpaceX pads only. The filter applies live to the map.
Attributes are also what you style by. Layer styles can be uniform (every feature same), categorized (group features by an attribute value and assign each group a color), graduated (continuous values binned into ranges), or rules-based (the most flexible: an arbitrary expression per rule). For the lab, you'll use a categorized style on the operator field — every operator gets a distinct color.
Symbology, labels, and basemaps
Open Layer Properties → Symbology. Choose Categorized, set the Column to operator, click Classify, then assign each category a color from the QGIS palette. The legend updates automatically.
For labels, go to Layer Properties → Labels. Choose Single Labels, set the field to name, then choose a font (Inter or Helvetica look professional), a buffer (white halo, so labels are readable over any basemap), and a placement rule (offset from point, with leader line for overlapping labels).
Print layout: from screen to PDF
A QGIS map isn't done until it's exported. Open Project → New Print Layout. Give the layout a name. In the layout window, add a map item (the canvas content), then add a title, a legend (automatically pulled from the layers panel), a scale bar, a north arrow, and a data attribution text box in the corner.
Export to PDF at 300 DPI. The result is print-publication ready — the same quality you'd expect from a professional cartographer's deliverable.
Quick geodesy primer: ellipsoid vs geoid
Before you ship a map with a scale bar — or before you read elevations off any dataset — you need a short note on what "up" actually means. There are two reference surfaces every GIS practitioner has to keep straight:
- The reference ellipsoid is a smooth mathematical model of Earth's shape: bulged at the equator (radius 6,378,137 m on the WGS84 ellipsoid) and flattened at the poles. It's pure geometry. WGS84 coordinates from GPS and from every satellite-derived dataset you'll use this year are measured against this ellipsoid.
- The geoid is the actual gravitational equipotential surface that best matches mean sea level — a lumpy, irregular surface that follows where water would sit if Earth's land vanished. The standard global model is EGM2008 (Earth Gravitational Model 2008, accurate to about 15 cm).
Why two surfaces? Because GPS reports height above ellipsoid, but almost every map, flood model, civil-engineering drawing, and human conversation uses height above mean sea level — i.e., height above the geoid. The two differ by up to plus-or-minus 100 m globally. In Hawaiʻi, the geoid is roughly 10–15 m above the WGS84 ellipsoid (so a GPS-reported altitude reads ~10–15 m higher than the same point on a USGS topo map). Iceland sits in a strong positive anomaly at ~+65 m; the South Indian Ocean dips to nearly −100 m. None of these are tiny — if you pull a SRTM elevation and a GPS-derived altitude and naively subtract them, you'll get a 20-meter answer for a real 0-meter offset. Production geodesy work — flood-inundation maps, building-height analysis, the parallax math you'll meet in Week 15 — has to honor this distinction.
For QGIS work this week: every measure-distance and measure-area tool defaults to geodesic (great-circle on the WGS84 ellipsoid) — that's the right behavior, and why your measurements will agree with Google Earth's. When you need to apply vertical datum transforms in code (raw GPS → orthometric), the proj-egm grids are the standard reference. Week 24 takes this all the way into production pipelines; you only need the concept here.
The five must-know QGIS shortcuts
Ctrl+Shift+S— save projectCtrl+J— zoom to layerF7— toggle attribute tableF9— toggle field calculatorCtrl+Shift+M— toggle measure-distance tool (uses geodesic by default)
QGIS is the foundation. Every subsequent week's lab can be opened, validated, and visualized in QGIS — even when the lab itself runs in Python. Get comfortable here.
Connecting to Hawaiʻi: QGIS and ʻāina-based mapping
Several Hawaiʻi-based organizations use QGIS every day: Kuaʻāina Ulu ʻAuamo for community-based fisheries mapping, the Office of Hawaiian Affairs for ceded-land tracking, watershed-restoration groups for ahupuaʻa-scale planning. QGIS is free and runs on any computer — that matters because expensive GIS software has historically been a barrier that kept community groups out. The whole reason QGIS exists is so that decision-making about a place isn't limited to people who can afford a $5,000/year ArcGIS license. Learning it is, in a small way, a political act.
Hands-on lab: Build your first space map in QGIS
Open QGIS, load a global spaceport GeoJSON and a basemap raster, style by country and operator, label by name, export to PDF.
Quiz — click an answer to check it
No grade, no shame. Tap any option; you'll see if it's right plus the answer if not. The point is to notice what you already know and what's still settling.
- Proprietary software
- Free and open source
- An online-only service
- Built by ESRI
- The map legend
- A spreadsheet of feature properties
- The projection definition
- Style settings
- Style features by attribute conditions
- Print to PDF
- Connect to PostGIS
- Calculate buffers
- A vector format
- A raster format with embedded georeference
- A 3D format
- A web-only format
- Code
- Print-quality maps with legends and scale bars
- SQL queries
- Python plugins
Reflection
Take five minutes with this. Write your answer somewhere. Carry it into next week.