GCP Question

I am a newbie to WebODM and am having problems using GCPs. I can create an orthophoto mosaic no problem, but when I try to add CGPs (to correct its location by 20 m) it fails. I am using 21 images in one line of flying and have created 6 GCPs using the GCP tab in WebODM. Do I need to create GCPs for every image? Any toughts? I am using a DJI Mavic mini 2.

GCP(ground control points) are usually laid out before the flight. You measure them with gnss or a total station and then afterwords before any processing you make a file that say where, in every image, they are. Then you process everything.

You can of course, if you just want to geo reference an ortophoto, turn it and scale it to fit in the right place. But I would use QGis for that, it’s very good at georeferencing any type of image.


Sorry you’re having a bit of trouble.

No, not every image. 3-5 images per GCP is usually sufficient.

Can you paste the content of your GCP file and post a link to your data on somewhere like dronedb.app?

Hi Andreas and Saijin, I use QGIS as my main GIS program so I can move it by using the freehand georeferencer but I thought I would experiment with creating the gcp file to correct its location. I used trees and bushes that I could identify in the GCP tab using the Google Earth satellite image. Do I need better reference points other than trees?

1 Like

Trees are tricky as finding their centroid can be difficult from imagery, and using Google Earth as a source of truth data is kind of fraught with difficulty as their horizontal error is typically 3-10m and vertical is somewhere around there.

“Immutable” things that are easily recognizable are better, like a corner of a building, sidewalk, etc if they are in the environment.

If not, then yes, whatever the most prominent feature is will be your best bet.

If possible, however, you should consider collecting ground-truth data as your GCPs because of the limitations of Google Earth.

Using an app like GPS Point on Android can really boost the accuracy of your collection.

1 Like

I have uploaded my imagery and gcp file to Dronedb - see this link if you want to have a look “https://testhub.dronedb.app/r/boxerg”. There are two folders, one with the imagery and the other with the gcp file I have been trying to use.

1 Like

You might have to adjust the link to point to the dataset. Right now, it just has the username for your account, which other folks can’t get access to.

Something more like this link:


Ok try these, https://testhub.dronedb.app/r/boxerg/knnrxb3qocnnr4si and https://testhub.dronedb.app/r/boxerg/1q5e3u3muou0xmrg

1 Like

Thank you for those! I’ll try to get this back to you tonight or tomorrow.

Alright, so some thoughts:

  1. You should try to shoot for 3-5 images per GCP. You have currently 1 image per GCP for 5 GCPs, and 2 images per GCP for one GCP
  2. You should try to find highly distinguishable features. Tree crowns are tough
  3. You should ideally have tagged these pre-flight given how little built environment there is in this dataset
  4. You must ensure that the same feature is being used in each GCP’s tagged Images

These two are not the same feature, making this GCP highly problematic for reconstruction:

Without truth data, it is hard to say how close the reconstruction aligns with ground truth, but it seems to be reasonably well-located.

Perhaps using QGIS to manually reference the finalized ortophoto to known truth data might be easiest for this particular dataset as collected.

1 Like

Many thanks for the feedback. I think just a slight resize and location adjustment in QGIS should do the job. And I agree, having gcp in place before the flight is the way to go.



Let us know how you get on with that and any further collections!

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.