Sha256: e2d89c62aef8d19433b6ee67f5acc62be58cc1cf5d7a1e156fa8bf19343de118

Contents?: true

Size: 635 Bytes

Versions: 2

Compression:

Stored size: 635 Bytes

Contents

// @import parallel1
// @import sinusoidal

function bonne(φ0) {
  if (!φ0) return sinusoidal;
  var cotφ0 = 1 / Math.tan(φ0);

  function forward(λ, φ) {
    var ρ = cotφ0 + φ0 - φ,
        E = ρ ? λ * Math.cos(φ) / ρ : ρ;
    return [
      ρ * Math.sin(E),
      cotφ0 - ρ * Math.cos(E)
    ];
  }

  forward.invert = function(x, y) {
    var ρ = Math.sqrt(x * x + (y = cotφ0 - y) * y),
        φ = cotφ0 + φ0 - ρ;
    return [
      ρ / Math.cos(φ) * Math.atan2(x, y),
      φ
    ];
  };

  return forward;
}

(d3.geo.bonne = function() { return parallel1Projection(bonne).parallel(45); }).raw = bonne;

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/bonne.js
d3js-plugins-rails-0.0.3 vendor/assets/javascripts/d3/plugins/geo/projection/bonne.js