【问题标题】:d3 - How do I find the correct projection for a country?d3 - 我如何找到一个国家的正确预测?
【发布时间】:2014-10-17 01:34:23
【问题描述】:

我正在尝试在我的国家/地区创建地图,但它总是被缩小。

我看过很多地图,他们设法通过投影放大了国家/地区,但是他们从哪里获得投影的数字?好纠结啊。。

示例:http://bl.ocks.org/mbostock/9265674 http://bl.ocks.org/mbostock/5413933

当前代码:

var width = 960,
height = 500;

// 11°E 64.4°N - latitude and 
var projection = d3.geo.mercator();

var path = d3.geo.path()
    .projection(projection);

var svg = d3.select("body").append("svg")
    .attr("width", width)
    .attr("height", height);

d3.json("topojson/fylker.json", function(error, norge) {
    norge = norge;

    for(var i = 0; i < norge.objects.fylker.geometries.length; i++) {
        svg.append("path")
          .datum(topojson.feature(norge, norge.objects.fylker.geometries[i]))
          .attr("d", path)
          .attr("class", function(d) { return "county-" + d.id; });        
    }
});

【问题讨论】:

标签: d3.js map projection geo


【解决方案1】:

如果您的地图没有改变(例如没有变换),您可以通过反复试验获得这些数字,就像在您提供的示例中所做的那样。只需输入一些数字,看看结果是否符合您的需要。最好计算地图的中心并将其传递给投影。 Lars Kotthoff 在您的问题评论中为您提供了一个非常好的链接,以了解其工作原理 (Center a map in d3 given a geoJSON object)。

【讨论】:

  • 这就是我最终要做的。找到了一个带有 topojson 的世界地图,并使用了来自英国的数据,如下所示:bost.ocks.org/mike/map。然后编辑数字以适应挪威。
猜你喜欢
  • 2014-05-20
  • 2011-10-16
  • 2016-05-03
  • 2019-01-28
  • 1970-01-01
  • 2022-01-26
  • 1970-01-01
  • 2021-08-05
  • 2015-04-06
相关资源
最近更新 更多