A computer-implemented method of determining a position of a vehicle within a transport network, comprising: obtaining track geometry data indicating track geometry of at least a part of the transport network, wherein the track geometry data is parameterised by an arc-length of the track, wherein obtaining the track geometry data comprises: accessing a map database, wherein the map database comprises sample points positioned along tracks within the transport network; retrieving from the map database sample points in the vicinity of a predicted position of the vehicle; and applying an interpolation function through the retrieved sample points to obtain a track constraint function, wherein the track geometry data comprises the track constraint function, wherein the track constraint function comprises a twice differentiable curve with a continuous second-order derivative at at least one of the retrieved sample points; receiving first sensor data from an inertial measurement unit mounted to the vehicle; executing a Bayesian estimation filter algorithm to obtain an updated prediction of the position of the vehicle, wherein the Bayesian estimation filter algorithm comprises a process model, the process model comprising a strapdown inertial navigation algorithm, and wherein the strapdown inertial navigation algorithm generates data indicative of the updated prediction of the position of the vehicle based at least upon the first sensor data and the track geometry data such that the updated prediction of the position of the vehicle lies on a track defined by the track geometry data; receiving second sensor data from a sensor other than the inertial measurement unit, wherein the sensor is mounted to the vehicle; executing the Bayesian estimation filter algorithm to obtain a further updated prediction of the position of the vehicle based at least upon the second sensor data; and generating an output indicative of a position of the vehicle within the transport network based upon at least one of the updated prediction of the position of the vehicle and the further updated prediction of the position of the vehicle. obtaining track geometry data indicating track geometry of at least a part of the transport network, wherein the track geometry data is parameterised by an arc-length of the track, wherein obtaining the track geometry data comprises: accessing a map database, wherein the map database comprises sample points positioned along tracks within the transport network; retrieving from the map database sample points in the vicinity of a predicted position of the vehicle; and applying an interpolation function through the retrieved sample points to obtain a track constraint function, wherein the track geometry data comprises the track constraint function, wherein the track constraint function comprises a twice differentiable curve with a continuous second-order derivative at at least one of the retrieved sample points; accessing a map database, wherein the map database comprises sample points positioned along tracks within the transport network; retrieving from the map database sample points in the vicinity of a predicted position of the vehicle; and applying an interpolation function through the retrieved sample points to obtain a track constraint function, wherein the track geometry data comprises the track constraint function, wherein the track constraint function comprises a twice differentiable curve with a continuous second-order derivative at at least one of the retrieved sample points; receiving first sensor data from an inertial measurement unit mounted to the vehicle; executing a Bayesian estimation filter algorithm to obtain an updated prediction of the position of the vehicle, wherein the Bayesian estimation filter algorithm comprises a process model, the process model comprising a strapdown inertial navigation algorithm, and wherein the strapdown inertial navigation algorithm generates data indicative of the updated prediction of the position of the vehicle based at least upon the first sensor data and the track geometry data such that the updated prediction of the position of the vehicle lies on a track defined by the track geometry data; receiving second sensor data from a sensor other than the inertial measurement unit, wherein the sensor is mounted to the vehicle; executing the Bayesian estimation filter algorithm to obtain a further updated prediction of the position of the vehicle based at least upon the second sensor data; and generating an output indicative of a position of the vehicle within the transport network based upon at least one of the updated prediction of the position of the vehicle and the further updated prediction of the position of the vehicle. executing the Bayesian estimation filter algorithm to obtain a further updated prediction of the position of the vehicle based at least upon the second sensor data; and generating an output indicative of a position of the vehicle within the transport network based upon at least one of the updated prediction of the position of the vehicle and the further updated prediction of the position of the vehicle.