我有一个非常标准的代码,它可以读取 GeoJSON 文件并使用 D3.js 呈现其功能。它工作得很好,除了这个文件:https ://github.com/regiskuckaertz/d3/blob/master/circonscriptions.json
该文件看起来并不奇怪或任何东西,实际上您可以在 GitHub 或 geojsonlint.com 上预览它。然而,D3 绘制的路径看起来像是特征被用作剪贴蒙版,即所有形状都是特征本身的负片。代码虽然很标准:
var proj = d3.geo.mercator()
.scale(25000)
.center([6.08642578125,49.777716951563754])
.rotate([-.6, -.2, 0]);
var path = d3.geo.path().projection(proj);
function ready(error, luxembourg) {
svg
.selectAll("path")
.data(luxembourg.features)
.enter().append("path")
.attr("d", path)
.attr("class", function(d) { return quantize(rateById.get(d.properties.name)); })
}
你可以看看这里:http: //jsfiddle.net/QWZXd/
相同的代码适用于来自同一来源的另一个文件。