В моем коде мне нужно много вычислить расстояние между парами значений lat / long.
код выглядит так:
double result = Math.Acos(Math.Sin(lat2rad) * Math.Sin(lat1rad)
+ Math.Cos(lat2rad) * Math.Cos(lat1rad) * Math.Cos(lon2rad - lon1rad));
(например, lat2rad - это широта, переводимая в радианы).
Я определил эту функцию как узкое место в производительности моего приложения. Есть ли способ улучшить это?
(я не могу использовать справочные таблицы, поскольку координаты меняются). Я также рассмотрел этот вопрос , где предлагается схема поиска, подобная сетке, которая может быть возможной.
Спасибо за ваше время! ; -)