Introduction
Ground Control Points (GCPs) exist to tie a drone-derived model to real-world coordinates and improves the accuracy of a dataset. They are not a fix for a fundamentally flawed dataset. A GCP only ever corrects the model in its immediate vicinity, that correction fades the further away from the GCP you go, and errors can grow with distance rather than being pulled back into line.
A sparse or poorly distributed GCP network can leave a site looking accurate right next to each point and drift increasingly further out, so where and how many GCPs you place matters just as much as whether you use them at all.
How many GCPs do you need?
A question that we get asked quite often is how many GCPs we need for an X-hectare site or how many GCPs we need per hectare.
Unfortunately, it is not that simple to have a set number of GCPs per hectare. It is important to know that for GCPs to work on a site, there needs to be a minimum of 4 GCPs; any less than that, and the dataset will not georeference.
This being the case we would always advise to use a minimum of 5 on a site, this provides a redundancy should there be an issue with the coordinate of one of the GCPs.
In practice, there's no such thing as too many GCPs. Anything beyond what you strictly need to georeference the site isn't wasted, it can be kept back as a checkpoint instead, giving you an independent way to prove the finished model is accurate rather than just taking the processing report's word for it.
Below we’ve provided some schematics which help to explain setting out of GCPs on a site.
Horizontal Placement
Uniform sites
If you have a relatively flat and uniform shape to your site, such as a rectangle as shown above, then for an area of between 0ha and 15ha then in theory 5 GCPs should suffice. When the site starts becoming larger, then you would want to distribution more GCPs across the area. What you are looking for with GCPs is to have a regular and even distribution across the site. You will see that the GCPs are placed along the edge of the site, with a couple in the middle.
Non-uniform Sites
In the second image below we’ve illustrated a site with an irregular boundary. However, the principles of GCP placement remains the same. Placing of them along the edge of the site and some also within the centre.
However, you should never consider the number of GCPs required for a site based on just the footprint of the site. The terrain also needs to be taken into consideration and is discussed below.
Vertical placement
Undulating or hilly sites
The guidance above about spacing GCPs evenly across the footprint isn't enough on its own if the site also has meaningful elevation change, for example on a rolling hillside, terraced cut-and-fill areas, or anything with more than a few metres of relief from one side of the site to the other.
A GCP only constrains the model well in its own local neighbourhood, and on undulating terrain, that neighbourhood is as much about elevation as it is about horizontal position. If every GCP on a site happens to sit at a similar elevation (for example, all placed along an access road that runs through the lowest part of the site because that's where it was easiest to walk in equipment), the model can be tightly accurate at that elevation and then progressively drift the further you move away from it, vertically as well as horizontally.
The above figure shows from left to right :
"Insufficient", an undulating profile with all GCPs clustered together at the lowest part of the site; a dashed "modelled surface" line tracks the true ground closely near those GCPs but drifts noticeably away from it (shaded as an error region) over the higher ground further away, where no GCP is there to constrain it.
"Better", shows the same profile with GCPs placed at the low, mid, and high points; the modelled surface line tracks the true ground closely across the whole range, but still doesn't reflect the actual landform.
"Best", shows a denser set of GCPs placed on every local rise and dip, not just the overall high/low points; the modelled surface now hugs the true ground almost exactly everywhere, including the smaller undulations that the "Better" version smoothed over.
GCP Placement Best Practice
Distribute GCPs across the full elevation range of the site, not just its horizontal footprint — include points at the highest, lowest, and mid-height areas, not only around the perimeter or wherever is easiest to access.
Treat "even horizontal spread" and "even elevation spread" as two separate checks. It's possible to pass one and fail the other, GCPs that look well-spaced on a plan view can still all sit in the same low-lying corner of the site in three dimensions.
If you suspect one region of the site is under-constrained (steep terrain, poor access, dense vegetation) and you can't justify placing a full GCP there, add a checkpoint instead. An independent checkpoint in that weaker region will at least tell you how much drift is present.
When picking locations to place your ground control, always pay attention to what the chosen area would look like from your drone. A GCP is useless if it is obscured by trees, buildings or fences in the final imagery.
GCP Accuracy
GCPs should always be measured at ground level to minimise the risk of elevation error in the terrain of the final 3D model.
The GCPs need to be surveyed using survey grade equipment that can obtain an Absolute Accuracy of a couple of centimetres (eg Emlid Reach RS3) by using either a base station setup on a known point or an RTK/PPK solution.
GCP Occupation Time
Horizontal and vertical accuracy are not the same problem, and vertical is the one that goes wrong most often. As a rule of thumb, vertical accuracy from GNSS is roughly 1.5–2× worse than horizontal accuracy, and it converges more slowly, your rover can lock onto a stable horizontal position well before the vertical component has settled. A GCP that looks "fixed" on the display can still be reporting a vertical value that hasn't fully stabilised yet.
How long you hold the receiver over each point matters more for vertical accuracy than it does for horizontal. A quick RTK Fixed reading can look solid on the horizontal axis in a matter of seconds, but that same short window is often not enough for the vertical solution to fully converge, especially under tree cover, near structures that cause multipath, or in poor satellite geometry.
As a working guide:
Treat a Fixed status as the minimum requirement to start measuring, not a sign you're already done, don't accept a point the instant it shows Fixed.
Let the receiver average over the point for a few minutes per GCP, rather than taking an instantaneous single-epoch reading. A longer occupation gives the averaging algorithm more independent samples to work with and reduces the influence of short-term multipath. As a minimum GCPs should be occupied for no less than 1 minute.
In marginal conditions (partial sky obstruction, nearby reflective surfaces, a difficult site), extend the occupation time further and check that the reported precision has actually stabilised rather than just checking that the status says Fixed.
If you have the option, log raw data for PPK processing alongside your RTK session. It costs nothing at the time of capture and gives you an independent way to verify a point later if its coordinate is ever questioned.
Verifying your GCPs — Survey Twice
Even a well-placed, well-observed GCP is only useful if it's still exactly where you measured it by the time the drone flies over it. GCPs can get nudged by site traffic, livestock, wind, or maintenance crews. That movement may not be visible in the imagery when you come to tag the GCP, it can just as easily go unnoticed. Even a small, undetected shift can have a significant impact on processing, especially if the number of GCPs placed was already sparse to begin with.
The most reliable way to catch this is to occupy each GCP twice:
Once when you place the marker, before the flight.
Once again after the flight/data collection is complete, before you leave site and pick the markers up.
Compare the two independent measurements for each point. If they agree within your expected tolerance, you can be confident the GCP didn't move and the original observation wasn't a one-off blunder. If a point disagrees by more than a couple of centimetres, and especially if the difference is mostly vertical, treat that GCP as suspect rather than trusting it. At that point it's safer to either re-measure it properly, drop it, or demote it to a checkpoint so it's used to validate the processed dataset rather than to be used in the building of it.
This is also a good moment to make use of natural gaps in your schedule: if there's a reasonable amount of time between your initial placement survey and your post-flight check (even just the time it takes to fly the site), you're sampling a different satellite geometry between the two occupations. That means the second measurement isn't just confirming the marker hasn't physically moved, it's also an independent cross-check on the quality of the original GNSS fix itself.
Checkpoints
Whilst not strictly compulsory to have in order to process your drone data, several checkpoints scattered across the site are a good addition to have. A checkpoint is measured in exactly the same way as a GCP — same equipment, same rigour, same on-site process — but it is deliberately held back from processing. It plays no part in georeferencing the model or improving its accuracy. Once processing is complete, the platform instead compares where the checkpoint actually is (your surveyed coordinate) against where the finished model says it should be, and reports the difference.
That difference is the closest thing you have to an honest measure of accuracy. Any point that was used to build the model will, almost by definition, look like a good match to that model — that's what "using it to build the model" means, and it tells you nothing about how the model performs anywhere else. A checkpoint never gets that treatment, so a small error at a checkpoint is a genuine sign the model is accurate nearby, and a large one is a genuine warning.
This is what makes checkpoints the right tool for answering "can I actually trust this data?"
How many checkpoints should I use?
There's no fixed number, but the guiding principle is straightforward: you can never really have too many GCPs, because anything you don't strictly need for georeferencing can be repurposed as a checkpoint instead. If your site needs a minimum of 5 GCPs to georeference well and you have the ability to place and survey 8, don't discard the extra 3 — tag them as checkpoints. You lose nothing by having them, and you gain an independent check on the finished model.
A few things worth planning for:
Survey more control points than you strictly need for georeferencing, then decide which become GCPs and which become checkpoints. It is best to determine this whilst on site.
Spread checkpoints the same way you'd spread GCPs — across the full horizontal and vertical extent of the site (see Undulating or hilly sites above) — rather than clustering them wherever was most convenient to reach.
On a larger or more complex site, aim for at least a couple of checkpoints in each distinct region, so you have visibility if one part of the site is behaving differently from another, rather than a single sitewide number that could be hiding a local problem.
GCPs and Checkpoints in the Sitemark platform
You can tag GCP's yourself, right after the upload of your photos. For more information on how to tag GCP's yourself, please refer to the following article Tagging Ground Control Points (GCPs)
You can mark any surveyed control point as a checkpoint at the same time you tag it in the platform. Checkpoints are excluded from the georeferencing calculation entirely, they carry no weight in processing and cannot bias the outcome.
Once processing finishes, you can see how far each checkpoint's position in the model differs from its surveyed coordinate in the GCP tab of the operation, displayed in metres or feet depending on the site's CRS.
As checkpoints aren't taken into account while processing, it's important to have sufficient GCPs to process the dataset accuratly. Ideally, the decision as to which points will be used as GCPs and those to be used as checkpoints will be taken as part of the on-site survey planning, rather than as an afterthought when uploading data to the platform.




