Sha256: ed34ac4687d89d9db27b542fcbeb66a58edce10d693e0de0c784c45ffb6c353a

Contents?: true

Size: 742 Bytes

Versions: 2

Compression:

Stored size: 742 Bytes

Contents

function vanDerGrinten3(λ, φ) {
  if (Math.abs(φ) < ε) return [λ, 0];
  var sinθ = 2 * φ / π,
      θ = asin(sinθ);
  if (Math.abs(λ) < ε || Math.abs(Math.abs(φ) - π / 2) < ε) return [0, π * Math.tan(θ / 2)];
  var A = (π / λ - λ / π) / 2,
      y1 = sinθ / (1 + Math.cos(θ));
  return [
    π * (sgn(λ) * asqrt(A * A + 1 - y1 * y1) - A),
    π * y1
  ];
}

vanDerGrinten3.invert = function(x, y) {
  if (!y) return [x, 0];
  var y1 = y / π,
      A = (π * π * (1 - y1 * y1) - x * x) / (2 * π * x);
  return [
    x ? π * (sgn(x) * Math.sqrt(A * A + 1) - A) : 0,
    π / 2 * Math.sin(2 * Math.atan(y1))
  ];
};

(d3.geo.vanDerGrinten3 = function() { return projection(vanDerGrinten3); }).raw = vanDerGrinten3;

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
d3js-plugins-rails-0.0.4 vendor/assets/javascripts/d3/plugins/geo/projection/van-der-grinten3.js
d3js-plugins-rails-0.0.3 vendor/assets/javascripts/d3/plugins/geo/projection/van-der-grinten3.js