我无法使用函数path.area()
我试过给它一个坐标列表如下:
var d = [
[-1, 415.44],
[146.93, 304.47],
[195.45, 152.13],
[-1, 134.64]
]
path.area(d)
我也尝试过它(我认为是)一个TopoJSON对象,如下所示:
path.area({
"type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": d},
});
第一次尝试为您提供值0
。第二个给你'NaN'
。你们知道我做错了吗?作为一个FYI,我需要计算我引用的多边形的面积如下:
d3.select("#IDofpolygon");
答案 0 :(得分:4)
您必须使用d3.polygonArea,其中:
返回指定多边形的有符号区域。如果多边形的顶点是逆时针顺序(假设原点⟨0,0⟩在左上角的坐标系),则返回的区域为正;否则它是负数,或者为零。
以下是演示:
var d = [
[-1, 415.44],
[146.93, 304.47],
[195.45, 152.13],
[-1, 134.64]
];
var area = d3.polygonArea(d);
console.log(area)

<script src="https://d3js.org/d3.v4.min.js"></script>
&#13;