Javascript 如何仅获取H3中六角环()的外侧边的顶点?

Javascript 如何仅获取H3中六角环()的外侧边的顶点?,javascript,h3,Javascript,H3,其要点相当直截了当,即使实现不是 我想得到六边形环的外边缘,而不是六边形的所有边缘。基本上是从环的外部边缘创建一个多边形,包含环内的所有内容。目前,我们可以使用geojson2h3.h3SetToFeature()来创建多边形 这看起来像: HexRingPolygon: 相反,我只想得到外部边缘,如下所示: 外部边缘: 为了实现一个外部边界,我目前正在使用kRing(),但是,由于该区域包含的六边形数量太多,因此在各种情况下,这种性能特征在移动设备上都无法使用。其中,作为一个hexRin

其要点相当直截了当,即使实现不是


我想得到六边形环的外边缘,而不是六边形的所有边缘。基本上是从环的外部边缘创建一个多边形,包含环内的所有内容。目前,我们可以使用
geojson2h3.h3SetToFeature()
来创建多边形

这看起来像:

HexRingPolygon:

相反,我只想得到外部边缘,如下所示:

外部边缘:

为了实现一个外部边界,我目前正在使用
kRing()
,但是,由于该区域包含的六边形数量太多,因此在各种情况下,这种性能特征在移动设备上都无法使用。其中,作为一个
hexRing()
将使用最少数量的六边形



我如何才能做到这一点?

以H3为中心的答案是使用K环,正如您所建议的,但这肯定是更多的计算(可能在计算六角体集和计算轮廓时都较慢)

这里的简单答案是使用
h3SetToMultiPolygon
的输出,然后简单地从geojson中删除第二个环。geojson的格式是

{
  "type": "Feature",
  "geometry": {
    "type": "MultiPolygon",
    "coordinates": [
      // list of polygons, there's only one in your case
      [
        // list of loops: first is outline, the rest are holes
        [...],
        [...]
      ]
    ]
  }
}
所以你所需要做的就是设定

geojson.geometry.coordinates[0] = [geojson.geometry.coordinates[0][0]]
它只将多边形设置为外环,将洞掉下来(未测试,但我认为这是正确的)