При изучении того, как решить классическую задачу «получить POI в диапазоне», я обнаружил, что наиболее часто используемые алгоритмы - это Haversine, а если вам нужна реальная точность, то формула Винсенти.Я пошел первым, потому что высокая точность не была проблемой.Однако, это заставило меня задуматься о чем-то, что показалось мне странным, почему я не нашел ссылок на кэширование декартовых координат в базе данных вместо использования формулы haversine с широтой / долготой?
Проблема здесьэто, конечно, производительность.Формула haversine требует тонны вызовов функций cos / sin, но не проще ли сохранить проецированные значения X, Y и Z точки широты / долготы в базе данных и применить точечное произведение напрямую?Для этого потребуется один вызов arccos, если я не ошибаюсь.