Sha256: 7a4155c8eacf9c9d0fc0f68821334041619b565f093742d3659aa031ed9a3599

Contents?: true

Size: 674 Bytes

Versions: 2

Compression:

Stored size: 674 Bytes

Contents

function polyconic(λ, φ) {
  if (Math.abs(φ) < ε) return [λ, 0];
  var tanφ = Math.tan(φ),
      k = λ * Math.sin(φ);
  return [
    Math.sin(k) / tanφ,
    φ + (1 - Math.cos(k)) / tanφ
  ];
}

polyconic.invert = function(x, y) {
  if (Math.abs(y) < ε) return [x, 0];
  var k = x * x + y * y,
      φ = y;
  for (var i = 0, δ = Infinity; i < 10 && Math.abs(δ) > ε; i++) {
    var tanφ = Math.tan(φ);
    φ -= δ = (y * (φ * tanφ + 1) - φ - .5 * (φ * φ + k) * tanφ) / ((φ - y) / tanφ - 1);
  }
  return [
    asin(x * Math.tan(φ)) / Math.sin(φ),
    φ
  ];
};

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

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
d3js-plugins-rails-0.0.2 vendor/assets/javascripts/d3/plugins/geo/projection/polyconic.js
d3js-plugins-rails-0.0.1 vendor/assets/javascripts/d3/plugins/geo/projection/polyconic.js