h3 icon indicating copy to clipboard operation
h3 copied to clipboard

Add documentation page highlighting irregularities of the H3 grid

Open nrabinowitz opened this issue 5 years ago • 7 comments

This might help to address frequent questions about:

  • Pentagons
  • Distortion vertices
  • Variations in area and edge length

nrabinowitz avatar Mar 22 '19 17:03 nrabinowitz

I would suggest adding a h3IsNotHexagon() function as it is not just pentagons.

Another point I want to add (but I don’t think that demand any change in the current H3 system) is a paper which hints that Fuller’s orientation is sub-optimal https://www.researchgate.net/publication/331105808_Optimal_orientations_of_discrete_global_grids_and_the_Poles_of_Inaccessibility

billyauhk avatar Mar 23 '19 03:03 billyauhk

@billyauhk Per the conversation on #168, the cells in question are topologically hexagons. This is the distinction that matters for most traversal algorithms, directed or undirected edges, etc. The extra distortion vertices only matter when you're treating the cell as a polygon for rendering, area calculation, etc. As the code currently stands, we can't easily offer h3IsNotHexagon in the way that you mean, since the only way to determine this is to actually run it through h3ToGeoBoundary (as opposed to h3IsPentagon, which is a bitwise operation).

nrabinowitz avatar Mar 25 '19 17:03 nrabinowitz

@nrabinowitz Really thanks for the clarifications and hope these all go into the upcoming documentation updates.

billyauhk avatar Mar 26 '19 10:03 billyauhk

I just made an exploration notebook about this topic https://observablehq.com/@fil/h3-oddities

Comments welcome

Fil avatar Sep 19 '19 09:09 Fil

@Fil That is really nice work! I think it's a very clearly written and accurate description. I was a little surprised by the abruptness of the area change at the hexes crossing the icosahedron edges, but it makes sense, they're getting the worst case distortion from both faces.

sahrk avatar Sep 19 '19 19:09 sahrk

Thank you Kevin! I have updated the marks I'm using — it should clarify that the red and black colors denote polygons that have extra "distortion vertices", not high distortion per se.

In fact I'm play/working on a DGGS in which I draw a regular lattice of points on a Dymaxion projection, then lift them back to the sphere (& the cells are their Voronoi). Not exactly the system you described in the 1998 paper, but probably quite close.

Fil avatar Sep 20 '19 15:09 Fil

@Fil This is amazing! There should be a link to this in the documentation. I was trying to wrap my head around Uber's oddities for some time now and suddenly virtually everything became clear thanks to your observable. Thank you for making that.

DahnJ avatar Sep 25 '19 11:09 DahnJ