Article

Mapping with a drone: GSD, overlap, flight height and ground control points

A drone map is not one photo from high up. It is a few dozen to a few hundred overlapping photos that software such as Pix4D, DroneDeploy or the free OpenDroneMap matches point by point and turns into an orthophoto, a surface model or a 3D mesh. If the photos are wrong, no processing setting will rescue the job, and Pix4D says it plainly: a bad acquisition plan leads to inaccurate results or a failed project, and you fly it again.

The plan comes down to four decisions: how much detail you need (GSD), how high you fly to get it, how much the photos overlap, and whether you need ground control points. The camera settings and the weather come after that.

GSD: decide on detail first

Ground sampling distance is the distance between the centres of two neighbouring pixels, measured on the ground. A GSD of 5 cm means one pixel covers a 5 x 5 cm square. The larger the GSD, the less detail the map shows. Pix4D also ties it to accuracy: what you can measure on the map depends directly on the GSD of the original photos.

Pick the GSD before you plan anything else. Pix4D's advice is to fly lower when you need a detailed reconstruction and higher when you cover a large area that doesn't need fine detail, because higher flights save flight time, batteries and processing time.

From GSD to flight height

For a camera pointing straight down, Pix4D gives this formula:

H [m] = (image width [px] x GSD [cm/px] x real focal length [mm]) / (real sensor width [mm] x 100)

Two traps are hidden in it. The focal length must be the real one, not the 35 mm equivalent printed on the spec sheet. And the sensor width is the physical width in millimetres. Pix4D's own example uses a camera with a 5 mm lens, a 6.17 mm wide sensor and 4000 px wide images. For a 5 cm GSD that gives:

H = (4000 x 5 x 5) / (6.17 x 100) = 162 m

In the EU you can't fly that example in the open category. EASA limits open category flights to 120 m from the closest point of the earth's surface. Run the formula the other way for the same camera at 120 m and you get a GSD of about 3.7 cm.

Mapping apps do this sum for you once you pick the drone, but it is worth knowing the relationship: GSD scales directly with height. Half the height gives half the GSD, and also a quarter of the area in each photo, so many more photos and lines for the same field.

Overlap: how much each photo shares with the next

The software finds the same features in several photos and triangulates their position. Too little overlap and it has nothing to match. Two numbers matter:

  • front overlap - between consecutive photos along one flight line,
  • side overlap - between neighbouring lines.

The recommendations from the three main tools are close:

Source General case Harder surfaces
Pix4D at least 75% front, 60% side 80% / 80% for flat farmland, 85% / 85% for forest and dense vegetation, 90% / 90% for thermal
DroneDeploy at least 75% front, 65% side 80% / 80% for difficult terrain such as forest
OpenDroneMap (2D and 2.5D products) 70-80%, camera 5-10 degrees off straight down closer to 80-83% for complex buildings and vegetation

For a single-line corridor, such as a road or a river bank, Pix4D asks for 85% front overlap. If the corridor is flown as two lines, side overlap is 60%.

Forests and crop fields are hard because every patch looks like its neighbour. Higher overlap helps, and both Pix4D and DroneDeploy also suggest flying higher there, because a larger footprint gives the software more distinct features in each photo. DroneDeploy calls flying higher the single most effective way to improve data quality, with the price paid in GSD.

Overlap has a practical limit too. DroneDeploy points out that the camera can only fire so fast, and once you reach that limit, asking for more front overlap won't add anything. More side overlap means more lines and less area covered on one battery.

A worked example

Take the same Pix4D camera at 120 m, with a GSD of about 3.7 cm. If the images are 4000 x 3000 px (4:3 is an assumption here, Pix4D only gives the width), one photo covers about 148 x 111 m. With the short side along the flight line:

  • at 75% front overlap the drone has to take a photo every 111 x 0.25, about 28 m,
  • at 60% side overlap the lines are 148 x 0.4, about 59 m, apart,
  • at 5 m/s that is one photo about every 5.6 seconds.

That is just arithmetic on the numbers above. A planning app will give slightly different values because it uses the exact sensor data of your drone.

Plan the area and the terrain

Pix4D recommends a regular grid for most maps and asks for the flight to cover a bit more than the area you care about. Features at the edge appear in fewer photos and may be seen from one side only, so the edges come out worse. Removing extra data later is easy. Adding missing data means another trip.

Hills change everything. If the drone flies at a constant altitude over a slope, the ground gets closer on the uphill side, so GSD gets smaller and overlap drops there. Pix4D recommends terrain following, where the drone keeps a constant height above the ground. If your app can't do that, the alternative is several flights at different constant altitudes, with lines across the slope and overlap between the flights. Terrain following also fits the EU height rule, which is measured from the closest point of the surface, not from the take-off point.

DroneDeploy adds one more planning tip: rotate the lines so they run along the longest side of a narrow area to save battery, and so the drone flies into and out of the wind, which keeps ground speed steady.

For a single building Pix4D suggests a different pattern: a circle around it with the camera at 45 degrees, then a second and third circle, each higher and with a lower camera angle, with one photo every 5 to 10 degrees of the circle. Don't more than double the height between the lowest and highest circle, as the GSD would differ too much. OpenDroneMap's recipe for full 3D is similar in spirit: a straight-down flight with 60% overlap plus a cross-grid with the camera at 45 degrees and 70-80% overlap.

Which app can fly the grid

The grid is flown by an app, and support depends on the drone and the remote controller. Two examples of how narrow that can be:

  • DJI's Mobile SDK 5, which third-party apps use to control the drone, lists the DJI Mini 4 Pro, Mini 3 and Mini 3 Pro among consumer drones, next to enterprise models such as the Mavic 3 Enterprise series.
  • Dronelink supports the Mini 4 Pro only on Android with the RC-N2 or RC-N3 controller, installed as an APK from its website rather than an app store. The DJI RC 2, the RC Pro and iOS are not supported, and neither is the plain Mini 4 without "Pro". Dronelink also lists known false warnings about signal and compass interference with this drone.

Check the supported drone list of the app you want to use before you buy or plan a job. Lists like these change with each SDK release.

Camera settings for mapping

Pix4D's camera advice for aerial mapping:

  • Fix the shutter speed at a medium value, roughly 1/300 to 1/800 s, fast enough to avoid blur. If more than 5% of the photos show directional blur, speed it up a little.
  • Keep ISO as low as you can without noise. Pix4D names 100 as the minimum.
  • If you set shutter and ISO by hand, leave aperture on automatic.
  • Set focus manually to infinity.
  • Turn off electronic and mechanical image stabilisation, which interferes with the processing.

DroneDeploy picks camera settings automatically, but if you want manual exposure or focus, you set them in DJI Fly or DJI Pilot 2 and then go back to DroneDeploy to start the mission.

Rolling shutter

Most consumer drone cameras read the sensor line by line. If the drone moves during that readout, the photo is slightly skewed, which hurts feature matching. Pix4D gives a worked example: a Phantom 2 Vision+ with a 74 ms readout, at 8 m/s and 70 m, ends up with about 10 pixels of vertical displacement, having moved almost 60 cm during one readout.

Pix4D recommends switching on its rolling shutter correction in processing when the displacement is over 2 pixels, and notes that it only works with photos taken in landscape orientation. The effect grows with speed and shrinks with height, so the fix in the field is to fly slower, higher or both.

Light and weather

DroneDeploy recommends overcast days, because clouds spread the light evenly and cut down shadows, blur and glare from shiny surfaces. Avoid sunrise and sunset, when long shadows and a low sun make stitching harder. For most maps, DroneDeploy suggests flying between 10:00 and 14:00. Pix4D also says to avoid scattered clouds and to get the scene well lit, since a dark scene means noisier, softer photos.

If one area takes several flights, Pix4D asks for overlap between them and similar conditions: sun direction, weather and the same state of the site.

Ground control points

Without ground control points (GCPs), the map relies on the drone's GPS positions written into the photos. Pix4D says GCPs are not required for processing but greatly improve absolute accuracy, meaning how well the map lines up with real coordinates. They are usually measured on site with surveying equipment. Pix4D notes that a total station can reach millimetre accuracy and GPS equipment several centimetres.

Pix4D's guidelines for placing them:

  • Three GCPs is the minimum for the software to use them at all, and each must be marked in at least two photos.
  • Five is the recommended minimum, each marked in at least five photos, and 5-10 is usually enough even for large projects. More adds little, except in complex terrain.
  • Spread them evenly, like the legs of a table, and add one in the middle.
  • Don't put them right at the edge, where they show up in only a few photos. Pix4D suggests keeping them at least one flight line in from the edge.
  • In hilly terrain, place them at different heights, for example at the top and bottom of a slope.
  • Measure a few extra points and keep them as checkpoints to check accuracy.

The target must be visible in the photos. Pix4D says it should be five to ten times the GSD, so at a 2 cm GSD about 10-20 cm across. Automatic target detection in some Pix4D products needs at least 20 times the average GSD. Pix4D also warns about "natural" control points: features such as parking spaces or building corners can be too repetitive to be useful, and shadows may move even during one flight.

Before you take off

  • GSD chosen, and the flight height checked against the 120 m limit.
  • Overlap set for the surface: at least 75/60 in general, more over crops, forest or for thermal.
  • Area slightly bigger than the site, terrain following on hilly ground.
  • Shutter speed fixed, ISO low, focus at infinity.
  • Light even, no low sun and no patchy clouds.
  • GCPs laid out and measured if the map has to match real coordinates.