-
Notifications
You must be signed in to change notification settings - Fork 201
/
sinuMollweide.js
26 lines (21 loc) · 754 Bytes
/
sinuMollweide.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import {geoProjection as projection} from "d3-geo";
import {mollweideRaw} from "./mollweide.js";
import {sinusoidalRaw} from "./sinusoidal.js";
export var sinuMollweidePhi = 0.7109889596207567;
export var sinuMollweideY = 0.0528035274542;
export function sinuMollweideRaw(lambda, phi) {
return phi > -sinuMollweidePhi
? (lambda = mollweideRaw(lambda, phi), lambda[1] += sinuMollweideY, lambda)
: sinusoidalRaw(lambda, phi);
}
sinuMollweideRaw.invert = function(x, y) {
return y > -sinuMollweidePhi
? mollweideRaw.invert(x, y - sinuMollweideY)
: sinusoidalRaw.invert(x, y);
};
export default function() {
return projection(sinuMollweideRaw)
.rotate([-20, -55])
.scale(164.263)
.center([0, -5.4036]);
}