simulation = {
const out = d3
.forceSimulation(n2j.features)
.force(
"x",
d3.forceX().x((f) => projection(f.geometry.coordinates)[0])
)
.force(
"y",
d3.forceY().y((f) => projection(f.geometry.coordinates)[1])
)
.force(
"collide",
d3
.forceCollide()
.radius((f) => toRadius(+f.properties.ar) + collisionPadding)
);
for (const f of n2j.features) {
f.x = projection(f.geometry.coordinates)[0];
f.y = projection(f.geometry.coordinates)[1];
}
return out;
}