oui c'est ça , il faut transformer les degrés minutes secondes en degrés décimaux (ou tout en secondes d'arcs comme tu as fait, mais attention quand même aux erreurs d'arrondis avec les Float. Mais tu n'as résolu qu'une partie du problème.
Hypothèse numéro 1 : ta carte représente une petite région, une ville par exemple. Dans ce cas, il faudra considérer que le point (0;0) de ta carte n'est pas le point (0;0) de tes coordonnées, il faudra donc soustraire les coordonnées de l'origine (un peu comme tu as commencé de le faire).
Hypothèse numéro 2 : ta carte représente la planète entière (ou un continent). Dans ce cas il faut voir la méthode de projection (regarde sur Wikipédia, y'a des trucs amusants). Pour t'expliquer le problème, imagine que tu te promène sur le cercle arctique. Le chemin que tu devras parcourir est bien plus court que si l'envie te prennais de faire le tour de la Terre au niveau de l'équateur. Donc pour mettre tout ça sur une carte rectangulaire, faut déformer un peu les choses.
Ah encore un truc, suivant la provenance de ta carte, le point (0;0) n'est pas forcément au centre. Les européens ont tendance à mettre l'Europe au milieu, mais les autres continents font parfois la même chose pour chez eux.