如何将 JSON 坐标数据提供给 turf.polygon?
How to feed JSON data of coordinates to turf.polygon?
如何将坐标的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]
]]
}
}]
}
}
我的伪代码: 不起作用,returns 错误消息 "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});
如何将坐标的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]
]]
}
}]
}
}
我的伪代码: 不起作用,returns 错误消息 "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});