Skip to content

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

@tbtnb

Description

@tbtnb

问题描述

🐛 Bug description [Please make everyone to understand it]

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

Please provide a link by forking these links L7 Draw or GitHub repo, a minimal reproduction.

  • Required Link to minimal reproduction:
  • 我使用turf计算的代码:
   const coordinates = drawInstance.getData()[0].geometry.coordinates[0]
   const poly = polygon([coordinates])
   const areaValue = area(poly)

我的areaOptions

const areaOptions = {
  format: (squareMeters: number) => {
    return squareMeters > 1000000
      ? `${+(squareMeters / 1000000).toFixed(2)}km²`
      : `${+squareMeters.toFixed(2)}m²`
  }
}

getData获取到的数据

[
	{
		"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
antv的计算结果

Image
我使用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

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions