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

使用geojson-geometries-lookup无法检测到MultiPolygon内的点

修复建议

核心问题:坐标顺序不符合GeoJSON规范

GeoJSON 中 Point 类型的坐标格式要求是 [经度, 纬度],但你代码里的 point1 把纬度放在了前面、经度在后,这是导致 lookup 方法无法识别的直接原因。

修复步骤

  1. 修正坐标顺序
    将 point1 的坐标调换顺序,改为 [-118.24369812011719, 34.05220031738281]。

  2. 验证GeoJSON结构(可选但推荐)
    确认CA_LAX的MultiPolygon符合规范:

    • 确保MultiPolygon的层级结构正确(格式为[[[坐标对]]])
    • 检查子多边形的坐标顺序遵循右手定则(外环逆时针、内环顺时针)

修复后的代码

const geojson = JSON.parse(data)
const glookup = new GeoJsonGeometriesLookup(geojson);

// 修正为GeoJSON标准坐标顺序:[经度, 纬度]
const point1 = {type: "Point", coordinates: [-118.24369812011719, 34.05220031738281]};
console.log(glookup.getContainers(point1));

额外排查点

如果修正坐标后仍无结果:

  • 检查传入的GeoJSON是否为FeatureCollection类型,若为单个Feature,确认初始化时未遗漏必要属性
  • 尝试使用geojson-geometries-lookup的getNearest方法辅助验证点与目标多边形的空间关系

内容的提问来源于stack exchange,提问作者Georg K.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 13:24:23