Failing GCP jobs

I’ve been trying to process several multispectral datasets (Micasense Rededge-MX) along with GCPs but all jobs where gcp_list.txt is supplied fail with the following error:

ERROR 1: PROJ: proj_create_from_database: Cannot find proj.db
ERROR 1: PROJ: proj_create_from_database: Cannot find proj.db
ERROR 1: PROJ: proj_create: unrecognized format / unknown name
ERROR 6: Cannot find coordinate operations from `' to `'
Traceback (most recent call last):
  File "/code/", line 69, in <module>
  File "/code/stages/", line 86, in execute
  File "/code/opendm/", line 342, in run
    self.process(self.args, outputs)
  File "/code/stages/", line 157, in process
  File "/code/opendm/", line 84, in georeference_with_gcp
    coords_header = gcp.wgs84_utm_zone()
  File "/code/opendm/", line 62, in wgs84_utm_zone
    lon, lat = location.transform2(self.srs, longlat, entry.x, entry.y)
  File "/code/opendm/", line 60, in transform2
    return transformer(from_srs, to_srs).TransformPoint(x, y, 0)[:2]
  File "/usr/lib/python3/dist-packages/osgeo/", line 898, in TransformPoint
    return _osr.CoordinateTransformation_TransformPoint(self, *args)
TypeError: Wrong number or type of arguments for overloaded function 'CoordinateTransformation_TransformPoint'.
  Possible C/C++ prototypes are:
    OSRCoordinateTransformationShadow::TransformPoint(double [3])
    OSRCoordinateTransformationShadow::TransformPoint(double [4])
    OSRCoordinateTransformationShadow::TransformPoint(double [3],double,double,double)
    OSRCoordinateTransformationShadow::TransformPoint(double [4],double,double,double,double)

The job fails at the Parsing SRS header: step, regardless of whether GCP coords are in lonlat or transformed to UTM (in every case accompanied by correct headers). The job succeeds once gcp_list.txt is removed, and the location of the orthos is correct (more or less).

I have tried the following (in various configurations):

  • progressively decreasing the precision of lon, lat, z, x, & y
  • changing the SRS header specifications
  • removing column 7 (GCP ID)
  • setting z to NaN
  • parsing and reassembling gcp_list.txt to remove any non-printing characters.
  • transforming gcp coordinates between lonlat and UTM.

gcp_list.txt was generated with GCPEditorPro. I’m running ODM from a Singularity image.

This seems to be an issue with how ODM handles the gcp file – it looks like the args passed to /usr/lib/python3/dist-packages/osgeo/ are messed up? Has anyone else encountered this? I’m hoping for a workaround.


1 Like

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