ContextCapture model results have incorrect elevations

I am using ContextCapture to create a 3D mesh model in 3mx format. My source photos are aerials that are geotagged with lat/long and an elevation that represents the height at which the photo was taken. When I go through the process of Aerotriangulation>>Reconstruction>>Production, I am converting the model to a State Plane coordinate system. When I import the model into 3D software like ConceptStation, the X-Y coordinates of the 3D model are fine, but the elevation is not correct. How do I account for the elevation so that the resulting model is correct, or at least close to the actual ground +/- 1ft)?

  • Hello Tim:

    I looked at you process and there doesn't seem to be anything wrong with it.  I think the issue is with the heights (elevations) obtained from the photos.  I have used drones to acquire images but I use conventional aircraft with on board cameras and gps units for the majority of my work.  Most drones have gps units on them which is where the camera gets its XYZ position; however unless you have an expensive drone (+$25K an above) the positions you get are not super accurate +- 5-8metres.  In addition the elevations from these gps units are measured above the WGS84 ellipsoid and can't be changed

    The gps units that I use in the aircraft allow us to change the vertical reference and get geoidal elevations which are in effect elevations above sea level or orthometric elevations  In other words the camera elevations generally match the elevations (height) from the aircraft altimeter.  Most engineering and construction projects require orthometric elevations which I suspect is what you want.  The following link explains these different types of elevations
    Depending on where you are in the world the difference between an ellipsoidal and geoidal elevation can be significant.  The following link is a calculator for these differences
    If you go to the Reconstruction that you created and look at the spatial tab, does the elevation range generally match what you want?  Also if you open your production in the CC Viewer and measure a point, is the elevation correct?  What happens if you change the Spatial Reference system in the viewer to output orthometric heights do you get the values that you want?

    It seem to me that you need to adjust your model to get orthometric heights; you may be able to use Advanced tab to change the origin but I am not sure if this will work

    I don't use ConceptStation so I cannot comment on how you can adjust the elevations in this application.  I use ESRI GIS and Autodesk products and these allows me to modify the elevations

    Sorry to be so long winded but it's not an straightforward solution.  Using control points accurately measured by a surveyor in the field is the sure way to get everything to line up
    Farouk Rohoman
     

    Farouk Rohoman

  • Thanks for responding.  Here's what I can tell you:  the photos are geotagged by the camera when the picture is taken (I'm pretty sure because the elevations can vary slightly from photo to photo).  Once again, the Z associated with the image refers to the height of the camera when the picture is taken.  ContextCapture recognizes that the photos are georeferenced automatically.  I indicate under the "Additional Data" tab that the photos are "Vertical views only" (nadir).  If I look at the "3D view" tab, ContextCapture has assigned WGS 84 (IPSG:4326) to the photo group and has read the Lat/Long & Z values photo-by-photo.  I will add this right up front:  if I put in Control Points, then ContextCapture will put the resulting model in the proper place, but this can be quite time-consuming.  I'm trying to see if there is a quick-and-dirty way of doing what I'm trying to accomplish:  push the model results up or down in the Z-direction.

    I now begin the Aerotriangulation process by clicking on the "Submit Aerotriangulation" button .  When ContextCapture gets to the "Positioning/georeferencing screen", I've been using the option selected by ContextCapture of "Use photo positioning data for rigid registration", but I wonder if I should be using the "Use photo positioning data for adjustment" option instead--not sure what the differences between these two options are.   I don't change anything on the "Settings" screen, and then I begin the Aerotriangulation process by hitting the "Submit" button.

    After Aerotriangulation is complete, I then move into the Production definition stage. After I initiate the process and "Reconstruction_1" is created, I go back and highlight "Reconstruction_1" and work my way through the five tabs of  "General", "Spatial framework", "Reconstruction constraints", "Reference 3D model", and "Processing settings".  For "Spatial framework", I change the "Spatial reference system" from "Local East-North-Up; origin: 28.787030N 81....." to "WGS 84" (there is an option for "WGS 84, orthometric height (EGM96)"--is this what I should be using?)  I then decide whether I need to tile the Photo group depending on what the expected maximum RAM usage will be.  I skip the "Reconstruction constraints" and "Reference 3D model" tabs and go to the "Processing settings" tab where I make the model less precise to decrease the processing time by changing Geometric precision to "Medium".  Once I've changed/made these settings, I go back to "General" and click the "Submit new Production button".

     I name my production, advance to the next screen and keep the selection of "3D mesh", advance to the next screen and decrease the JPEG quality of the texture maps to 50% because the output doesn't need to be the best at this point, and advance to the Spatial reference system screen to select my output to be in a State Plane coordinate system as my target coordinate system.  I accept the default output folder and hit the "Submit" button to begin the process.

    After the Production is completed, I'll load the resulting 3mx file into ConceptStation.  I'm doing this entire process for all my various drone flights for the purpose of seeing how the various flights fit together.  They all are loading into my ConceptStation file adjacent to one another (more-or-less, some knitting-together issues), but they all are way too low to where they should be according to ConceptStation.  I know I need to alter the Z values somewhere along the line, but I'm not sure where.  I see that there is an "Advanced Options" link to click at two different places in the process:  the first is during Reconstruction>>Spatial Framework where if you click you have the option to change the origin of the first tile.  There's also the "Advanced Options" link under Production Definition>>Spatial Reference System where you can change the origin for the 3D model origin as well.  Maybe the latter one would work for me to alter where the model is referenced into ConceptStation?  For this particular effort, my ContextCapture 3D models are loading in way below where ConceptStation says they should be loading.

    Sorry, but I don't understand what you mean by "If you are trying to get orthometric elevations or geoidal heights then you would have to apply the appropriate separation for your area".  Please elaborate.

    Thanks in advance for any help

  • Hello Tim:

    Were your images geo-tagged using GPS?  If so the elevations are probably referenced to the WGS84 ellipsoid.  What vertical datum are you using when you converted the model?  If you are trying to get orthometric elevations or geoidal heights then you would have to apply the appropriate separation for your area

    How different are the elevations from what you expect

    Farouk Rohoman