[英]Calculate area of polygon in d3
我无法使用函数path.area()
计算D3中多边形的面积
我试过给它一个坐标列表如下:
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");
你必须使用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>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.