我的代码如下:
d3.json("topo-census-regions.json", function(error, topoJ) {
g.append("path")
.datum(topojson.mesh(topoJ, topoJ.objects.divis, function(a, b) { return a !== b; }))
.attr("class", "division-borders")
.attr("d", path);
});
基本上可行。 (这与Bostock的zoom demo非常相似,只是使用了不同的源文件。)
我的问题是人口普查区域之间的界限呈现为单个SVG路径。 TopoJson的mesh
方法将所有共享内部边界折叠为单个复合路径。但是我需要用不同的样式渲染路径的不同部分。
有关视觉参考,请参阅this。
“西部”分区内的“太平洋”和“山”之间的边界应该是一个路径元素,“西北中央”和“东北中央”之间的边界应该是另一个,等等。我可以制造这些路径在Illustrator中手动相当容易,但需要能够在大型数据集中以编程方式执行此操作。我希望mesh
执行有效的重复数据删除,但将连续段作为单独的元素。
提前感谢您的帮助。