这是使用d3.js在地图上绘制投影矩形的最优雅方式?
此解决方案适用于圈子
var circ = d3.geo.circle();
var circle = g.selectAll("path1")
.data(dataset)
circle.enter()
.append("path")
.attr("class", "point")
.datum(function(d) {
return circ
.origin([d.x, d.y])
.angle(3)()
})
.attr("d", path)
以及“使用 D3 正交的圆形剪辑和投影”中的说明
无论如何,显然没有d3.geo.rect()
,我真的无法弄清楚哪个是d3.geo.path()
要操作的正确输入。
我们以这组坐标为例:
var route = {
type: "LineString",
coordinates: [
[0,0],
[0,60],
[60,60],
[60,0],
]
}
svg.append("path")
.datum(route)
.attr("class", "route")
.attr("d", path);
这导致了这个投影矩形:
可以看到上面的线是弯曲的,不跟随投影。听起来很协调,因为它遵循测地线(平行线的定义与子午线不同),但是我如何定义一条平行线之后的线呢?
非常感谢您的帮助!