1

I have created a points layer which represent Ground Control Points (GCP) for georeferencing scanned topographic maps via 'Add Layer > Add Delimited Text Layer', where I saved coordinates in a .csv format that has the lat-lon of each point, stored in DMS coordinate system (I am using DMS as the scanned topo maps use DMS).

I have managed to load the .csv as a Shapefile. Now, I open up the Georeferencer, load the scanned topo map, and click 'File > Load GCP points', however it requires a Ground Control Point file with the *.points extension, and not a Shapefile.

I would prefer not to manually reassign all the control points. How do I convert a Shapefile to a GCP (.points) file? If that is not possible, how do I create a GCP (.points) file? What file formats can I use to create the required GCP (.points) file?

My goal is to be able to load it into the Georeferencer. I am using QGIS 3.2.1.

When I change the extension of the .shp to .points, it becomes a POINTS file (.points), but QGIS will prompt me the following; "Invalid GCP file. File could not be read."

  • Does your shapefile already contain the information about which pixel, expressed as rows and columns, is under each GCP? – user30184 Nov 12 '18 at 7:52
  • No, it does not have the which pixel row and column a point belongs to. It only has the lat-lon in DMS coordinates. – Johanness Nov 12 '18 at 8:01
  • If you do not have extremely many GCP's I think it is easiest and fastest to insert them again with the QGIS georeferencer. – user30184 Nov 14 '18 at 7:22
2

how do I create a GCP (.points) file?

You could use a text editor.

The format you want is like:

mapX,mapY,pixelX,pixelY,enable
433268.37959376286016777,355509.77655098377726972,983.9774984446378312,-2014.51289408103730239,1
433246.04284725664183497,355552.3686015487764962,831.61904507316751278,-1719.29808785451632502,1
433306.56253424676833674,355622.24824787728721276,1234.15815910973515201,-1236.85959025535225919,1
433411.46138055482879281,355677.74274208577116951,1955.41727764171605486,-850.47783687136427488,1
433554.34018561965785921,355695.8543699209112674,2953.81013592618046459,-710.01017688100557734,1
433636.94680135982343927,355569.64276779681676999,3522.92258485503180054,-1576.07810653126352918,1
433600.53707709873560816,355540.0109893383923918,3268.11243895852203423,-1781.04650243362743822,1
433454.43287125352071598,355434.66971611470216885,2264.11336592998168271,-2498.8375497027768688,1
433346.00189347146078944,355440.21874731522984803,1527.95157730500841353,-2474.08382017634630756,1
| improve this answer | |
  • Okay nmtoken, but how do I get those values for pixelX, pixelY by using my GCPs and a non-georeferenced raster (scanned) map? I only have the lat-lon coordinates of my GCPs in DMS coordinate system. – Johanness Nov 12 '18 at 9:08
0

Like nmtoken said, you have to put them in a textfile similar to his example. It might be easy to use qgis to save the shapefile as a csv. Then you can open it in excel and change the layout according to nmtoken's example. You can probably leave the pixel values empty because you don't know them yet.
Then you save the csv, change the extension to .points, load the gcp's in the georeferencer tool and click on the corresponding location for each gcp in order to get the pixel coordinates.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.