Чтобы преобразовать 51,501690392607, сначала возьмите целочисленную часть для 51 градуса. Положительные значения севернее; негативы юг.
Тогда возьмите дробную часть: 0,501690392607
Умножить на 60: 60 * 0,501690392607 = 30,10142355642
Возьмите целую часть в течение 30 минут.
Тогда возьмите дробную часть: 0,10142355642
Умножить на 60: 6.0854133852
Округление до ближайшей 1 секунды.
Вы получите: 51 градус северной широты 30 минут 6 секунд.
Для направления восток / запад повторите с востоком положительным и западом отрицательным.
Чтобы найти город, вам придется использовать какую-то базу данных или что-то ...
Я не знаю, почему ваша конверсия не совпадает.