Sha256: e9e8c1910a3fe4ca16cc14d95d67c06fb453f27c1d4015a18daf15f044d25eb4

Contents?: true

Size: 779 Bytes

Versions: 4

Compression:

Stored size: 779 Bytes

Contents

import "projection";
import "mollweide";

function boggs(λ, φ) {
  var k = 2.00276,
      θ = mollweideθ(φ);
  return [
    k * λ / (1 / Math.cos(φ) + 1.11072 / Math.cos(θ)),
    (φ + Math.SQRT2 * Math.sin(θ)) / k
  ];
}

boggs.invert = function(x, y) {
  var k = 2.00276,
      ky = k * y,
      θ = y < 0 ? -π / 4 : π / 4, i = 25, δ, φ;
  do {
    φ = ky - Math.SQRT2 * Math.sin(θ);
    θ -= δ = (Math.sin(2 * θ) + 2 * θ - π * Math.sin(φ)) / (2 * Math.cos(2 * θ) + 2 + π * Math.cos(φ) * Math.SQRT2 * Math.cos(θ));
  } while (Math.abs(δ) > ε && --i > 0);
  φ = ky - Math.SQRT2 * Math.sin(θ);
  return [
    x * (1 / Math.cos(φ) + 1.11072 / Math.cos(θ)) / k,
    φ
  ];
};

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

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
d3js-plugins-rails-0.0.8 vendor/assets/javascripts/d3/plugins/geo/projection/boggs.js
d3js-plugins-rails-0.0.7 vendor/assets/javascripts/d3/plugins/geo/projection/boggs.js
d3js-plugins-rails-0.0.6 vendor/assets/javascripts/d3/plugins/geo/projection/boggs.js
d3js-plugins-rails-0.0.5 vendor/assets/javascripts/d3/plugins/geo/projection/boggs.js