You are on page 1of 17

Author

Ujaval Gandhi

Follow @spatialthoughts

Check out more QGIS learning materials, including free full-length QGIS courses from Spatial Thoughts
Academy (https://spatialthoughts.com/resources).

Subscribe to my list

Email address

Subscribe

Change Language

English

Georeferencing Aerial Imagery (QGIS3)


In the tutorial Georeferencing Topo Sheets and Scanned Maps (QGIS3) (georeferencing_basics.html) we
covered the basic process of georeferencing in QGIS. That method involved reading the coordinates from
your scanned map and entering them manually as control points. Many times though you may not have the
coordinates printed on your map, or you are trying to georeference an image. In that case, you can use an-
other georeferenced data-source as your input. In this tutorial, you will learn how to use existing open data
sources in your georeferencing process.

Overview of the task


We will georeference high resolution balloon-imagery using reference coordinates from OpenStreetMap.

Other skills you will learn


Downloading super high-resolution public domain imagery.
Using XYZ Tile Layers as basemap.
Using the OSM Place Search plugin in QGIS.
Setting a custom no-data value for a layer.
Get the data
In this tutorial, we will be using kite and balloon imagery collected by The Public Laboratory
(http://publiclaboratory.org/archive). They make the georeferenced versions of the images also available,
but we will download a non-georeferenced JPG image and go through the process of georeferencing it in
QGIS.

Download the JPG image of Washington Square Park, New York


(http://publiclaboratory.org/map/washington-square-park-new-york-new-york/2012-10-01). You can right-
click the JPG button and choose Save link as….

For convenience, you may directly download a copy of the dataset from the link below:

newyorkcity-washingtonsquarepark.jpg (http://www.qgistutorials.com/downloads/newyorkcity-
washingtonsquarepark.jpg)

Procedure
1. We will use a basemap from OpenStreetMap to capture the coordinates for georeferencing. QGIS3
comes with built-in support for tile layers. These are commonly known as ‘XYZ’ layers since they are
made using individual map tiles for each zoom level (z) on a x,y coordinate grid. You can nd the
OpenStreetMap layer under XYZ Tiles in the Browser Panel. Drag the layer to the main canvas. Once
loaded, note the Coordinate Reference System (CRS) for this layer in the bottom-right corder. It is set
as EPSG 3857 Pseudo Mercator . This is important because the coordinates we infer from this layer
during georeferencing will be in this CRS.

Note
See this page (https://www.spatialbias.com/2018/02/qgis-3.0-xyz-tile-layers/) for more details on XYZ lay-
ers and how to add other basemaps in QGIS.
2. The image we are georeferencing is for Washington Square Park, New York . You can zoom/pan try to
locate this park in the map. But that is cumbersome and may not be practical. An easier way is to use
the OpenStreetMap (OSM) Place Search plugin to search for the exact location. Install the OSM Place
Search plugin from Plugins ‣ Manage and install plugins ‣ All. If you do not see this plugin in the search
results, make sure you have checked Also show experimental plugins under Settings. See Using Plugins
(../using_plugins.html) for more information on using plugins in QGIS.

3. Once the plugin is installed, you will see a new panel called OSM Place Search…. Search for
Washington Square Park in the Name contains.. box and click ->. You will see the matching place
names appear in the results panel. Select the correct result and click the Zoom button.
4. You will see the map that is familiar and contains the landmarks that we can identify from the image.
You may close the OSM Place Search panel now. If you need it again, you can open it from View ‣ Pan-
els ‣ OSM Place Search.
5. Now it is time to start georeferencing. Launch the Georeferencer from Raster ‣ Georeferencer ‣ Geor-
eferencer. If you do not see that menu item, you will need to enable the Georeferencer GDAL plugin
from Plugins ‣ Manage and install Plugins ‣ Installed.

6. In the Georeferencer window, go to File ‣ Open Raster. Navigate to the downloaded JPG le and click
Open.
7. In the next screen, you will asked to choose the raster’s coordinate reference system (CRS). Our
source image is a plain JPEG le and doesn’t have any coordinate reference system atached to it, so
you can click Cancel.
8. Before we start adding Ground Control Points (GCP), we need to de ne the Transformation Settings.
Go to Settings ‣ Transformation settings.
9. In the Transformation settings dialog, choose the Transformation type as Polynomial 2 . See QGIS Doc-
umentation
(https://docs.qgis.org/testing/en/docs/user_manual/plugins/plugins_georeferencer.html#available-
transformation-algorithms) to learn about di erent transofrmation types and their uses. As noted
earlier, our basemap is in EPSG 3857 Pseudo Mercator CRS, so set that as the Target CRS. You can
leave the Output raster name to the default and choose LZW as the Compression. Check the Use 0 for
transparency when needed. Make sure the Load in QGIS when done option is checked. CLick OK.
10. Now click on the Add Point button on the toolbar and select an easily identi able location on the im-
age. Corners, intersections, poles etc. make good control points.
11. Once you click on the image at a control point location, you will see a pop-up asking you to enter map
coordinates. Click the button From map canvas.
12. Find the same location in the reference layer and click at the precise point. The coordinates are auto-
populated from your click on the map canvas. Click Ok. Similarly, choose at least 6 points on the image
and add their coordinates from the reference layer.
Note
Tip: When selecting a GCP on a building, always choose the bottom of the building. Many aerial and satel-
lite imagery have leaning buildings, so choosing a point on the rooftop will introduce errors.

13. Once you have added the minimum number of points required for the transform, you will notice that
the GCPs now have a non-zero dX , dY and Residual error values. If a particular GCP has unusually
high error values, that usually means a human-error in entering the coordinate values. So you can de-
lete that GCP and capture it again.
14. Once you are satis ed with the GCPs, go to File ‣ Start georeferencing. This will start the process of
warping the image using the GCPs and creating the target raster.
15. Once the process nishes, you will see the georeferenced layer loaded in QGIS. If all went well, you
will see it nicely overlay the basemap.
16. To make the output look nicer, let’s remove the white border. Right-click on the image layer and
choose Properties.
17. Switch to the Transparency tab. Add 255 as the Additional no data value and click OK.

Note
8-bit images have pixel values in the range 0-255. 0 is black and 255 is white.

18. Now you will see your georeferenced image nicely overlaid on the base layer.
7 Comments QGIS Tutorials and Tips 🔒 Disqus' Privacy Policy 
1 Login

 Recommend 8 t Tweet f Share Sort by Best

Join the discussion…

LOG IN WITH
OR SIGN UP WITH DISQUS ?

Name

Sarah Ahmad • a year ago


Hi, Thank you very much for the useful tutorials. I'm a newcomer. I'm using 3.10 version. I
couldn't find the OSM place search. Kindly guide.
Many thanks.
1△ ▽ • Reply • Share ›

Ujaval Gandhi Mod > Sarah Ahmad • a year ago

Check the 'Show also experimental plugins' in Plugins Manager and it will show up
1△ ▽ • Reply • Share ›

Sarah Ahmad > Ujaval Gandhi • a year ago


Found it! Thank you.
△ ▽ • Reply • Share ›

You might also like