Javascript 阿根廷没有以d3.js出现在世界地图上

Javascript 阿根廷没有以d3.js出现在世界地图上,javascript,d3.js,maps,geojson,topojson,Javascript,D3.js,Maps,Geojson,Topojson,我在使用d3.js和geojson文件绘制完整的世界地图时遇到问题。我使用的文件是,在这里你可以看到所有国家都正确显示,但是当我尝试渲染它时,我得到了除阿根廷以外的所有国家。我还尝试使用以下文件:。在这里,110m文件给出了相同的结果(没有阿根廷),但50m文件显示了整个地图,只是它太详细了,我更愿意使用另一个文件。我已将代码简化为仅绘制地图路径,以查看我的代码中是否有任何错误,但结果是相同的…以下是绘制地图的简化代码: var projection = d3.geo.mercator(

我在使用d3.js和geojson文件绘制完整的世界地图时遇到问题。我使用的文件是,在这里你可以看到所有国家都正确显示,但是当我尝试渲染它时,我得到了除阿根廷以外的所有国家。我还尝试使用以下文件:。在这里,110m文件给出了相同的结果(没有阿根廷),但50m文件显示了整个地图,只是它太详细了,我更愿意使用另一个文件。我已将代码简化为仅绘制地图路径,以查看我的代码中是否有任何错误,但结果是相同的…以下是绘制地图的简化代码:

    var projection = d3.geo.mercator()
            .center([0, 40])
            .scale(200)
            .rotate([0, 0]);
    var path = d3.geo.path()
            .projection(projection);
    var width = 2000;
    var height = 2000;

    queue()
        .defer( d3.json,"world-110m.json")
        .await(ready);

    function ready(error,world) {
            // console.log(world)
             makeMap(world);
    }
    function makeMap(world){
        var svg = d3.select("#map").append("svg")
            .attr("width", width)
            .attr("height", height);
         var g = svg.append("g");
          svg.selectAll("path")
                .data(world.features)
                .enter()
                .append("path")
                .attr("d", path)
                .attr("stroke","black")
                .attr("fill","white");

    }
有人知道问题可能是什么,以及如何解决问题的解决方案吗?非常感谢您的帮助:)


编辑:在尝试了一大堆不同的事情之后,我注意到如果我指定“填充:无”,阿根廷会突然被勾勒出来,但一旦我指定填充颜色,它就会消失……我仍然不知道为什么会发生这种情况-。-

每当你看到这种行为时(一个国家只通过笔划而不是填充显示)然后,它通常表示多边形从内到外(它填充多边形边界周围的所有内容)的地理数据已损坏。您需要将数据集放入GIS并尝试修复它。在这种情况下,事实上不是阿根廷,而是百慕大被腐败了。您可以删除百慕大,这似乎很好,或者尝试在GIS应用程序中修复地理数据


阿根廷似乎失踪的原因是,腐败的百慕大被拉到了阿根廷(以及其他国家)的顶端。

谢谢!移除百慕大群岛是可行的,我真的不需要百慕大群岛^^