// Abstract azimuthal projection. function d3_geo_azimuthal(scale, angle) {

function azimuthal(λ, φ) {
  var cosλ = Math.cos(λ),
      cosφ = Math.cos(φ),
      k = scale(cosλ * cosφ);
  return [
    k * cosφ * Math.sin(λ),
    k * Math.sin(φ)
  ];
}

azimuthal.invert = function(x, y) {
  var ρ = Math.sqrt(x * x + y * y),
      c = angle(ρ),
      sinc = Math.sin(c),
      cosc = Math.cos(c);
  return [
    Math.atan2(x * sinc, ρ * cosc),
    Math.asin(ρ && y * sinc / ρ)
  ];
};

return azimuthal;

}