Chcete-li se zaměřit na (a):
V minulosti jsem předpočítal části a uložil lat, long, xaxis, yaxis a zxais, kde x, y a z jsou definovány jako:
xaxis = cos(radians(Lat)) * cos(radians(Lon))
yaxis = cos(radians(Lat)) * sin(radians(Lon))
zaxis = sin(radians(Lat))
Vzdálenost pak lze vypočítat pomocí SQL volně jako (acos( xaxis * $xaxis + yaxis * $yaxis + zaxis * $zaxis ) * 6367.0 / 1.852)
(kde ty začínající na $ jsou předem vypočteny pro příslušný počáteční bod stejným způsobem jako výše)
Předvýpočet tímto způsobem posouvá relativně drahé spouštění na jednorázovou událost a zjednodušuje dotaz.