|
- import {geoProjection as projection} from "d3-geo";
- import {asin, atan2, cos, sin, sqrt, tan} from "./math.js";
-
- export function wagner7Raw(lambda, phi) {
- var s = 0.90631 * sin(phi),
- c0 = sqrt(1 - s * s),
- c1 = sqrt(2 / (1 + c0 * cos(lambda /= 3)));
- return [
- 2.66723 * c0 * c1 * sin(lambda),
- 1.24104 * s * c1
- ];
- }
-
- wagner7Raw.invert = function(x, y) {
- var t1 = x / 2.66723,
- t2 = y / 1.24104,
- p = sqrt(t1 * t1 + t2 * t2),
- c = 2 * asin(p / 2);
- return [
- 3 * atan2(x * tan(c), 2.66723 * p),
- p && asin(y * sin(c) / (1.24104 * 0.90631 * p))
- ];
- };
-
- export default function() {
- return projection(wagner7Raw)
- .scale(172.632);
- }
|