japan = {
const japan = await d3.json(url);
const municipalities = { ...japan.objects["N03-21_210101"] };
municipalities.geometries = municipalities.geometries.map((d) => ({
...d,
properties: {
...d.properties,
prefCode: +d.properties.N03_007?.substring(0, 2) || null
}
}));
japan.objects.municipalities = municipalities;
const prefs = {
type: "GeometryCollection",
geometries: d3.range(1, 48).map((i) => ({
...topojson.mergeArcs(
japan,
japan.objects.municipalities.geometries.filter(
(d) => d.properties.prefCode === i
)
),
properties: { prefCode: i }
}))
};
japan.objects.prefs = prefs;
return japan;
}