Формула haversine может быть упрощена, когда вы работаете только в направлениях север-юг и восток-запад.
Если окружность Земли равна C, точка в d километрах к югу от данной точки равна 360 * d/C градусов на юг. Точка в километрах к востоку составляет 360 * d/(C * cos (широта)) градусов на восток. Косинус в знаменателе исходит из того, что длина долготы на данной широте короче экватора.
Так что если the Earth's circumference находится 40075,04 км, чтобы переместить 5 м на север/юг вы бы добавить/вычесть 0.0000449 от широты и использовать ту же долготу. Чтобы переместиться на 5 м на запад/восток, вы должны использовать одну и ту же широту и добавить/вычесть 0.0000449/cos (широта) на долготу. Не забывайте о краевых случаях, хотя: возле полюсов вы должны зажать широту до 90 °, а около долготы 180 ° вы будете слишком добавлять или вычитать 360 °, чтобы сохранить долготу в правильном диапазоне.
С вашего номера диапазон оказывается приблизительно:
latitude: [23.23903 ; 23.23911]
longitude: [50.45781 ; 50.45791]
Update: Обратите внимание, что это по-прежнему предполагает, что Земля является идеальной сферой, which it's not. Например, система GPS моделирует Землю как эллипсоид, где экватор находится на высоте 6378.137 км, а полюса - на 6356.7523142 км от центра Земли. Разница составляет около 1/300 и имеет большое значение для многих приложений, но в этом случае она находится в пределах погрешности.
Исправление формулы долготы должно быть простым, так как параллели по-прежнему являются кругами: вам нужно будет поменять cos(latitude)
на правильный коэффициент. Вычисление correct latitude сложнее, потому что меридианы не являются кругами, а эллипсами, а длина дуги эллипса не может быть рассчитана с использованием элементарных функций, поэтому вы должны использовать приближения.
Check это: http://stackoverflow.com/questions/639695/how-to-convert-latitude-or-longitude-to-meters – Trinimon
Возможный дубликат [нахождения координаты на некотором расстоянии от источника] (http: // stackoverflow.com/questions/14398378/finding-a-coordinate-at-some-distance-from-the-source) – Joni