【问题标题】:Why does D3.js not display my geoJSON file ?为什么 D3.js 不显示我的 geoJSON 文件?
【发布时间】:2013-11-12 21:29:28
【问题描述】:

我想用 D3.js 画出柏林(德国)的轮廓。

我使用的柏林 geoJSON 文件是这样的(柏林-“bundesländer”): http://opendatalab.de/projects/geojson-utilities/

但它不适用于我的 .json 文件。我无法发现这个 .json 文件与我们状态的区别,它使用完全相同的代码工作得很好: http://examples.oreilly.com/0636920026938/chapter_12/us-states.json

我还尝试完全复制 us-states 文件,删除除一个之外的所有“功能”条目,然后仅将左侧的坐标数组替换为我的文件的坐标数组。但是萤火虫告诉我路径的元素根本没有“d”属性。

我非常感谢任何提示。提前感谢您!

/* 我使用默认的 albersUsa 投影。 如果我将路径定义为: d3.geo.path().projection(null) 会添加一些路径元素。 但是,如果这是解决方案,我该如何翻译该路径? */

    var path = d3.geo.path();

    d3.json("data/berlinBundeslaender_simplify2000.json",function(geoJson){

        var color1 = d3.scale.category20();

        mainSVG.selectAll("path")
        .data(geoJson.features)
            .enter()
            .append("path")
            .attr("d",path)
            .attr("fill",function(d,i){return color1(i);});
    });

【问题讨论】:

  • 最好使用 jsfiddle 向我们展示什么不起作用。
  • 不要使用 albersUSA 投影。它将剪辑美国以外的任何内容。
  • 谢谢拉尔斯!这解决了我的问题!也谢谢安迪,下次我会考虑使用jsfiddle,我不知道。
  • 太好了,我将其添加为参考答案。

标签: javascript json d3.js visualization geojson


【解决方案1】:

albersUSA 投影将剪裁美国 48 个州、夏威夷或阿拉斯加以外的任何地区。也就是说,其他任何内容都不会显示。对世界不同地区使用不同的投影。

【讨论】:

    猜你喜欢
    • 2022-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-22
    • 2018-08-24
    • 2015-05-31
    • 1970-01-01
    相关资源
    最近更新 更多