Из расстояния получить разницу в градусах

Есть две точки на карте, у меня есть их координаты и я получаю расстояние между ними вот по такому алгоритму, найденному мной на просторах stackoverflow:

function getDistanceFromLatLonInKm(lat1,lon1,lat2,lon2) {
  var R = 6371; // Radius of the earth in km
  var dLat = deg2rad(lat2-lat1);  // deg2rad below
  var dLon = deg2rad(lon2-lon1); 
  var a = 
    Math.sin(dLat/2) * Math.sin(dLat/2) +
    Math.cos(deg2rad(lat1)) * Math.cos(deg2rad(lat2)) * 
    Math.sin(dLon/2) * Math.sin(dLon/2)
    ; 
  var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); 
  var d = R * c; // Distance in km
  return d;
}

function deg2rad(deg) {
  return deg * (Math.PI/180)
}

Код выдаёт результаты, похожие на правду. Но теперь мне понадобилось выполнить обратную задачу. Пишу программу, которая скачивает заместки с osm.org в заданном радиусе. Вот из этого радиуса надо вычислить bounding box для передачи его серверу. Сходу в голову ничего не пришло и я банально сделал так - посчитал какое расстояние выдаёт вышеприведенный алгоритм для одного градуса долготы и для одного градуса широты и делю его на нужный радиус. К слову, получилось что на один градус широты приходится 111 км, а на один градус долготы 110 км (или наоборот, сейчас не помню). Однако с такими результатами получается какая-то фигня. Если посмотреть на карте вычисленный bounding box, то он получается не квадратным, а прямоугольным, вытянутым по вертикали. Замеры линейкой по карте openstreetmap.ru показали, что в наших широтах один градус широты вмещает где-то 60 км, а не 110, полученные по формуле.

Как же высчитать правильное значение, которое бы показывало хорошие результате на любой широте?

На один градус долготы приходится грубо 111*cos(широты), км

т.е. на моей широте 55° я имею cos(55°)=111*0.5592=62.07км. Хм, похоже на правду.
А один градус широты всегда постоянен?

Сейчас подумал, точно косинус а не синус? А то получается, что на северном полюсе у нас в одном градусе долготы аж 111 км! Должно быть 0. Или я не прав?

Если принимать Землю за сферу - да. Думаю для построения bbox такой точности будет достаточно.

Точно. На экваторе соответственно коэффициент 1, а на полюсах 0.

Да, был не прав, что-то перепутал косинус с синусом

Вот тут есть большинство формул, которые могут понадобиться: http://williams.best.vwh.net/avform.htm