Skip to main content

QGIS Overview

TOOL
๐Ÿ“–10 min read

Create Accurate Maps with Blender GIS and QGIS by Nicko16
1 / 3

Introductionโ€‹

QGIS is a free, open-source Geographic Information System application. It lets you retrieve and layer different types of geographic data (satellite images, terrain models, street maps) on top of each other, align them properly, and manipulate them. For our purposes, QGIS serves as a hub where we gather, prepare, and export geospatial data before bringing it into Blender.

While Blender can import some geospatial data, QGIS is specifically designed for handling geographic coordinate systems, projections, and the complexities of real-world mapping data.

Example Files

Both the .blend file with a baseline result based on the workflow followed on this page, and the accompanying QGIS project file can be downloaded here: Proton Drive


Key Takeawaysโ€‹

The Interface

Understand the Map Canvas, Layers, and Browser Panel.

Plugins

Extend QGIS with QuickMapServices and QuickOSM.

Export

Prepare data for the BlenderGIS add-on.


Installationโ€‹

Download QGIS from qgis.org. The Long Term Release (LTR) is recommended for stability. Current lines: 4.2.2 (main) and 3.44.14 (LTR), checked 2026-09-03.


The QGIS Interfaceโ€‹

When you open QGIS, you'll first be asked to create a new project. After creating a new project, there are four main areas to focus on:

The large white area in the center. This is your viewport.

  • Navigation: Use the Pan (Hand icon, toolbar) to move and the scroll wheel or Magnifying Glass icons to zoom.
  • Right-Click: Often brings up context menus for the map.

Pluginsโ€‹

Like Blender, QGIS extends its functionality through plugins.

To install plugins:

  • Go to Plugins โ†’ Manage and Install Plugins
  • Search for each plugin by name
  • Click Install
  • Note: some plugins may require a QGIS restart

Here are the most important plugins we'll use:

  • QuickMapServices: This plugin connects QGIS to online map providers (Google, Bing, OpenStreetMap, and many others). Instead of manually downloading map tiles, you can load these services as live background layers, the fastest route to satellite imagery.

  • QuickOSM: This plugin allows you to query and download vector data (Eg. building footprints, roads, water bodies) directly from OpenStreetMap. You can specify what type of data you want and the area of interest, and this plugin will fetch that data for you.

  • Open Topography: This plugins downloads Digital Elevation Model (DEM) data, which we'll cover in more detail below. This plugin connects to multiple DEM sources and automates the process of finding and downloading terrain height information.


Into Blenderโ€‹

Download the Plugin / Plugin Page

BlenderGIS is a plugin that imports geographic data from QGIS into Blender. It understands geographic coordinate systems and can import terrain models, satellite imagery, and vector map data while maintaining proper scale and positioning.

Blender normally works in its own 3D coordinate space (X, Y, Z axes centered around 0,0,0). Real-world geographic data uses coordinate systems based on latitude/longitude or regional grid systems with enormous coordinate values (like "384,000 meters East, 5,234,000 meters North"). BlenderGIS handles the translation between these two worlds.

To install BlenderGIS:

  • Download from the official BlenderGIS repository
  • In Blender: Edit โ†’ Preferences โ†’ Add-ons โ†’ Install
  • Select the downloaded .zip file
  • Enable it by checking the checkbox next to "BlenderGIS"

Blosm (BLenderOSM): Blosm is another Blender add-on that specializes in generating 3D buildings from OpenStreetMap data. While useful for quickly creating urban context, BlenderGIS can handle most of what we need and keeps the workflow simpler.


Core Conceptsโ€‹

Before getting into data acquisition, it's good to understand some fundamental concepts about how QGIS and geospatial data works and how we can set things up within QGIS so we get the best data out of it.

Details

### Coordinate Reference Systems (CRS) Geographic data is defined by a Coordinate Reference System (CRS). This is a mathematical framework used to translate the three-dimensional, irregular surface of the Earth into a two-dimensional coordinate plane. Every CRS consists of two fundamental components:

  • The Datum (The Shape): A 3D model representing the Earth's size and shape (e.g., the WGS84 ellipsoid). It defines the origin point and the orientation of the axes.
  • The Projection (The Flattening): The mathematical formula used to "unroll" the 3D datum onto a flat 2D surface.

The industry standard for web-based tools (Google Maps, Mapbox) is the Web Mercator projection. While it is useful for web tiling because it preserves angles (conformal), it is mathematically unsuitable for 3D modeling due to scale distortion. As the distance from the Equator increases, the scale is stretched.

In a 3D environment like Blender, units are Euclidean (1 unit = 1 meter). In Web Mercator, "meters" are distorted relative to the latitude. At 60โˆ˜ latitude (e.g., Oslo), a 100-meter real-world distance is represented by 200 units in the projection. If a Digital Elevation Model (DEM) and satellite imagery are not reprojected, the resulting 3D scene will have a 2:1 scale error, leading to vertically exaggerated terrain and incorrect volumes.

Establishing a Shared World Originโ€‹

The workflow idea: Set up one appropriate projected CRS at the start of your project and ensure every plugin and exported data file uses it.

Setting a custom CRS allows you to define a specific "Origin" point (zero coordinates) in both QGIS and Blender. This ensures that:

  • The center of your 3D world in Blender matches the exact geographic point you defined in your map.
  • Data imported from various sources (satellite images, height maps, OSM roads) all align perfectly.
  • Ensures that measurements taken within Blender are accurate to Google Earth measurements.

Local Tangent Planes

To achieve accuracy in 3D reconstruction, data must be reprojected into a Topocentric system or a Local Tangent Plane.

  • UTM (Universal Transverse Mercator): Divides the Earth into 60 narrow zones. Within these zones, distortion is minimized to less than 0.1%, making it the standard for local 3D site reconstruction.

  • Azimuthal Orthographic: This projection views the Earth as a tangent to a specific point on the surface. By centering the projection on your specific 3D scene's origin, you eliminate the Mercator distortion.

This ensures that the (x,y,z) coordinates in Blender represent a true 1:1 physical relationship with the real-world site.

UTM (Universal Transverse Mercator)

Tools: Use epsg.io to search for coordinate systems and find the EPSG code for the area you will be working on.

Find your zone based on your project's longitude, and use that zone's CRS. For example:

  • Milan, Italy is in UTM Zone 32N (EPSG:32632)
  • New York, USA is in UTM Zone 18N (EPSG:32618)
  • Tokyo, Japan is in UTM Zone 54N (EPSG:32654)

DEM (Digital Elevation Models)โ€‹

A Digital Elevation Model is a grayscale image (usually called a height map) where brightness represents height. Darker values are lower elevations, brighter values are higher elevations. When imported into Blender, these can be converted into actual 3D terrain geometry. Using the Open Topography plugin allows us to access various DEM sources.

Resolutionโ€‹

Free DEM sources typically offer 30-meter resolution at best. This means that for every 30m ร— 30m square of ground, you get a single height value. For small sites like individual buildings or small plazas, this provides very limited elevation detail. You get the "average" height of a tennis-court-sized area.

Practical implication: When working with free DEM data, plan to capture a larger area that includes surrounding terrain context. If you're reconstructing a 100m town square, consider working with a 2-3 km area so the terrain model shows how the square sits within hills, valleys, or the broader urban landscape. The DEM provides regional context, not site-specific detail.

Higher resolution alternatives: LiDAR data can provide sub-meter resolution but is typically expensive and not globally available. Some regions have 10m or better DEM from national mapping agencies, but coverage is inconsistent.

Scale and Unitsโ€‹

In Blender, we work in "Blender Units" which we typically set to represent meters. When importing geospatial data, we need to ensure:

  • Blender is set to metric units (Scene Properties > Units > Metric)
  • The scale is 1:1 (1 Blender unit = 1 meter)
  • BlenderGIS is configured to match the CRS of your imported data If everything is set up correctly, a road that's 10 meters wide in reality will be 10 Blender units wide in your scene. This real-world scale is essential for accurate reconstruction.

Temporal Considerationsโ€‹

Different data sources capture imagery at different times.

Satellite imagery from services like Google or Bing is typically a composite. Different areas may be from different dates, usually stitched together from the clearest available images. The capture date might be months or years before you're viewing it. I have not been able to figure out how to have QGIS show when specific satellite images were taken. When using Google satellite images you can look up the date in Google Earth Pro, where you can also use the historical imagery timeline slider to see how the area has changed over time and select imagery from the correct period.


Usageโ€‹

The QGIS section is a three-stage workflow plus one analysis workflow. Each is its own page under this hub:

Baseline Setupยท custom CRS + origin

Load a satellite basemap, create an orthographic CRS with a defined origin point, and set capture regions for consistent exports. Open the page

Data Acquisition & Exportยท basemap, DEM, OSM

Add reference layers, download the data you need, export it as GeoTIFF or shapefile, and import it into Blender with BlenderGIS. Open the page

Global Building Atlasยท LoD1 buildings

Stream 2.75 billion LoD1 building footprints from the TUM WFS server, extrude them, and import them into Blender. Open the page

Differential Change Detectionยท before / after

Subtract a before and after Sentinel-2 image to isolate what changed. The change layer becomes your modeling work list. Open the page


In an Investigationโ€‹

The QGIS setup is the documentation backbone of a geospatial reconstruction. A reviewer will want to know which CRS you used, where your origin sits, and where each layer came from. Record:

  • The CRS you created and its PROJ parameters or EPSG code.
  • The origin point location and why that point anchors the scene.
  • The source and capture date of every basemap and DEM layer you export.
  • The export resolution and file name of each layer that goes into Blender.

Because every layer keeps its georeferenced origin, the Blender scene stays tied to real-world coordinates. That link is what lets you check the reconstruction against external sources like Google Earth Pro or satellite archives.

Limitationsโ€‹

  • Free DEM data tops out around 30m resolution. It gives regional context, not site topography.
  • Google and Bing basemaps cannot be exported under their terms of service. Capture them for reference only.
  • OSM data quality varies by region. Verify footprints against satellite imagery before using them.
  • The screenshots on this page predate the current LTR. Expect minor layout differences in 3.44 and 4.x.

Resourcesโ€‹

Sourcesโ€‹

  1. QGIS, official site and download
  2. BlenderGIS, importer plugin repository
  3. OpenTopography API keys, required for DEM downloads
  4. Sample .blend + QGIS project (Proton Drive), baseline result of this workflow