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!
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!
Share Improve this question asked Nov 17, 2013 at 2:55 MichaelMichael 7,39721 gold badges55 silver badges85 bronze badges1 Answer
Reset to default 10Javascript 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.