d3.js geo worldmap - 合并俄罗斯(从美国右边的左边小部分向左移位)

wie*_*son 6 geo d3.js topojson d3.geo

我在这里创建了一个简单的d3世界地图:http://bl.ocks.org/wiesson/ef18dba71256d526eb42

将小部分移到右边

是否有一种简单的方法可以将俄罗斯的一小部分(如图所示)向右移动,而无需创建新的topojson?如果没有,还有其他想法吗?

wie*_*son 9

好的,答案很简单.如api文档中所述,旋转方法可以转动地图.因此,rotate([-11, 0])将地图"旋转"到我正在寻找的位置.

var projection = d3.geo.mercator().scale(width / 2 / Math.PI)
    .rotate([-11, 0])
    .translate([(width) / 2, height * 1.35 / 2])
    .precision(.1);
Run Code Online (Sandbox Code Playgroud)

  • @GeorgiyBukharov你应该有拓扑坐标文件。在该文件中,您可以找到俄罗斯的一小部分作为一个单独的国家。只需将这些拓扑坐标移动到“俄罗斯”MultiPolygon 对象即可。这通常在 JSON 文件中定义。之后你应该让俄罗斯在它们之间没有界限的情况下合并。 (2认同)