You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何向turf.polygon方法传入坐标JSON数据?

如何将JSON格式的坐标数据传入turf.polygon方法?

没问题,我来帮你一步步搞定这个需求!其实核心就是从你的JSON数据里提取出Polygon对应的坐标数组,然后直接传给turf.polygon()的第一个参数就行,下面给你具体的操作步骤和示例:

1. 明确坐标的提取路径

你的JSON数据是一个GeoJSON FeatureCollection,目标坐标的位置很清晰,就在这个路径下:
json.data.features[0].geometry.coordinates
因为你要的是第一个Feature里的Polygon几何坐标,通过这个路径就能拿到完全符合turf.polygon要求的坐标数组格式。

2. 完整代码示例

直接看整合后的代码会更直观,我把你的JSON数据和调用逻辑放在一起:

// 你的JSON格式数据示例
var json = {
 "type": "geojson",
 "data": {
 "type": "FeatureCollection",
 "features": [{
 "type": "Feature",
 "geometry": {
 "type": "Polygon",
 "coordinates": [[ 
 [1.275543, 54.464547], 
 [1.275543, 54.489271], 
 [1.215118, 54.489271], 
 [1.215118, 54.464547], 
 [1.275543, 54.464547] 
 ]]
 }
 }]
 }
};

// 提取目标坐标数组
var polygonCoords = json.data.features[0].geometry.coordinates;

// 传入turf.polygon,还可以自定义属性参数
var myPolygon = turf.polygon(polygonCoords, { 
 name: '从JSON提取的多边形', 
 population: 500 
});

// 打印结果验证
console.log(myPolygon);

3. 几个注意点

  • 确保坐标数组的嵌套格式正确:必须是[[[lon1, lat1], [lon2, lat2], ..., [lon1, lat1]]],也就是外层数组包裹一个线性环数组,且线性环的首尾坐标要保持一致(你的示例已经满足这个要求啦)。
  • 如果JSON里包含多个Polygon Feature,只需要循环遍历features数组,逐个提取坐标调用turf.polygon即可。

内容的提问来源于stack exchange,提问作者JinD

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 08:57:25