Skip to content

Instantly share code, notes, and snippets.

@kimmathiassen
Forked from onderaltintas/degrees2meters.js
Created June 26, 2019 08:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kimmathiassen/78f0370e28065e220140b00228f7842d to your computer and use it in GitHub Desktop.
Save kimmathiassen/78f0370e28065e220140b00228f7842d to your computer and use it in GitHub Desktop.
javascript coordinate conversions between 900913(3857) - 4326(lat lon)
var degrees2meters = function(lon,lat) {
var x = lon * 20037508.34 / 180;
var y = Math.log(Math.tan((90 + lat) * Math.PI / 360)) / (Math.PI / 180);
y = y * 20037508.34 / 180;
return [x, y]
}
//test
lon= -77.035974
lat = 38.898717
console.log(degrees2meters(lon,lat))
// should result in: -8575605.398444, 4707174.018280
var meters2degress = function(x,y) {
var lon = x * 180 / 20037508.34 ;
//thanks magichim @ github for the correction
var lat = Math.atan(Math.exp(y * Math.PI / 20037508.34)) * 360 / Math.PI - 90;
return [lon, lat]
}
//test
x= -8575605.398444
y = 4707174.018280
console.log(meters2degress(x,y))
//should result in: -77.035974, 38.898717
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment