SRS with DJI cameras and GCPs

Hi all,

I cannot figure out how CC actually apply spatial reference systems. I try to be as clear as possible with this following example:

  • last week we surveyed an industrial site (8 hectares, a total of about 50 GPixels, 2500 images more or less) with a DJI Phantom 4 Pro. Nadir + oblique views. Overlap and sidelap are correct.
  • prior to flight missions, we also surveyed 12 ground control points with a Leica GS18T, using as SRS WGS84/UTM 32N. So GCPs are known coordinates. Those GCPs have been converted to orthographic coordinates by an experienced surveyor.
  • Importing the images in CC Master, the pose is automatically set to WGS84, while the pose metadata are WGS84/EGM96 geoid (which appear to be the SRS adopted by DJI. Am I wrong?)

The workflow we then followed is:

  1. changed all pose metadata to WGS84/32N (selecting all the images in Photogroup, then changing the setting from the right-side drop-down menu)
  2. changed all the images SRS in the 3D view (this BEFORE aerotriangulation, so with no model or splats visible) since they remain set to EGM96 (don't know why)
  3. run a first AT
  4. imported the GCPs data from a TXT file, using CC wizard and setting the SRS to WGS84/32N (since this is the SRS suggested by the surveyor)
  5. set all the GCPs on at least 7 images for each GCP. Here, the left-side colored tab before the images' name is RED, reporting more than 3 pixels of reprojection error, which shouldn't be the case
  6. set the reconstruction, subdividing the model in 16 tiles, structured aerial dataset.
  7. started the 3MX production, jpeg 100%, keep camera calibration, reference to GCPs for accurate position.

Now... the model is pretty good, actually great to be used to show, but the altitudes are way off (like 30 meters, 30% off since the actual altitude is 105 meters and the model shows 130 to 135 meters) and GCPs positions are 50 cm off, which should not happen when you set ground control points to produce accurate scale, orientation and spatial position.

Could you please help us finding the issue? I was aware of a ContextCapture bug on the altitudes (which is crazy for a reality modeling software which costs a lot, the accuracy should be its job) but with so many settings for SRSs in the same production, maybe I'm a little lost.

Thanks.

Parents
  • It is not so much bug of CC regarding altitudes but fact that DJI P4 doesn't write GPS altitudes in EXIF, it writes barometric altitude so it doesn't matter which geoid is used but it seems more accurate after adding photos is to choose WGS84 ellipsoid(just keep in mind that it will set it as default for next imports, very strange GUI approach). But it doesn't matter if GCPs are used if they are in correct SRS. Keep in mind there are 2 SRS needed for horizontal and vertical directions. What geoid does the survey points use?

    Also there is no need to mess with coordinates and trying to change before aerotriangulation. Contextcapture anyway internally uses ECEF coordinates so it recalculates them from any coordinate system to ECEF for displaying together.

  • DJI P4 doesn't write GPS altitudes in EXIF, it writes barometric altitude

    Thanks Oto for your prompt reply. I do not understand this above: what matters if DJI writes baro altitudes, if I add to my AT and production the GCPs which indicate surveyed points? All the 3D model should be oriented, scaled and placed at the altitude as per GCPs. Is it correct? Also, in our case the altiture on EXIF does not appear to be barometric, please look at the following screenshot:

    Do you mean to change pose metadata of the images to WGS84? (without indicating UTM or geoid)

    But it doesn't matter if GCPs are used if they are in correct SRS.

    SRS shouldn't be set when adding GCPs? The wizard asks for the SRS when we add GCPs.

    Keep in mind there are 2 SRS needed for horizontal and vertical directions. What geoid does the survey points use?

    I thank you so much for this information, I wasn't aware of this. But I don't understand why CC requires 2 SRSs: where can I set them? How they are managed, since the GCPs are added with just one SRS? The survey points do not use any geoid, they've been registered in WGS84 and converted to orthogonal points by Leica CS20. As an example, one of the survey points report data like this:

    POINT_NAME,520307.644,5041300.019,131.713

    So reference coordinates are in meters.

    I will also look more in deep into ECEF, thanks.

  • After importing photos there is a warning shown in status bar that for last photos WGS84 with MSL is used and you can click on this warning and it will allow to change to WGS84 ellipsoid. For P4 it is calculated altitude by absolute barometric pressure as it equals same value as one from barometric altitude, in older firmwares it was GPS but also way off..

    SRS should be set for each import correctly for photos if GPS is used it automatically uses WGS84 and for importing GCPs you manually set SRS+vertical system. If GCPs are used then photo altitudes are not critical.

    If Survey points are in WGS then it is ok it means it uses ellipsoid height and not geoid, geoids can be added by "vertical system override"

  • SRS should be set for each import correctly for photos if GPS is used it automatically uses WGS84 and for importing GCPs you manually set SRS+vertical system. If GCPs are used then photo altitudes are not critical.

    If Survey points are in WGS then it is ok it means it uses ellipsoid height and not geoid

    Thanks Oto. About this quote and importing GCPs, when you say to set SRS+vertical system, do you mean WGS84 only? Since it should assume that the altitude is based on ellipsoid. Please let me know, thanks.

    Meanwhile I'm running a new project with new AT, where I changed the added photos altitude to WGS instead of MSL.

Reply
  • SRS should be set for each import correctly for photos if GPS is used it automatically uses WGS84 and for importing GCPs you manually set SRS+vertical system. If GCPs are used then photo altitudes are not critical.

    If Survey points are in WGS then it is ok it means it uses ellipsoid height and not geoid

    Thanks Oto. About this quote and importing GCPs, when you say to set SRS+vertical system, do you mean WGS84 only? Since it should assume that the altitude is based on ellipsoid. Please let me know, thanks.

    Meanwhile I'm running a new project with new AT, where I changed the added photos altitude to WGS instead of MSL.

Children
No Data