Drone LiDAR Data Processing: Matching DJI L1 Flight Passes In Terrasolid

Drone LiDAR Data Processing: Matching DJI L1 Flight Passes In Terrasolid

A new wizard has been added to Terrasolid to automate the process of matching DJI L1 flight passes. This improves the accuracy and completeness of a LiDAR data set. This workflow guide shows how TerraScan and TerraMatch can be used to streamline flight-pass matching.

Last updated: Apr 21, 2023

9 minute read

Conducting flight pass matching in Terrasolid.

  • New wizard added to Terrasolid to automate the process of matching DJI Zenmuse L1 flight passes; 
  • Matching flight passes makes a data set more accurate and complete, ensuring there are no alignment issues;
  • This in-depth guide explores the workflow of using TerraScan and TerraMatch to conduct flight-pass matching;
  • heliguy™ has partnered with Terrasolid to offer the data processing software solution.

A new wizard has been added to the Terrasolid ecosystem to automate the process of matching DJI Zenmuse L1 LiDAR data from different flight passes.

Matching flight passes results in a more accurate and complete data set, ensuring there are no gaps or alignment issues.

Conducting this process is an important step: The images below show how a data set looks before and after this process.



The Terrasolid ecosystem provides a comprehensive and streamlined solution for matching flight passes.

This blog explores the importance of matching flight passes, the workflow for correcting your L1 data set in Terrasolid, and the advantages of using the software platform for this application.

What Is The Value Of Matching Flight Passes When Processing LiDAR Data Sets?

Before we look at matching flight passes in Terrasolid, it is important to highlight why this process is important. You can find out more about general cleaning and classifying LiDAR data in our in-depth blog.

Matching flight passes is an important step when processing LiDAR data sets because it helps to ensure accuracy and completeness of the data.

LiDAR is a remote sensing technology that uses laser pulses to generate precise 3D maps of the Earth's surface. The LiDAR sensor is typically mounted on an aircraft or drone - like the Zenmuse L1 payload on the DJI M300 RTK drone (pictured below), and multiple flights are conducted over the same area to capture data from different angles and perspectives. These flights are referred to as passes.



When processing LiDAR data sets, it is important to match the flight passes to ensure that the data is accurately aligned and that there are no gaps or overlaps in coverage.

This is typically done using GPS data and other positioning technologies to precisely determine the location and orientation of the LiDAR sensor during each pass.

Matching flight passes also helps to improve the accuracy of the LiDAR data by reducing errors caused by variations in altitude, speed, and other factors that can affect the quality of the data.

Matching Flight Passes In Terrasolid

Flight pass matching isn't exclusive to Terrasolid. For instance, this can be conducted in software like DJI Terra

However, compared to DJI Terra, the Terrasolid ecosystem provides more user choice, offering more matching options, corrections, and calibrations that can be applied.


TerraScan matches flight paths which improves data-set accuracy.


It is worth noting that DJI Terra and Terrasolid can be used in conjunction during post-processing: Terra as a first-stop processing package, followed by Terrasolid for more detailed work.

When working in Terrasolid, both the TerraScan and TerraMatch licences are required for doing automatic strip alignment, combining the TerraScan wizard for processing drone data and TerraMatch's new automated wizard for conducting automatic flight-pass matching.

  • TerraScan: The main application in the Terrasolid Software family for managing and processing all types of point clouds.
  • TerraMatch: Improves the accuracy and quality of the raw laser point cloud. It compares laser data from overlapping flight or drive paths and calculates correction values for the misalignment angles as well as XYZ location errors.

The following UAV bundles are available to access these two software platforms:

Alternatively, single licences - for drone or handheld scanning - are available. For more details on Terrasolid, including licence/bundle options, click here.

Workflow: How To Match L1 Flight Passes In Terrasolid

This section will show how users can match L1 flight passes in Terrasolid, using TerraScan and TerraMatch.

In our example - with images to follow later in this blog - the data set undergoes matching using four levels of correction:

  • HRP (Heading/Roll/Pitch) correction for whole data set;
  • dZ correction per flight line;
  • Fluctuating Elevation Correction;
  • Mirror Angle Correction.

The workflow is as follows:

1: Importing Data Set Into TerraScan 

The first job is to import the LiDAR data using the TerraScan wizard.




  • One or more .LAS files
  • Input system: In this example, the input system has been set to Texas South Central, with survey feet (US) being the unit of measurement. 
  • Input elevation: Ellipsodial or orthometric. In the example, is it orthometric.
  • Trajectory input: One or more sbet.out files 


The software will then read in the point cloud and trajectory solution. 



Our example data set - featuring 229million points - has been created with DJI Terra software with the optimised accuracy setting 'off', so no flightline matching has been done.

Because of this, we can expect to see some differences in the point cloud from the different flight passes. This will be shown later in the blog.

2: Observing The Point Cloud

A first look at the data set in real-world colour...



...and by elevation...



...shows that most of the ground is bare, with hardly any vegetation, apart from a cluster of trees to the right of the data set.

It is worth looking at the data set first, as this will impact on the setting you choose when it comes to flight-pass matching. This will be discussed shortly.

3: Split Trajectories

Once we have our data set, we need to split the flight trajectories, using the wizard in TerraScan.



This allows you to see the different flight passes in their different colours - as the image below shows. In this example, we can see that the drone has flown back and forth from the centre of the survey site. Each flight is represented by a different colour.



Because no flight matching has been conducted, there are numerous mismatches between flight passes. This is observed in the above image: Notice how the strips of colour aren't uniform.

This can also be observed in the different cross-section views - as shown in this graphic. 



The wayward red and white lines in cross-section view 3, and the splash of yellow in view 4, represent the very edge of the scan corridor. This is where the data is at its weakest positioning. 

This will be tidied up in the next step within the wizard: The Match Passes step, which uses TerraMatch to conduct the automatic matching.

4: Match Flight Passes Using TerraMatch

This step of the wizard allows you to match the passes and consequently, tidy up the data set.

To do this, click on the wizard button and click on Match Passes.



Numerous levels of positional matching occur at this stage based on tie line observations. These are observations based on the differences between flight passes, scanners, or the point cloud and control.

These corrections are:

  • Per Session Correction Parameters: Heading, roll, and pitch per flight session.
  • Per (Flight) Line Correction Parametres: Heading + roll + pitch + x + y + z
  • Fluctuating Correction: Fluctuating roll + z.
  • Mirror Angle Correction: Solves and applies Mirror Angle Correction curve. This fixes the edges of the scan corridor which usually curve downwards in an L1 data set.

The TerraScan wizard automatically selects the default settings for these corrections...




...however, these options can be modified, ticked and unticked. 

For instance:

  • Max XY/Z Mismatch: Specify the maximum possible mismatch in the data.
  • Classify Ground For Matching: Set this 'on' if the data set has significant vegetation coverage. In this example, this option is not selected as the sample data set has little vegetation cover.
  • Per Session Correction: The default setting is to solve heading, roll, and pitch per session. This is the most systematic correction and most data sets will improve with this correction.
  • Per Line Correction: The default setting is to solve Lever Z (elevation) per line. Many data sets will improve with this correction. You may consider solving other parameters per line, with roll being the most likely.
  • Fluctuating Correction (correction changes all the time): This is set to 'off' by default. Select one of these options (Roll or Elevation) if the data set is mainly bare ground, ie little-to-no vegetation. This makes a significant improvement on many data sets.

    So, in our example data set, we have gone with the following options:



    Once these options are chosen, run the TerraMatch code to start the matching process. As mentioned previously, a TerraMatch licence is required for this.

    5: Post-flight-matching: An Improved Data Set

    Look at how the data set improves once these corrections are applied: The flight paths become tidier.

    They go from this...



    ...to this.



    And notice how this is reflected in the various cross-sections, going from this...



    ...to this:



    5: The Report  

    The accompanying report verifies the changes to the data set and shows what has happened to the mismatched distances in the different correction levels.

    For instance, the report shows that, for the corrections per session, the starting XY mismatch was 0.06710 survey feet, while the final XY mismatch was 0.05333 survey feet - which represents a significant improvement on the data set.



    Meanwhile, the report shows how the edges of the scan corridor have been corrected via Mirror Angle Solution.

    The results have been taken from the report and collated into the table below.

    Note how in this case, it has modified the outer degrees of the scan corridor on both sides. The table shows how it is on the edges where the correction is the biggest and the levels of correction are quite symmetrical, meaning the left and right sides are receiving the same magnitude of correction.


    Left Side (Degrees) Correction Right Side (Degrees) Correction
    -37 -0.0768 37 0.0812
    -36 -0.0768 36 0.0812
    -35 -0.0757 35 0.0812
    -34 -0.0724 34 0.0779
    -33 -0.0649 33 0.0721
    -32 -0.0581 32 0.0646
    -31 -0.0526 31 0.0576
    -30 -0.0479 30 0.0515
    -29 -0.0427 29 0.0453
    -28 -0.0372 28 0.0393
    -27 -0.0316 27 0.0339
    -26 -0.0257 26 0.0286
    -25 -0.0198 25 0.0229
    -24 -0.0143 24 0.0158
    -23 -0.0090 23 0.0084
    -22 -0.0040 22 0.0027
    -21 -0.0006 21 -0.0007
    -20 0.0000 20 0.0000


    Matching DJI L1 Flight Passes With TerraSolid: Summary

    Matching flight passes is an essential step to post-processing LiDAR data, helping to create a more accurate and complete data set and ensuring there are no gaps and alignment issues.   

    TerraMatch's new wizard automates this process to streamline this stage and offers more options compared to other software like DJI Terra.

    In fact, DJI Terra and Terrasolid can be used in conjunction: Terra being the first stage, with Terrasolid being used for deeper and more in-depth cleaning and classification

    heliguy™ sells both software platforms, and the L1 sensor, and the in-house surveying department offers dedicated workflow support on all of these solutions. The team has received in-depth training at the Terrasolid International Training Event, and created a free end-to-end workflow training course for the L1, DJI Terra, and Terrasolid - accessed here - which proved so popular, it was subsequently purchased by DJI for roll-out to its global surveying community.  

    Leave a comment

    Please note, comments must be approved before they are published

    If you have a question or require urgent assistance, please contact us to ensure your query is dealt with quickly.

    Please note, this hidden field is to prevent bot submissions and entering data will result in your comment being discarded without moderation.