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

Posted

技术标签:

【中文标题】d3 - 我如何找到一个国家的正确预测?【英文标题】:d3 - How do I find the correct projection for a country? 【发布时间】: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; );        
    
);

【问题讨论】:

***.com/questions/14492284/… 【参考方案1】:

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

【讨论】:

这就是我最终要做的。找到了一个带有 topojson 的世界地图,并使用了来自英国的数据,如下所示:bost.ocks.org/mike/map。然后编辑数字以适应挪威。

以上是关于d3 - 我如何找到一个国家的正确预测?的主要内容,如果未能解决你的问题,请参考以下文章

d3.select 不抓取正确的标签

如何使用 d3 js 在 SVG 中正确使用 Use 标签?

D3:在 d3 中查找地理多边形的面积

d3.csv无法上传一个目录

如何更改 d3 中圆的半径和不透明度?

如何使用 csv 文件的列名作为输入选择?