[an error occurred while processing this directive]
А если так: считаете расстояние от предыдущей записанной точки до текущей, и как только расстояние превышает требуемое (скажем 1 км) - записываете. Если время между записями превосходит заданное (скажем 1 минута), записывайте, невзирая на расстояние..
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)