Для некоторых намерений и целей, да, пятиугольники - это просто шестиугольники с одним удаленным осевым измерением. Они имеют нормальное представление индекса H3, будут корректно работать с большинством функций, которые принимают ячейки H3 в качестве входных данных, и должны подойти в случае, который вы описываете. Основные соображения:
- Они имеют только 5 соседей, поэтому любой код, предполагающий шесть соседей, может быть неправильным
- Они возвращают 5 вершин из
h3ToGeoBoundary
или 10 вершин для нечетных разрешений (чтобы учесть искажения на краях икосаэдра) - Они имеют примерно 5/6 площади самых маленьких шестиугольных ячеек.
- Если вы столкнулись с пятиугольником при запуске
kRing
, вы не можете больше делать предположения о форме возвращаемого набора - например, у вас может быть меньше ячеек в другом расположении, чем если бы вы встречали только шестиугольники. - Некоторые функции (
hexRange
, hexRing
и несколько других) потерпит неудачу с кодом ошибки, если они встретят пятиугольник. hexRange
в частности, это быстрый kRing
алгоритм, который kRing
использует под капотом, возвращаясь к медленному, но правильному аль go, если встречается пятиугольник. Вы должны использовать hexRange
, только если производительность очень важна, и вы готовы справиться со сбоями. Функции, которые не обрабатывают пятиугольники, как правило, четко определены в документах.