D3.js 我的GeoJSON中是否存在畸形或D3代码中是否存在缺陷?

D3.js 我的GeoJSON中是否存在畸形或D3代码中是否存在缺陷?,d3.js,geojson,D3.js,Geojson,我是d3和GeoJson的新手。我有GeoJSON,它显示在屏幕上。我试图用以下代码将GeoJSON显示为地图: var width = 960, height = 1160; var svg = d3.select("body").append("svg") .attr("width", width) .attr("height", height); var projection = d3.geo.transverseMercator().translate([wi

我是d3和GeoJson的新手。我有GeoJSON,它显示在屏幕上。我试图用以下代码将GeoJSON显示为地图:

var width = 960,
    height = 1160;

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

var projection = d3.geo.transverseMercator().translate([width / 2, height / 2]).scale(150).center(-90.088, 29.957);

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

d3.json("orleans.json", function(json) {
    svg.selectAll("path")
        .data(json.features)
        .enter()
        .append("path")
        .attr("d", path);
});
倒数第二行.attr(“d”,path)在d3堆栈跟踪深处抛出以下错误:

Error: Problem parsing d="MNaN,NaNLNaN,NaNL8.76110196153104,1051.238898038469L8.76110196153104,108.76110196153104L951.238898038469,108.76110196153104L951.238898038469,1051.238898038469LNaN,NaNLNaN,NaNLNaN,NaNLNaN,NaNLNaN,NaNLNaN,NaNZMNaN,NaNLNaN,NaNLNaN,NaNZMNaN,NaNLNaN,NaNLNaN,NaNZMNaN
我的GeoJSON有问题吗?或者我在D3中如何使用GeoJSON的问题?这个错误似乎来自对D3的错误输入——但我的GeoJSON是lints。也许这是我的D3语法的问题,而不是我的GeoJSON

GeoJSON看起来确实加载正确。当我在调用后立即调用console.log(json)时 要
d3.json(“orleans.json”,function(json)
,它显示以下内容:


您的代码有两个问题:

  • .center()
    函数只接受一个数组参数,而不是两个
  • 横向墨卡托投影不支持反周边切割

若要修复,请传递一个数组,而不是两个数字,并将中心限制为-90度或更小。完成演示。

您是否验证了JSON是否正确加载?@Larskothoff我不知道如何执行此操作。您能解释一下如何执行此操作吗?例如,
console.log(JSON)
@Larskothoff谢谢。我是否将其放在声明的部分之后的回调中“函数(json){”?是,然后检查浏览器的调试控制台。