Question

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!

Was it helpful?

Solution

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top