> For the complete documentation index, see [llms.txt](https://docs.phoenixlidar.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.phoenixlidar.com/spatialexplorer-8-and-9/post-processing/data-processing-workflows/mobile-lidar-processing.md).

# Mobile Lidar Processing

This workflow covers processing raw, mobile lidar data from a native-Phoenix system, optionally using a LadyBug 5+ for colorization. Steps 4 and 13 only apply to Ladybug5+ users. This workflow, minus steps 4 and 13, may also be an effective workflow for pedestrian-acquired data processing.&#x20;

1. If using a RECON system, open one of the DATA files. SpatialExplorer will detect the other associated DATA files, and then will proceed to extract lidar, imagery, and navigation data.
2. Open the PLP file. After opening the PLP file, [select a CRS](/spatialexplorer-8-and-9/user-interface/windows/project-setup.md) for the project.
3. If working with data from a Riegl lidar scanner, [convert the RXP files to SDCX files](/spatialexplorer-8-and-9/user-interface/toolbars/workflow/lidar.md).
4. If using a Ladybug or Mosaic camera, [import the imagery](/spatialexplorer-8-and-9/user-interface/toolbars/tools/camera/create-camera-sessions-from-data.md).&#x20;
   1. [Create receptor masks](/spatialexplorer-8-and-9/user-interface/windows/project/rover/cameras/camera-tools/edit-receptor-masks.md) for each of the receptors.
5. Import a processed trajectory (CTS, CLS, SBET, POF). If you do not yet have a processed trajectory, produce one using either [InertialExplorer](/3rd-party-software-documentation/inertialexplorer-desktop-8.70-8.90-processing.md), [NavLab embedded](/spatialexplorer-8-and-9/user-interface/toolbars/workflow/navlab-embedded.md), or [NavLab via LiDARMill](/lidarmill-cloud/workflow/processing-tools/navlab-pipeline.md).&#x20;
   1. When processing data acquired via an mobile platform (car, truck, or other ground vehicle), it is recommended to use the Ground Vehicle dynamics profiles in NavLab or InertialExplorer.&#x20;
6. [Import ground control points](/spatialexplorer-8-and-9/user-interface/windows/project/ground-control-points-gcps.md) (if available).
7. Configure [processing settings](/spatialexplorer-8-and-9/user-interface/windows/project/rover/lidars/lidar-processing-settings.md) for the lidar. Consider a 360 degree field of view, and a minimum range of 0.5 meters.&#x20;
8. [Create processing intervals](/spatialexplorer-8-and-9/user-interface/toolbars/workflow/create-intervals.md) (these intervals will also apply to imagery).
9. [Create a point cloud](/spatialexplorer-8-and-9/user-interface/toolbars/workflow/create-cloud.md). If using a Riegl lidar scanner, consider the [MTA Uncertainty](/spatialexplorer-8-and-9/user-interface/windows/project/pointclouds.md#example-mta-uncertainty) attribute.
10. Visually check lidar relative and absolute accuracy and determine what type of trajectory optimization needs to be performed. Consider reviewing trajectory accuracy reports to determine what trajectory parameters (X,Y,Z, yaw, pitch, roll) require optimization. Check whether ground control points require horizontal and vertical adjustment, or just vertical adjustment.
    1. If horizontal adjustment is needed to accurately ground control point locations, create [Full corrections](/spatialexplorer-8-and-9/user-interface/windows/corrections.md#creating-corrections-manually).&#x20;
11. Run [LiDARSnap](/spatialexplorer-8-and-9/user-interface/toolbars/workflow/lidarsnap-v4.md) and optimize for necessary parameters. Typically, the LiDARSnap Mobile Trajectory Optimization preset works well. Consider how to treat your control points:
    1. If Full corrections were created manually, enable them and [apply a weight between 2 and 100](/spatialexplorer-8-and-9/user-interface/toolbars/workflow/lidarsnap-v4/ground-control-with-lidarsnap/full-adjustment.md). Consider whether ground control points should be enabled with LiDARSnap, to act as a vertical constraint.
    2. If Full corrections were not created, and only vertical adjustment is required to accurately match ground control, consider enabling control in the [general tab of LiDARSnap](/spatialexplorer-8-and-9/user-interface/toolbars/workflow/lidarsnap-v4/ground-control-with-lidarsnap/vertical-only-adjustment.md).
12. If ground control is available, [compute residuals](/spatialexplorer-8-and-9/user-interface/toolbars/workflow/ground-control.md) from point cloud to control points to determine what rigid adjustment, if any, is needed to match lidar elevations to ground control elevations. This step may not apply to all mobile data sets.&#x20;
13. If using a Ladybug or Mosaic camera, calibrate the camera and colorize the point cloud:
    1. [Manually create intervals](/spatialexplorer-8-and-9/user-interface/windows/project/intervals.md#manual-interval-creation) specifically for camera calibration. Your intervals should include about 50-100 images. Try to include opposing lanes of traffic or a hashtag pattern in the trajectory, if available.&#x20;
    2. [Activate images](/spatialexplorer-8-and-9/user-interface/windows/project/rover/cameras/camera-processing-settings.md) along processing the intervals made in step 13.1.
    3. Calibrate the camera using [CameraSnap](/spatialexplorer-8-and-9/user-interface/toolbars/workflow/camera-snap.md). With some mobile mapping systems, the panoramic camera is not permanently attached to the lidar system's IMU, so it's always necessary to re-calibrate. Consider [manually reviewing feature matches](/spatialexplorer-8-and-9/user-interface/toolbars/workflow/camera-snap/auto-detect-with-manual-review.md) to exclude false feature matches. Review the CameraSnap report and ensure Average Pixel Offset is approximately 1 - 2 px.&#x20;
    4. Colorize the point cloud using [CloudColorizer](/spatialexplorer-8-and-9/user-interface/toolbars/workflow/colorize-cloud.md).
14. Perform any additional classification necessary.  Users can make use of the [Classify on Selection ](/spatialexplorer-8-and-9/user-interface/windows/classify-on-selection.md)window, as well as some [automated classification](/spatialexplorer-8-and-9/user-interface/toolbars/analytics/classify.md) routines.&#x20;
15. Generate accuracy [reports](/spatialexplorer-8-and-9/user-interface/toolbars/workflow/reports.md).
16. Generate deliverables such as [rasters](/spatialexplorer-8-and-9/user-interface/toolbars/analytics/create/create-maps.md) (RGB raster, DTM, DEM) and [vector deliverables ](/spatialexplorer-8-and-9/user-interface/toolbars/analytics/create/create-contours.md)(contours and meshes).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.phoenixlidar.com/spatialexplorer-8-and-9/post-processing/data-processing-workflows/mobile-lidar-processing.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
