Przypuszczam, że ostatecznie otrzymujesz listę postów, które mają dwa dyskretne wymiary rankingu, tj.:
{ age: 86400, distance: 1000 }
{ age: 172800, distance: 5000 }
{ age: 57600, distance: 20000 }
{ age: 288000, distance: 8000 }
Tak naprawdę nie ma znaczenia, jakie są jednostki, powiedzmy sekundy i metry. Jeśli chcesz, aby oba te elementy wpływały na ranking sortowania, otrzymujesz algorytm rankingowy, w najprostszym przypadku taki:
rank = (C1 * age) + (C2 * distance)
Gdzie C1 i C2 są stałymi, które możesz dostosować, aby dostroić wagi. Wartości będą zależeć od używanych jednostek i tego, jak duży wpływ na ranking przypiszesz do każdego wymiaru.
Inną opcją może być uporządkowanie najpierw według sumarycznego czasu, a następnie odległości, więc wszystkie posty z dzisiaj uporządkowane według odległości; następnie wczorajsze uporządkowane według odległości i tak dalej. Lub odwrotnie, sortując według odległości, a następnie wieku, więc wszystko w granicach (0 - 1000m) uporządkowane według wieku; następnie wszystkie w promieniu (1001 - 2000 m) i tak dalej.