antvis / antvis/L7

[Bug] 绘制的多边形出来显示的面积和我使用turf计算的面积不一样

Open
#2,716 7 comments 1 reaction 1 assignee Claimed by @lzxue View on GitHub
bug
Dominant language
TypeScript
Stars
4.1k
Forks
656
PR merge metrics
No merged PRs in 30d

Description

### 问题描述

### 🐛 Bug description [Please make everyone to understand it]
绘制的多边形出来显示的面积和我使用turf计算的面积不一样

> Please provide a link by forking these links [L7 Draw](https://codesandbox.io/s/l7draw-issue-template-df75t7) or GitHub repo, a minimal reproduction.

- _Required_ **Link to minimal reproduction**:
- 我使用turf计算的代码:
```javascript
const coordinates = drawInstance.getData()[0].geometry.coordinates[0]
const poly = polygon([coordinates])
const areaValue = area(poly)
```
我的areaOptions
```javascript
const areaOptions = {
format: (squareMeters: number) => {
return squareMeters > 1000000
? `${+(squareMeters / 1000000).toFixed(2)}km²`
: `${+squareMeters.toFixed(2)}m²`
}
}
```

getData获取到的数据
```javascript
[
{
"type": "Feature",
"properties": {
"id": "polygon-80",
"isHover": false,
"isActive": true,
"isDrag": false,
"isDraw": false,
"createTime": 1748934351350,
"nodes": [
{
"type": "Feature",
"properties": {
"id": "point-81",
"isHover": false,
"isActive": false,
"isDrag": false,
"createTime": 1748934351350
},
"geometry": {
"type": "Point",
"coordinates": [
120.26191600075651,
30.187804999610986
]
}
},
{
"type": "Feature",
"properties": {
"id": "point-82",
"isHover": false,
"isActive": false,
"isDrag": false,
"createTime": 1748934351350
},
"geometry": {
"type": "Point",
"coordinates": [
120.26228100070857,
30.187753999614554
]
}
},
{
"type": "Feature",
"properties": {
"id": "point-83",
"isHover": false,
"isActive": false,
"isDrag": false,
"createTime": 1748934351350
},
"geometry": {
"type": "Point",
"coordinates": [
120.2629350006286,
30.187461999625654
]
}
},
{
"type": "Feature",
"properties": {
"id": "point-84",
"isHover": false,
"isActive": false,
"isDrag": false,
"createTime": 1748934351350
},
"geometry": {
"type": "Point",
"coordinates": [
120.26227500070938,
30.187001999613916
]
}
},
{
"type": "Feature",
"properties": {
"id": "point-85",
"isHover": false,
"isActive": false,
"isDrag": false,
"createTime": 1748934351350
},
"geometry": {
"type": "Point",
"coordinates": [
120.26179100077354,
30.186977999609613
]
}
}
],
"line": {
"type": "Feature",
"properties": {
"id": "line-87",
"isHover": false,
"isActive": true,
"isDrag": false,
"isDraw": false,
"createTime": 1748934351350,
"nodes": [
{
"type": "Feature",
"properties": {
"id": "point-81",
"isHover": false,
"isActive": false,
"isDrag": false,
"createTime": 1748934351350
},
"geometry": {
"type": "Point",
"coordinates": [
120.26191600075651,
30.187804999610986
]
}
},
{
"type": "Feature",
"properties": {
"id": "point-82",
"isHover": false,
"isActive": false,
"isDrag": false,
"createTime": 1748934351350
},
"geometry": {
"type": "Point",
"coordinates": [
120.26228100070857,
30.187753999614554
]
}
},
{
"type": "Feature",
"properties": {
"id": "point-83",
"isHover": false,
"isActive": false,
"isDrag": false,
"createTime": 1748934351350
},
"geometry": {
"type": "Point",
"coordinates": [
120.2629350006286,
30.187461999625654
]
}
},
{
"type": "Feature",
"properties": {
"id": "point-84",
"isHover": false,
"isActive": false,
"isDrag": false,
"createTime": 1748934351350
},
"geometry": {
"type": "Point",
"coordinates": [
120.26227500070938,
30.187001999613916
]
}
},
{
"type": "Feature",
"properties": {
"id": "point-85",
"isHover": false,
"isActive": false,
"isDrag": false,
"createTime": 1748934351350
},
"geometry": {
"type": "Point",
"coordinates": [
120.26179100077354,
30.186977999609613
]
}
},
{
"type": "Feature",
"properties": {
"id": "point-86",
"isHover": false,
"isActive": false,
"isDrag": false,
"createTime": 1748934351350
},
"geometry": {
"type": "Point",
"coordinates": [
120.26191600075651,
30.187804999610986
]
}
}
]
},
"geometry": {
"type": "LineString",
"coordinates": [
[
120.26191600075651,
30.187804999610986
],
[
120.26228100070857,
30.187753999614554
],
[
120.2629350006286,
30.187461999625654
],
[
120.26227500070938,
30.187001999613916
],
[
120.26179100077354,
30.186977999609613
],
[
120.26191600075651,
30.187804999610986
]
]
}
}
},
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
120.26191600075651,
30.187804999610986
],
[
120.26228100070857,
30.187753999614554
],
[
120.2629350006286,
30.187461999625654
],
[
120.26227500070938,
30.187001999613916
],
[
120.26179100077354,
30.186977999609613
],
[
120.26191600075651,
30.187804999610986
]
]
]
}
}
]
```
我的turf版本是7.2.0

### 📷 Step to reproduce

### 🏞 Expected result

![Image](https://github.com/user-attachments/assets/3f757654-f25b-472f-a335-c48dcd3c1bf2)
antv的计算结果

![Image](https://github.com/user-attachments/assets/d8422d63-2a57-41d6-b042-18f118fe07e5)
我使用turf的计算结果

### 🚑 Any additional [like screenshots]

- **L7Draw Version**:3.1.5
- **Platform**:MacOSX

### 重现链接

_No response_

### 重现步骤

_No response_

### 预期行为

_No response_

### 平台

- 操作系统: [macOS, Windows, Linux, React Native ...]
- 网页浏览器: [Google Chrome, Safari, Firefox]

### 屏幕截图或视频(可选)

_No response_

### 补充说明(可选)

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.