其要点非常简单,即使实现不是......
我想获取hexRing
的外边缘,而不是六边形的所有边缘。几乎从环的外边缘创建了一个多边形,包围了环内的所有内容。目前我们可以使用geojson2h3.h3SetToFeature()
,它使用h3SetToMultiPolygon()
来创建该多边形。
这看起来像:
六 Angular 环多边形:
相反,我只想获得外边缘,如下所示:
外边缘:
为了实现外部边框,我目前正在使用 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/