UNPKG

d3-jsnext

Version:
39 lines (31 loc) 996 B
import { d3_geo_conic } from './conic'; import { d3_sgn, ε } from '../math/trigonometry'; import { d3_geo_equirectangular } from './equirectangular'; import { abs } from '../math/abs'; import { d3$geo } from './geo'; var d3$geo$conicEquidistant; function d3_geo_conicEquidistant(φ0, φ1) { var cosφ0 = Math.cos0), n = φ0 === φ1 ? Math.sin0) : (cosφ0 - Math.cos1)) / (φ1 - φ0), G = cosφ0 / n + φ0; if (abs(n) < ε) return d3_geo_equirectangular; function forward(λ, φ) { var ρ = G - φ; return [ ρ * Math.sin(n * λ), G - ρ * Math.cos(n * λ) ]; } forward.invert = function(x, y) { var ρ0_y = G - y; return [ Math.atan2(x, ρ0_y) / n, G - d3_sgn(n) * Math.sqrt(x * x + ρ0_y * ρ0_y) ]; }; return forward; } (d3$geo$conicEquidistant = function() { return d3_geo_conic(d3_geo_conicEquidistant); }).raw = d3_geo_conicEquidistant; export { d3$geo$conicEquidistant, d3_geo_conicEquidistant };