gpt4 book ai didi

javascript - 如何将坐标的 JSON 数据提供给 turf.polygon?

转载 作者:行者123 更新时间:2023-11-29 15:15:18 24 4
gpt4 key购买 nike

如何将坐标的JSON数据传给turf.polygon?

示例: turf.polygon();

var polygon = turf.polygon([[
[-2.275543, 53.464547],
[-2.275543, 53.489271],
[-2.215118, 53.489271],
[-2.215118, 53.464547],
[-2.275543, 53.464547]
]], { name: 'poly1', population: 400});

示例: JSON 格式

var json = 
{
"type": "geojson",
"data":
{
"type": "FeatureCollection",
"features": [{
"type": "Feature",
"geometry": {
"type": "Polygon",
"coordinates": [[
[1.275543, 54.464547], // I want to feed these coordinates
[1.275543, 54.489271],
[1.215118, 54.489271],
[1.215118, 54.464547],
[1.275543, 54.464547]
]]
}
}]
}
}

我的伪代码: 不起作用并返回错误消息 “LinearRing of a Polygon must have 4 or more Positions.”

var polygon = turf.polygon([[ json.data.features[0].geometry.coordinates ]], { name: 'poly1', population: 400});

谢谢。

最佳答案

coordinates 属性已经是一个深度嵌套的数组:

"coordinates": [[
[1.275543, 54.464547], // I want to feed these coordinates
[1.275543, 54.489271],
[1.215118, 54.489271],
[1.215118, 54.464547],
[1.275543, 54.464547]
]]

当你这样做时:

var polygon = turf.polygon([[
json.data.features[0].geometry.coordinates
]], ...

它将解析为:

var polygon = turf.polygon([[
[[
[1.275543, 54.464547], // I want to feed these coordinates
[1.275543, 54.489271],
[1.215118, 54.489271],
[1.215118, 54.464547],
[1.275543, 54.464547]
]]
]], ...

您想提取并使用原始嵌套数组本身,而不进行修改。试试这个:

var polygon = turf.polygon(json.data.features[0].geometry.coordinates, { name: 'poly1', population: 400});

关于javascript - 如何将坐标的 JSON 数据提供给 turf.polygon?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50054010/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com