Files
wakapi-readme-stats/node_modules/d3-geo-projection/src/homolosine.js
2020-07-28 00:48:25 +05:30

23 lines
757 B
JavaScript

import {geoProjection as projection} from "d3-geo";
import {abs} from "./math.js";
import {mollweideRaw} from "./mollweide.js";
import {sinusoidalRaw} from "./sinusoidal.js";
import {sinuMollweidePhi, sinuMollweideY} from "./sinuMollweide.js";
export function homolosineRaw(lambda, phi) {
return abs(phi) > sinuMollweidePhi
? (lambda = mollweideRaw(lambda, phi), lambda[1] -= phi > 0 ? sinuMollweideY : -sinuMollweideY, lambda)
: sinusoidalRaw(lambda, phi);
}
homolosineRaw.invert = function(x, y) {
return abs(y) > sinuMollweidePhi
? mollweideRaw.invert(x, y + (y > 0 ? sinuMollweideY : -sinuMollweideY))
: sinusoidalRaw.invert(x, y);
};
export default function() {
return projection(homolosineRaw)
.scale(152.63);
}