Не, та формула не правильно. Я думаю целью той формулы будет выполнить линейную интерполяцию, и если то будет случаем, то следующий ближе к вы хотите…
mapWidth = 2860;
mapHeight = 1900;
mapLongW = -125; // вышло предел карты будет 125degW
mapLongE = -65; Пределом права // карты будет 65degW
mapLatN = 50; Пределом верхней части // карты будет 50degN
mapLatS = 25; Пределом дна // карты будет 25degN
locationLat = 30.52; Широта // пункта интереса
locationLong = -87.85; Долгота // пункта интереса
x = (locationLong - mapLongW) * mapWidth/(mapLongE - mapLongW);
y = (locationLat - mapLatN) * mapHeight/(mapLatS - mapLatN);
ОДНАКО, это не будет точный метод преобразовывать lat/длиной к x/y. Это выполняет ЛИНЕЙНУЮ интерполяцию, которая отлично для значения x по мере того как горизонтальный маштаб линейный но вертикальный маштаб не линейный, поэтому вы получите правые значения на верхней части и дне карты, но близко к середине больш ошибка которая вы получит.
Ошибка может быть мала достаточно для вас не быть обеспокоенный около, но если вы будете математиками, то получает довольно бит после того как она осложнена. Имейте вас на уровнениях на этой странице….
http://en.wikipedia.org/wiki/Mercator_projection