How to use "ground control points" now?

Hi there,

I would like to add “ground control points” into OSM and I do not know how the way to do that is right now.

I asked this last year for the our idea of the NASA SpaceApps Challenge [0] and since then I am not sure I saw progress there.
I would like to add some marks I have found in Jena and also I would like to add others like the one we proposed during the challenge[1] via[2].

Firstly, can anyone help me how to do that? If there is no way to do that yet, I would like to ask for help to how to setup the structure to be able to add this day.

And secondly, maybe you are also interested to make those GCPs[2] in your area :).
It would be cool to see more distributed events doing those and help the mapping community to adjust their maps with these markers :). If your local OSM group is near to Jena, Germany, tell me. I hope to make this possible, create such a GCP as a big QR-Code and BBQ for you :).

[0] Talk:Proposed features/Ground Control Point - OpenStreetMap Wiki
[1] NASA SpaceApps 2021 project page (sorry, new community people can only post 2 links)

Best regards,


PS: This is my first post here. If I did something wrongly, please tell me.

1 Like

OSM uses a free tagging scheme, where anyone can use any tag they want. If you want to start using man_made=ground_control_point on features, you can go ahead and just start doing that.


yes, but if you want others to join you it is a good idea to speak about it and document the tags you use.

You may write a tag proposal page in the wiki.
Describe the meaning in detail and how that node would be used and useful.
Ask vor feedback
and run a vote.

Hey dieterdreist,
thanks :). Can you walk me through it where this “speaking” is taking place? Is it just in the wiki, here, or somewhere else?
I would like to coordinate this a bit more but I am new to this. So I am here to ask this in advance how you do it.

a formal proposal is definitely suitable to raise awareness for a new tag, otherwise here is a new place and you will probably still reach out to more people on the tagging mailing list, or for local groups on the forum for the country. (will be replaced by this portal soon).
Proposal process - OpenStreetMap Wiki
Additionally there are many other places, depending on the region (e.g. US uses a lot of Slack, Italy uses still talk-it but also telegram, people use still IRC, …)

As everybody else is going off on a tangent.

There is already a proposal for ground control points

while it currently isn’t in use, there is no reason not to simply use it as is if you want to add GCPs.



I wanted to get familiar with OSM and how I can use man_made=ground_control_point.

I checked some GCPs that I know can be seen from space.
So this one for example was already tagged as a calibration_target, which is also correct in this case.

so two questions for this topic:
Is this a good example to start and make GCPs?
And can there be several tags? (I would add a GCP tag to this area as well. others I would just do a GCP because I only wnat to add information that I am sure about.

and another topic:
On google maps there is a GCP at this other location. On the used map overlay in OSM, there is something else at exactly the same location. Could be just a cover.

How is a good appraoch to deal with it? Adding it based on the google maps information and tag it?

Best regards


I added my first contribution to OSM. Let’s see if that was correct.
I asked for a check of my edit here Changeset: 122712864 | OpenStreetMap
Would be cool to have someone here checking it :).

I think of more to add to this GCP but I kept it minimal so I can learn step by step and cause less “problems” :).

For example I do not know how to add the UUID that was suggested in the wiki.
And my goal is still to add the OSM qr-code designation or another kind of type to the gcp, because there are several different GCP types.

but so far I am quite happy :slight_smile:

Hi, it is tricky, because there are following tags in use, related to satellites/aero:

man_made (used less in USA, TWN, CHN)

survey_point:type (one site in east africa, defined by USGS for Landsat calibration)

  • satellite_control as value
  • satellite_validation as value

corona_calibration_mark as key for Corona satellite in USA

According to USGS test sites catalog from CalVal/ECCOE & RadCalNet there are three site types:

  • radiometric sites
  • geometric sites
  • spatial sites (your example of Big Spring)

So I guess, we need an understanding, what the difference is between calibration_target, ground_control_point and survey_point:type (e.g. Is GCP a survey point? And both are calibration_targets for measuring? Also a monitoring:station

In my earlier mapping times, if I found something weird by armchari mapping to be a target point on ground, I set a survey point. After a while I see, that calibration_targets like in photogrammetry are also on the ground on a bigger site, like your example. I found these examples in the five KML files of this blog which could be mapped too.

According to these reports, it could be used/named as

I guess, also the question, if different satellites uses the same calibration sites?

  • radar satellites / SAR
  • optical satellites
  • more

e.g. Sentinel 5P has also CalVal activity

I also do not know what airplanes for aerial photo calibration are using. I know the drawings on the asphalt road in germany.

What do you think about my first thoughts/proposal:

  • (1) man_made=ground_control_point + calibration_target=satellite/airplane (+ gcp:type=??? if necessary)
  • (2) man_made=calibration_target + calibration_target:type=ground_control_point + calibration_target=satellite

I still prefer (1) because I am not sure there is any other calibration_target on the ground relevant to OSM besides GCP.

Actually in 2017 there was a question on help about this.

We could write a wiki page, after we understand this right.


Hi @Seandebasti,

that is what I wanted to see discussed here. :slight_smile: so thanks for writing all this.

for me, I am no expert in this so I cannot directly give answers. For example for me GCPs are points that can be used by algorithms directly and automated to refer the pixels to geolocations and survey points are “any object” that a human operator can select on images and then pixel-assign to known gelocation to. So all these towers and statues and ruins or so are survey points for me, and all these checkerboard pattern things are GCPs.
But that is all me and maybe I am wrong or partly right. So I welcome a discussion here how we can structurize this. I am not afraid of starting with what we have and then maybe change it when we learned more. But I wanna avoid stupid mistakes and causing additional work when we can avoid this by talking about it first.

So, all of you, what do you think?
How can be start here?


1 Like

I overthought my previous message and I think GCP is not the right tag. Everything could be a GCP. It is possibly okay to tag the test sites where a GCPs were used in different use cases, like satellite_control, satellite_validation, calibration, validation, airborne measurements, …

If you check the previous mentioned Landsat Markers in East africa (example) or the satellite_points in Taiwan (example), there are always survey_points with an additional tag “satellite”

Which objects do you want to map at Openstreetmap?

which shape you would like to map?

  • a node like man_made=survey_point and survey_point:type=ground_control_point in the middle of a black-white square (bw-square)
  • a polygon like man_made=calibration_target for Siemens Star, bw-square
  • a line like man_made=calibration

But also man_made=monitoring_station and monitoring:??? could be an option if the GCP is for long term measurement.

1 Like

Update on the tag “calibration_target”=“yes”:

I stumbled through a changeset in hungary asking for the usage of the tag. It looks like, some objects were used as a calibration_target for fixing the imagery offset used in openstreetmap tools. As I understand, it would be really important to mention this fact to all armchair mappers, because I also identified (longterm) many different offsets within the data according to the different imagery overlay from maxar, ESRI, Mapbox and Bing.

I guess for a new osm user while using ID editor it is always important before they start mapping.

Hi there,

I spent my time with “go map!” app and added some streetlights and manholes to get familiar with things. (adding manholes is also something for, but for later).

In the meantime, the Imaginata[0] in Jena replied to be interested to have our QR-coded ground control points. They asked to have a “some fool-proof How-to-guide”[1], so this is what i would like to ask you:

could we discuss how to set up such a gcp? I would present our way and please give feedback what you think or how you would do it.

The following is based on the “flow plan” that is on [1]:

  • select a location where the qr-code gcp shall be constructed
  • in OpenStreetMap, create a new area for the above location (in size). create it, get the ID (I would say the way ID[2], if there is a better one, suggest it :))
  • with this ID, the QR-code can be generated with this as a possible “payload” https:// /w/502803011 . This is one of the ways our can encode it for further things
  • painting, tiling, planting … the qr-code on the location
  • measuring the location of the 3 reference points of the QR-code with a GPS to have it really precise. Those are needed for the GCP references.
  • going back to OpenStreetMap to the node/way/etc that was created and then adding the newly established data
    • ground_control_point: minimum
      • standard: (like our or something else)
      • code type: (qr-code, etc…)
      • reference point(s): if qr-code, the 3 reference points (but minimum the one one in the corner)
    • extra
      • tile size (is important for satellites and drones from which height it can be seen with the used camera)
      • colour (black & white, white & black, etc…)
      • calibration_target: yes/no
      • owner:, space-agency, federal mapping services, etc…

The thing is, that once the the QR-code is painted, it cannot be changed (easily). So if it refers to an OSM node, the node needs to have all the information for this real-world object. The presented order reflects that.
It does not need to be a way id, it can be a node or area, our can also use other IDs (see [1]).

So, what do you think? For me it is more a question how to handle the meta-data in the object. A GCP can be a calibration point (for geo refercing, or for the instrument). A calibration point is not always able to reference the location and only does calibration of the instruments for eg satellites.
Can’t we just prepare a template for all meta data one could set up that is usefull? (I hav seen this in “go map!” where I could easily place “vending machines” and then add more informations like “does it use coins?” or “is it inside a building”. So a preset of standard data.

What do you think?

[2] OSM…/way/502803011


Aerial imagery by plane:
It depends on the layer choice. Use best known.
Take for example: The Netherlands, the advised layer use is PDOK aerial imagery Beeldmateriaal 7,5 cm

This layer is made by the Netherlands Government, in a tender project, they let aero photo companies fly over every year, twice. According to the project standards BM5.
They use RD grid, the best accurate for the Netherlands.
Aero photo is set over to other grids. like mercator.
In the Netherlands there is a agreement (OSM) with the Government to use these aero photo’s server service (CC BY 4.0) HR 7,5 cm/pixel.
The aero photo is set to 2021_paspunten_BM5 (ground control point) BM5 project.
Download paspunten (ground control points)
Paspunten CC BY 4.0, map data Openstreetmap contributors

Paspunt GCS:
Mapillary photo
In the middle there is a nail, this nail is measured in with RTK gnss, very accurate. Measured in with NTRIP GNSS reference points.
The x y z coordinates. (RD grid)

OSM location

Satellite imagery:
They buy these imagery, in a tender project, a company adjust all these imagery to the RD grid, so that all mapdata, the Government use, lays the same.

My point is, if you want to tag a seen GCP, you need the official data coordinates. The OSM node coordinates, must be, the X Y coordinates (above image). grid, RD to mercator, OSM, there is always a conversion between grids, which gives a small deviation. (number roundings)

Do not create your own data point with your smartphone. It is off.
We do not need, here, somewhere is the GCP, you can use OSM coordinates.

For the Netherlands, the spot is correct.
You see the bicycle in ID edit (above). Same aerial layer.

They use the aerial imagery from the Government in the Netherlands for there Esri World Imagery.

They edit the tiles a bit, colour, it also depends what the service deliver. (tile, pixels at a zoomlevel)

The Netherlands Government, flys every year, the latest imagery, they renew there Actueel HR (actual) url layer service, when the new imagery is processed for the whole country.

I expect later on Esri do the same. These are 2021 images.
Esri World Imagery, in other countries could do the same, depends on the available aerial data.
You do not know how old the aerial data is.

Do we need these points for the Netherlands?

I think, no.
Could they be tagged, yes, but then accurate?
This will be a import.

Hi @Allroads ,

Can you post a link to one of these dutch GCPs?
I would like to see what infos are being put to OSM.
Could be a good start for the GCPs for


Once, I tagged one myself, using the above aerial imagery PDOK with man_made= survey_point. That made me think, is this correct, what use, we have the best aerial in the Netherlands with good aligned tiles, do we need it.

Moving the map, to a point, then on a other point you draw the map away from a point.
The aerial must be aligned well, not our job.

Because of the nail I should use survey_point:structure=indented_pin
but the black/white round colour?

I searched with overpass.
found none.

I searched for some open data.
Ground control point, not for aerial but your GPS check.

Geodätische Referenzpunkte

Die Bayerische Vermessungsverwaltung bietet zur Überprüfung von GPS- bzw. GNSS-Empfänger geodätische Referenzpunkte an. Hier finden Sie eine Übersicht der bis jetzt erstellten Punkte.

download kml

the data was already mentioned in his previous post under:

[1] Download paspunten (ground control points)

I really liked @Allroads posting and I guess because it is opendata, it might not have to be stored in openstreetmap. I guess some mappers from Netherland could answer this request. I think it is always a local matter for the local community, if there are real survey points.

I just did two tests with all these 2268 GCPs from Netherlands.

First, I checked also overpass-turbo on any features with man_made=survey_points in this country, but they are less and on really different locations. So yes the dataset could be useful for osm database.

Second, I added this data as geojson into ID Editor to check if there are other data in the osm database, where the GCPs should be located.
For that I needed to convert this data first into a geojson with the right projection 4326.

Left: All GCPs from the source on mapnik style
Right: GCPs in ID Editor to see if there is anything.

Yes the marker matches the imagery spot on local imagery PDOK like @Allroads mentioned (ESRI just for better resolution)
There is also a second spot in the yellow circle, more rectangle, but not in the dataset >> [2]

For me, we could import [1], if it is useful, but I guess it would be first good to collect some other local data (like the german GRPs), find out a tagging schema there and made a concept of this metadata preset you think of.

Secondly, it would be good to know more information from the manufacturers about these data.

1 Like

I know also something about the german GRPs, because I saw them in Saxony and was mapping them sometimes. I think there is no preset for that.

Actually via JOSM Editor I imported just once some lines direct to osm database, so I have not so many experience, because it is also critical if it is legal to add the data.

Normally there is something like here Category:Import from the Netherlands - OpenStreetMap Wiki
or to documentate permissions for each country.
or finding recent requests and their communication in potential datasources

For the example from Netherland, the first legal agreement to use the photo service, could be extended to a second request on the GCPs to import them.

I just asked at the forum if anyone has experience

Actually, what is BM5? BM stands for benchmarking? I often hear this, but not really understand. It is also used in osm database for tagging, like survey_point=bm_cgs in Taiwan, which also is tagged combined with satellite_point=yes. This means they connect survey point info with calibration matter.