uber / uber/h3

Calculate and include more size/area/distortion stats per resolution

Open
#240 2 comments 4 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

documentation good first issue
Dominant language
C
Stars
6.5k
Forks
627
Avg merge
3d 21h
Merged PRs (30d)
6

Description

When building algorithms using H3, consumers may need to satisfy specific constraints, e.g. "buffer within X meters of a given point". Our existing edgeLength and hexArea stats are averages, which is insufficient to determine whether a given resolution or buffer size will satisfy the requirement.

I think it would be worthwhile to calculate and publish (either in the library or in the docs) the following stats for each res:

  • min, max, mean, and stddev for
  • edgeLength, area, and possibly minDiameter (perpendicular edge-edge) and maxDiameter (vertex-vertex)
  • both with and without pentagons

It might not be worthwhile to include all of this in the lib, but publishing it would allow others to use it in their code if needed.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the existing edgeLength and hexArea statistics and how resolution data is currently published. Decide whether the results belong in the library or documentation, then define per-resolution min, max, mean, and standard deviation values with and without pentagons, considering the proposed diameter statistics. Done means consumers can access the published values for their constraints.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
data
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.