7

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!

Michael
  • 7,087
  • 21
  • 52
  • 81

1 Answers1

10

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.

user1614080
  • 2,854
  • 1
  • 19
  • 22