Hi Alexey,
Yes, that's essentially what I'm trying to do. I am also running a script that adjusts the reference altitude of the cameras based on the DJI metadata prior to initial camera alignment (forgot to mention this):
for camera in chunk.cameras:
if 'DJI/RelativeAltitude' in camera.photo.meta.keys() and camera.reference.location:
z = float(camera.photo.meta['DJI/RelativeAltitude'])
camera.reference.location = (camera.reference.location.x, camera.reference.location.y, z)
However it doesn't seem to be an altitude problem, otherwise the markers would simply be above/below the corresponding camera positions, unless I'm misunderstanding something fundamental here.
EDIT: Just ran another little test to verify I'm not going crazy here.
> campos = chunk.cameras[0].transform.translation()
> p = chunk.transform.matrix.mulp(campos)
> p = chunk.crs.project(p)
> p
Vector([-123.01777296919887, 49.14079153544101, 68.74203079824663])
> chunk.cameras[0].reference.location
Vector([-123.018551851397, 49.141292174004, 68.7])
Note that the projected values are significantly different. So this seems to confirm that the camera translations are *not* where the camera reference info says they are. Why would this be? Am I missing a step somewhere?