簡體   English   中英

在d3中計算多邊形的面積

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM