intersect = (A, B) => {
const p = d3.geoEquirectangular();
A = d3.geoProject(A, p).coordinates;
B = d3.geoProject(B, p).coordinates;
return {
type: "MultiPolygon",
coordinates: clip
.intersection(A, B)
.map((poly) => poly.map((ring) => ring.map(p.invert)))
};
}