d3 - 如何为一个国家找到正确的预测?

时间:2014-08-23 08:07:23

标签: d3.js map projection geo

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

我看过很多地图,他们设法通过投影放大到乡村,但他们在哪里获得投影的数字?我很困惑..

示例: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; });        
    }
});

1 个答案:

答案 0 :(得分:0)

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