d3.js - d3 - 如何找到某个国家/地区的正确投影?

标签 d3.js dictionary projection geo

我正在尝试创建一张覆盖我的国家的 map ,但它总是缩小。

我看过很多 map ,他们设法通过投影放大国家/地区,但他们从哪里获得投影数字?我很困惑..

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

最佳答案

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

关于d3.js - d3 - 如何找到某个国家/地区的正确投影?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25459854/

相关文章:

javascript - <g> 使用交互式指南时属性转换 ="translate(NaN,NaN)"

Python 将字典列表转换为另一个字典列表

c# - 为什么应该使用 ContainsKey 而不是 TryGetValue 是有原因的

c# - 获取给定 Key 的 KeyValuePair

javascript - 如何在JavaScript中计算旋转3D立方体的x和y坐标?

projection - 添加列对vertica DB中超投影的影响

javascript - D3.js - 如何解决拖动折线图时出现 NAN 错误(Jsfiddle 提供)

javascript - NVD3.js 中的 .datum 多个值

javascript - 如何绘制闭合曲线?

d3.js - 将EPSG投影范围转换为D3.js map