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

如何获取边界框/多边形内所有部分相交的H3网格单元索引

解决H3获取所有与边界框相交的网格单元问题

要获取所有至少部分位于边界框内的H3网格单元,你需要修改h3.polygonToCells()的调用参数,开启包含部分相交单元的选项:

核心解决方案

使用includePartial: true配置项,让方法返回所有与边界框有交集的单元,而不仅仅是中心落在框内的单元。同时确保多边形坐标是闭合的(最后一个点和第一个点一致):

const coords = [
    [51.55, -0.01],
    [51.45, -0.01],
    [51.45, -0.16],
    [51.55, -0.16],
];

// 闭合多边形:添加第一个点作为最后一个点
const closedPolygon = [...coords, coords[0]];
const RESOLUTION_LEVEL = 3;

// 开启includePartial选项
const cells = h3.polygonToCells(closedPolygon, RESOLUTION_LEVEL, { includePartial: true });

console.log("cells", cells); // 现在会返回所有与边界框相交的3级单元

问题原因解释

  • 默认情况下,h3.polygonToCells()只返回中心位于多边形内部的网格单元。分辨率3的H3单元尺寸很大,你的伦敦中心边界框不足以包含任何3级单元的中心,因此返回空数组;而分辨率7的单元尺寸小,大量单元的中心落在框内,所以能返回结果。
  • 当设置includePartial: true时,方法会检测所有与多边形边界有交集的单元,无论其中心是否在框内,这样就能覆盖所有至少部分位于边界框内的网格。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 22:35:41