Если я правильно понял вам надо знать кто первый, кто второй и тд.
Можно решить не столько позицией - сколько временем(похоже на первый вариант с чекпоинтами будет)
Пересекают чекпоинт - засчитывается сколько секунд со старта гонки ушло на "достигнуть этой точки"и так же получим данные, на сколько друг от друга отстают. как в раллийных и тд гонках
будет табличка аля
Car1 - 1:23:234+0:00;
Car2 - 1:24:734+1:50;//на полторы секунды отстает/позже добралась
Car2 - 1:25:734+2:50;//на 2.5 секунды позже лидера
и далее по аналогии.
Можно считать не от лидера , а от себя. тогда все кто перед тобой достигли чекпоинта будут с минусовой прибавкой ко времени - показателем на сколько вас обгоняют.
А расстояние проверять можно только если у вас трасса прямая, или есть кривая проходящая по трассе(и можно вычислить не напрямую расстояние, а сколько надо проехать по кривой).
Иначе возникает проблема на крутых поворотах и изгибах и с ребятами отстающими на круг)