javascript - 如何在 H3 中仅获取 hexRing() 的外边缘的顶点?

标签 javascript h3

其要点非常简单,即使实现不是......


我想获取hexRing的外边缘,而不是六边形的所有边缘。几乎从环的外边缘创建了一个多边形,包围了环内的所有内容。目前我们可以使用geojson2h3.h3SetToFeature(),它使用h3SetToMultiPolygon()来创建该多边形。

这看起来像:

六 Angular 环多边形:

enter image description here

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

外边缘:

enter image description here

为了实现外部边框,我目前正在使用 kRing(),但是,由于包含的六边形数量,其性能特征在各种情况下在移动设备上变得不可用在那个地区。 hexRing() 需要使用的六边形数量最少。


我怎样才能实现这一目标?

最佳答案

以 H3 为中心的答案是使用 K 环,正如您所建议的,但这绝对是更多的计算(在计算六 Angular 形集和计算轮廓时可能会更慢)。

这里的简单答案是使用 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]]

将多边形设置为仅外环,删除孔(未经测试,但我认为这是正确的)。

关于javascript - 如何在 H3 中仅获取 hexRing() 的外边缘的顶点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66095440/

相关文章:

javascript - 在页面上显示另一个网站的框架

node.js - 计算任何给定分辨率下 h3 的地理空间索引

安卓 h3 : A Hexagonal Hierarchical Geospatial Indexing System

h3 - Uber h3 用于查找两个地理位置之间的距离

javascript - 将 PHP preg_replace 转换为 javascript 并将其设置为递归

javascript - 匹配字符串中的单词,无论中间是什么

javascript - 修复 asp.net 中 div 的按钮

javascript - 使用 ng-click 上传没有表单的图像

shapefile - 如何在特定区域为 H3 六边形生成 shapefile