DJI – Insights Blog

Complete PPK Workflow for DJI Enterprise Drones

Written by Run Li | March 28, 2023

Post-processed kinematic (PPK) is a method of using Global Navigation Satellite System (GNSS) data to accurately determine the position and trajectory of a rover/drone. PPK involves collecting raw GNSS data from a drone, along with information about the position and trajectory of nearby reference stations, and then processing the data after the fact to improve the accuracy of the position and trajectory information.

PPK is commonly used in applications such as surveying, mapping, and precision agriculture, where high-accuracy positioning is critical. Unlike Real-Time Kinematic (RTK) positioning, which requires a real-time wireless connection to reference stations, PPK can be done after the fact, allowing for greater flexibility in data collection.

The post-processing of GNSS data involves using specialized software to process the raw data collected by the receiver and compare it with data from nearby reference stations to determine the precise location of the drone at a given point in time. This process can improve the accuracy of the position and trajectory information by correcting for errors introduced by factors such as atmospheric conditions and satellite orbit deviations.

While both RTK and PPK positioning can be used for drone mapping applications, there are some advantages of using PPK over RTK: 

 

Pros

Cons

RTK

Real-Time Feedback: With RTK, real-time feedback is available during the mission, which can make it easier to identify and address issues as they arise. 

Fast Data Processing: RTK data can be processed quickly, which allows for a faster turnaround time for delivering the final product. 

User-Friendly: RTK is typically easier to use than PPK and requires less skill to set up and operate. 

Lower Accuracy: RTK accuracy can be affected by communication delays and interruptions, making it less accurate than PPK. 

Communication Dependency: RTK requires real-time communication with a reference station during the mission, which can be challenging in remote or rural areas with limited or no cellular coverage when using RTK via the NTRIP protocol. 

Higher Costs: RTK can be more expensive than PPK due to the need for additional RTK modules or NTRIP service subscription fees.

PPK

No Real-Time Communication Required: RTK requires real-time communication between the drone and the ground station to receive correction data from the reference station. PPK, on the other hand, does not require real-time communication as the correction data is applied later during post-processing. 

Greater Flexibility: With PPK, the drone can fly the mission and collect data, and the post-processing can be done later, providing greater flexibility for data collection, especially in areas with limited or no cellular coverage. 

Higher Accuracy: While both RTK and PPK can provide high accuracy, PPK can offer even higher accuracy as it is not subject to any potential communication delays or disruptions during data collection. PPK can also use more reference stations during post-processing, which can further improve the accuracy. 

Reduced Costs: PPK can be less expensive than RTK because it does not require real-time communication, which can require additional equipment and subscription fees. 

Longer Post-Processing Time: PPK requires post-processing of data, which can take time and delay the delivery of the final product.

Minimal Flight Duration Requirement: To achieve accurate positioning data, it is necessary to capture sufficient GNSS data points during the flight. This means that the drone must fly for a certain duration and distance to capture enough data points for PPK processing. The exact duration and distance required will depend on various factors such as the GNSS receiver used, the quality of the reference station data, and the flying environment. Generally, a minimum flight duration of 10 minutes is recommended to capture enough GNSS data points for accurate PPK processing. However, this may vary depending on the specific requirements of the mapping project and the quality of the GNSS data collected.

The selection of PPK or RTK for a mapping project ultimately depends on specific requirements, including flexibility, cost, and mission scale. Although both methods have their advantages and disadvantages, DJI Enterprise RTK drones always record satellite observation data. This ensures that even if an unstable cellular environment interrupts real-time communication during an RTK flight, the user can still retrieve base station data and use the PPK method as backup to output centimeter-level accurate data.

PPK hardware and software preparation

UAV and Payload Hardware (One of the options provided)

Matrice 300 RTK + Zenmuse P1
Matrice 300 RTK + Zenmuse L1
Mavic 3 Enterprise + RTK Module
Mavic 3 Multispectral + RTK Module
Phantom 4 RTK

Flight Mission Planning Software

DJI Pilot 2 app

Source for Base Receiver Independent Exchange (RINEX) file and Navigation files

DJI D-RTK 2 Base Station
Third-party Base Station
NGS CORS (Online)

Specialized PPK Software (One of the options provided)

Propeller Aero
RTKLIB
REDcatch REDtoolbox

Photogrammetry Software

DJI Terra
Third-party Photogrammetry Software

General Workflow

Performing a PPK process with drone image data may seem daunting, but it is actually a straightforward process that requires careful planning and execution. The process involves several key steps, which will be explored in more detail in the instructions below.

  1. Settings and Preparations: Before you can begin collecting drone data, you need to carefully plan the mission. This involves ensuring that the flight duration is long enough, and that a few settings are enabled within the DJI Pilot app. By carefully planning the mission, you can ensure that you collect enough data for accurate PPK processing.
  2. Collecting Drone Data: Once you have planned the mission, it is time to collect the drone image data and the corresponding GNSS data from the drone receiver during the flight. The GNSS data should include the raw satellite navigation system data, as well as timestamp information. It is important to collect as much data as possible to ensure accurate PPK processing.
  3. Collecting Reference Data: In addition to collecting drone data, you also need to collect reference data from nearby GNSS reference stations, such as CORS or other ground-based receivers. The reference data should include the same GNSS signals and timing information as the drone GNSS data. By collecting reference data, you can ensure that your PPK results are as accurate as possible.
  4. Data Alignment and PPK Processing: Once you have collected all of the necessary data, you need to align the drone image data with the corresponding GNSS data based on the timing information. This can be done using specialized software tools that can match the timing information between the image capture and the GNSS data point. After aligning the data, you can process it using specialized PPK software or online services. The PPK processing uses the GNSS data from both the drone receiver and the reference stations to calculate the precise positioning information for each image captured during the flight.
  5. POS Data Overwrite: Make sure the new POS data is correctly imported into the photogrammetry software. This step is critical because the accuracy of the photogrammetric models heavily depends on the quality of the input data. Therefore, it is necessary to double-check the compatibility of the POS data with the software and ensure that it is correctly overwritten.

While performing a PPK process with drone image data may seem complex, it is a necessary process for obtaining accurate mapping results. By carefully planning the mission, collecting enough data, and performing quality control checks, you can ensure that the results are as accurate as possible.

Settings and preparations

Before flying your drone, it is important to properly configure your DJI Pilot 2 app. Here are a few tips to ensure a successful flight:

  1. Enable the “Mechanical Shutter” option and disable the “Dewarping” option.


  2. Make sure the RTK option is Disabled in the Pilot app setting


  3. It is important to note that the PPK process requires post-processing of data, which may take time and delay the delivery of the final product. Additionally, achieving accurate positioning data with PPK requires capturing sufficient GNSS data points during the flight. The exact duration and distance required will depend on various factors such as the GNSS receiver used, the quality of the reference station data, and the flying environment. Generally, it is recommended to fly for a minimum of 10 minutes to capture enough GNSS data points for accurate PPK processing. Within the Pilot app, you can check the estimated mission flight time under the mission overview drop down tab.

Collecting drone data

To properly process with the PPK method, drone data is essential. In addition to raw images, two additional files are required from the image folder: the drone Receiver Independent Exchange (RINEX) file and the image timestamp file.

The drone RINEX file contains raw GPS measurements that are critical for achieving high-accuracy positioning. This data is used to correct for errors in the GPS signal that can arise due to various factors such as atmospheric conditions and the position of the GPS satellites. Without this data, the accuracy of the PPK method would be severely compromised. The RINEX file, named “XXX_PPKRAW.bin,” can be found in the raw photo folder.

Similarly, the image timestamp file is crucial for accurate results. This file records the exact time each image was taken, which is necessary to properly synchronize the image data with the GPS measurements. Without this information, accurately aligning the image data with the GPS data would be very difficult, which would in turn negatively impact the accuracy of the final results. The timestamp file, named “XXX_Timestamp.MRK,” can also be found in the raw photo folder.

It is essential to ensure that these files are properly collected and processed in order to achieve the highest possible accuracy with the PPK method. And only a few RTK/PPK-supported DJI Enterprise drone models are able to output these files including:

DJI M300 RTK (with Zenmuse P1 or Zenmuse L1 payloads only)
DJI Mavic 3 Enterprise (with the RTK module attached only)
DJI Mavic 3 Multispectral (with the RTK module attached only)
DJI Phantom 4 RTK

Collecting reference data

To perform PPK (Post-Processed Kinematic) processing using a base station for reference data, you typically need two types of files related to GNSS (Global Navigation Satellite System) data: a base RINEX file and a navigation file:

  1. Base RINEX file: This file contains the raw GNSS data collected by the base station, typically in RINEX format. The base RINEX file includes precise measurements of satellite signals, positions, and timing information. The file is typically collected at the same time as the drone flight or as close as possible to the flight time. The base RINEX file is used as a reference to correct the raw GNSS data collected by the drone during the flight.
  2. Navigation file: This file contains information about the position and orbit of the GNSS satellites used for the mapping project. The navigation file is used by the PPK software to calculate the precise positioning information for each image captured during the drone flight. The navigation file can be obtained from various sources, including government agencies such as the US National Geodetic Survey (NGS) or online services such as the International GNSS Service (IGS).

Within this instruction section, we will use the NGS CORS to obtain these GNSS files as an example:

To collect CORS reference data using the NOAA (National Oceanic and Atmospheric Administration) UFCORS (User Friendly CORS) service, follow these steps:

  1. Go to the NCN website and select NCN Map on the webpage.
  2. Input the address of the drone flight in the search box on the left and select Go:


  3. Select a site with the shortest baseline possible and record the site name. Baseline refers to the distance between the GNSS reference station and the drone. A shorter baseline distance generally results in higher accuracy PPK results, as it reduces the potential for errors introduced by atmospheric conditions and other environmental factors. The baseline distance between the CORS site and the drone can affect the quality of the reference data used for the PPK process. A longer baseline distance can result in more errors due to atmospheric and other environmental factors, which can lead to a less accurate PPK result. Therefore, it is recommended to keep the baseline distance as short as possible while still covering the mapping area. Any sites with a baseline over 20 miles are not recommended to be used.


  4. Go to the UFCORS website and select the date range for the data you wish to retrieve. Select “get CORS data file” The data will be downloaded as a compressed file (e.g., .zip). It is important to ensure that the CORS data is collected at the same time as the drone image data to ensure accurate PPK processing. You should also carefully evaluate the quality of the CORS data to ensure that it meets the required accuracy standards for the mapping project. Proper planning and execution of the drone mission and CORS data collection are essential to ensure accurate PPK processing and high-quality mapping results.


  5. Open the zip file downloaded, make sure the zip file contains the following two files: xxx.xxo (Base RINEX file) and xxx.xxn (Navigation file).

If there is no NGS CORS base station nearby the drone operation site, the DJI D-RTK 2 Mobile Station is a good option for obtaining base station data for PPK processing. To use it, simply set up the base station over a known point under WGS84 coordinates and ellipsoidal height in meters. Then, offset the base station location based on the 3D known point coordinates in the Pilot 2 app.

Make sure to set up the D-RTK 2 onsite first, and wait a few minutes before and after the flight to cover the entire flight duration. Also, avoid moving or tilting the D-RTK 2 base station during the drone flight, as it may interrupt data recording due to orientation changes. Once the flight is completed, connect the base station to a computer via a USB-C cable and export the .dat format RTCM (Radio Technical Commission for Maritime) files recorded after the flight. By using the DJI D-RTK 2 Mobile Station, you can avoid the need for additional equipment and subscription fees that may be required for real-time communication. This makes the PPK process more cost-effective and offers greater flexibility for data collection, especially in areas with limited or no cellular coverage.

Data alignment and PPK processing

This section provides a step-by-step process for applying drone data with GNSS rover files collected from NGS CORS, third-party Base Stations or the DJI D-RTK 2 Mobile Station to initiate the PPK process. We will be using RedCatch REDToolBox as an example:

  1. To get started, you'll need to open the RedCatch REDToolBox and select the "PPK & Geotagging" option.


  2. The option will prompt you to choose DJI as the device option and select PDF quality report and textfile as output formats. Then, select the PPK option as the correction type, and Elliptical height (PPK native) as the output height. After these selections, click on "Next."


  3. To import images, go to the "Import Images" section, and select "Select Images" to define the directory of the raw images. This will ensure that the images are properly imported and can be used in the PPK process.


  4. Next, you'll need to select the "Import Rover files" section and choose the "Trigger File" option. Here, you can import the MRK file with the name "XXX_Timestamp.MRK" under the raw image folder. This file will provide important information about the image time stamps that will be used in the PPK process.


  5. After importing the MRK file, you'll need to select the "Rover RINEX file" option once again and import the RINEX file with the name "XXX_PPKRAW.bin" under the raw image folder. Make sure to select the correct file, as this will be critical to the success of the PPK process.


  6. Moving on to the "Import Base Station Files" section, select the "Base RINEX file" option and import the RINEX file named "XXX.xxo" from the raw satellite data folder downloaded from the UFCORS site. If you're using the DJI D-RTK 2 Mobile Station for PPK processing, select and import the .dat formatted RTCM file in this option. If you need to merge multiple .dat RTCM files into a single file, use the following tool and run it in the same directory as the multiple RTCM files: merge_bin.bat



  7. Once you've selected the XXX.xxo file from the raw satellite data folder, the navigation and GNAVigation files should import automatically. If they don't, these two files can be found inside the raw satellite data folder downloaded from the UFCORS site.


  8. Finally, review the mapping summary and select "Execute Mapping" to start the PPK process.


  9. Once the process is finished, check “PDF quality report” and “textfile”, then select the “Generate Output From Mapping” option.


  10. To ensure that the corrected POS data (REDToolbox_Raw.txt) and summary report (REDToolBoxSummary.pdf) are both exported, open the output folder. Later, we will use the first timestamp file with corrected image POS data for photogrammetry processing.

POS data overwrite

Drone image POS (position and orientation) data refers to the information about the location, attitude, and trajectory of a drone when capturing images. This data is typically obtained using GPS and other sensors onboard the drone and is used to accurately geo-reference the images and create a 3D model or map of the surveyed area using photogrammetry techniques.

In the photogrammetry process, the drone image POS data is used in the aerotriangulation process to accurately determine the position and orientation of each image in 3D space. The aerotriangulation process involves computing the relative positions and orientations of the images based on their overlaps and corresponding image features. The drone image POS data is used to compute the orientation of each image in 3D space, and this information is used to generate a sparse point cloud that represents the surveyed area.

Aerotriangulation model generated based on image POS

If the drone image POS data is inaccurate or imprecise, the output of the photogrammetry process will also be less accurate. Any errors in the drone image POS data can lead to errors in the aerotriangulation process, which will cause errors in the bundle adjustment process, and ultimately result in a less accurate output.

The accuracy of the drone image POS data impacts the global accuracy of the output during the PPK process. The PPK process corrects the drone image POS data for any errors caused by GPS drift or noise, and other sensor-related errors. The resulting PPK-corrected POS data is then used to generate a dense point cloud that represents the surveyed area, which can then be used to create 3D models or maps. Therefore, it is important to ensure that the drone image POS data is correctly defined in the photogrammetry process software.

We will be using DJI Terra software as an example to apply and overwrite the image POS data. Please follow the steps below or watch the video to apply and overwrite PPK-corrected image POS data in the Terra software:

  1. Open DJI Terra software, under the “Reconstruction” tab select “New Mission” and then select “Visible Light” to create a new photogrammetry reconstruction mission. After importing all the photos, select the “Import POS Data” icon option as shown below.


  2. Make sure to import the processed POS file in text format from the last section.


  3. After importing the image POS data, a "Format and Properties" window should automatically appear. In this window, adjust the data column and define the column properties under the “Define Data Column” section. Ensure that the first row of the table contains the POS data of the first image, and use the tools under the “File Format” section to define data separators and the first line of the data.


  4. To proceed, select the "Known Coordinate System" option under the POS data coordinate system. Then, choose the corresponding horizontal and vertical coordinates for the imported PPK-processed image POS data. It is crucial to select the correct coordinates for both the horizontal and vertical systems to avoid any displacement in output. If you are unsure which coordinate system to choose, you can find the PPK-processed POS data's coordinate system from the PPK software settings or the PPK data process quality report. Typically, the horizontal system should be in WGS84 (EPSG:4326), and the vertical system should be in Ellipsoidal height (in meters, which can be set to Default in DJI Terra). Once you have finished defining the new POS data, select “Import”.


  5. To replace the old image POS data embedded in photos with PPK-corrected POS data from the txt file, select "Yes" to confirm the action in DJI Terra. The POS data has now been successfully overwritten.

    LiDAR PPK Process General Workflow

    1. To process the DJI LiDAR data using the PPK method, make sure to get the base station reference file prepared first. DJI LiDAR supports the following base station file formats and corresponding version:

      Data Format Version Message Type File name and file suffix need to rename to:
      RINEX V2.1.x /
      DJI_YYYYMMDDHHMM_XXX.obs
      RTCM

      V3.0

      V3.2

      V3.0: 1003, 1004, 1012, 1014 V3.2: MSM4, MSM5, MSM6, MSM7
      DJI_YYYYMMDDHHMM_XXX.rtcm
      OEM

      OEM4

      OEM6

      RANGE
      DJI_YYYYMMDDHHMM_XXX.oem
      UBX / RAWX DJI_YYYYMMDDHHMM_XXX.ubx

      It is recommended that the baseline, or distance between the base station used to record the PPK and the aircraft, be within 10km. the base station file used for PPK process must contain the entire LiDAR scan flight duration.

    2. Follow the chart above to rename the base station reference file. It is important to rename both the file name and the file extension suffix of the base station reference data correctly. The name of the base station reference file should be identical and match with other LiDAR raw files. For the RINEX file, remember to change the file extension from .YYO to .obs.

    3. Make sure that the renamed base station reference file is located in the same directory as the raw LiDAR data folder. Next, import the raw LiDAR data folder into DJI Terra and begin the process. DJI Terra will automatically read the base station reference file and initiate the PPK process with the PPK base station reference.

Thank you

PPK provides an efficient and accurate solution for obtaining highly precise geospatial data for a variety of applications. By leveraging both GPS and post-processing techniques, PPK enables the delivery of centimeter-level accuracy results, even in challenging environments. By following the above PPK workflow and utilizing advanced software and hardware tools, you can ensure you are achieving the highest level of accuracy and precision in your data, ultimately leading to better decision-making and improved results.