0

尝试获取布朗克斯邮政编码的 GIS 数据,并使用 d3.js 将其转换为地图。但我无法渲染。你能告诉我正确使用d3.geo.path()吗?

<script>
    var width=960, height=500;
    var path = d3.geo.path();
    d3.json("/static/bxzip.json", function(d){
        d3.select("body").selectAll("p")
        .data(d.data)
        .enter().append("path")
        .attr("d",function(d) { return d[9][5].rings[0]; })
        .attr("class", "stroke");
    });
</script>

这是d[9][5].rings[0]来自https://nycopendata.socrata.com/Social-Services/Bronx-Zip-Code-Boundaries/p8wz-d63u的典型行

[ [ -73.84463693999993, 40.90475939500004 ], [ -73.84443733899991, 40.90423928800004 ], [ -73.84443555299993, 40.904234630000076 ],  ...] ]
4

1 回答 1

0

您需要将数组传递给 path() 以使其返回屏幕 xy:

.attr("d",function(d) { return path(d[9][5].rings[0]); })
于 2013-01-26T19:19:48.707 回答