Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

D3 mercator function NaN

I'm not too familiar with the D3 mercator projection function, and I'm getting some unexpected results. I'd like to project the following latitude and longitude (somewhere in Mexico):

var geo = [19, -99]

I define my mercator projection using d3

var projection = d3.geo.mercator();
projection(geo)
> [529.7418836818384, NaN]

which is a point obviously not on a map. What exactly am I doing wrong? Thanks!

like image 524
Michael Avatar asked Nov 17 '13 02:11

Michael


1 Answers

Javascript has it's lat and long round the opposite way to the rest of the world, so what you've given D3 is a longditue of 19 and a latitude of -99. Obviously there is no latitude of -99 hence the NaN. Now if you just reverse your geo variable to

var geo = [-99, 19]

all should be good.

like image 119
user1614080 Avatar answered Sep 29 '22 11:09

user1614080