Back to projects

Path Safety Assessment Tool

Land Transport Authority · Mar 2026 – Jul 2026

Overview

PSAT scores cycling path segments against CycleRAP, a road-safety assessment methodology. Assessors used to collect the inputs by hand: measuring how sharply a path curves, how wide it is, and how steeply it climbs, segment by segment.

I automated all three. Curvature comes from fitting a circumcircle through points along the centerline. Width comes from single-view metrology, recovering real-world distances from a single camera image using homography. Grade comes from raw LiDAR point clouds, through a pipeline that stitches centerlines, filters outliers and seam jumps where survey passes meet, and computes slope along the result.

Alongside the extraction work I added polygon-based planning area selection over GIS shapefile layers, so an assessor can draw a region and scope an assessment spatially rather than selecting roads individually, and a multi-user profile system so the tool could run safely on shared department machines.

Reflection

The hardest part was not the geometry, it was the messiness of real survey data. Seam jumps where two LiDAR passes meet will quietly ruin a slope calculation, and I spent far longer on filtering and validation than on the slope maths itself.

The other thing I took away was process. The team had no version control or ticket tracking when I arrived. Introducing Git, Jira, and shared documentation felt like a detour from writing code, but it was what moved the projected delivery from December to the end of July.

View Internship Report

Internal LTA project, no public repo.