There is a bug in the code.
When the code converts the lat/lon data they use:
Serial.println(Datatransfer(lon,5)/100.0,7);
But the data is in DD mm. dddd
So in order to convert it to DD. dddddd
You need to do (DD+mm. dddd/60)
I checked manually and the result is good.
Will update the code later.
Hope this helps.