Pas, cette formule n'est pas correcte. Je pense que l'intention de cette formule est d'effectuer une interpolation linéaire, et si c'est le cas, ce qui suit est plus près de ce que vous voulez…
mapWidth = 2860 ;
mapHeight = 1900 ;
mapLongW = -125 ; // a laissé la limite de la carte est 125degW
mapLongE = -65 ; La limite de droite de // de la carte est 65degW
mapLatN = 50 ; La limite de dessus de // de la carte est 50degN
mapLatS = 25 ; La limite du fond de // de la carte est 25degN
locationLat = 30.52 ; Latitude de // de point d'intérêt
locationLong = -87.85 ; Longitude de // de point d'intérêt
X = (locationLong - mapLongW) * mapWidth/(mapLongE - mapLongW) ;
y = (locationLat - mapLatN) * mapHeight/(mapLatS - mapLatN) ;
CEPENDANT, ce n'est pas une méthode précise de convertir le lat/longtemps à x/y. Ceci effectue l'interpolation LINÉAIRE, qui est très bien pour la valeur de x car la balance horizontale est linéaire mais la balance verticale n'est pas linéaire, ainsi vous obtiendrez les bonnes valeurs au dessus et au bas de la carte, mais près du milieu plus est grande l'erreur qui vous obtiendra.
L'erreur peut être assez petite pour que vous ne soyez pas concerné environ, mais si vous êtes les maths devient tout à fait un peu plus compliquée. Vous avoir aux équations à cette page….
http://en.wikipedia.org/wiki/Mercator_projection