Replies: 1 comment
-
A short answer is: H3 probably isn't what you want. A bit of a longer answer is that H3 chose hexagons for its tessellating property , it's circle packing property, and it's uniform neighbor property (all neighbors border by an edge, none by a point). This let us tile the planet almost entirely with hexagons (and by positioning the 12 pentagons in the water we can basically simplify a lot of analysis when we stick to land), be able to analyze transitions between hexagons in a purely graph form because of the neighbor property, and treat each hexagon cell as being approximately equivalent to a haversine radius due to the circle packing, which can be useful for analyzing distance-based effects (like EM-field r-squared drop-off, or sound propagation, etc) with a discrete approximation (for faster analysis). The hierarchical piece of H3 is the compromise, as you can't construct direct tessellations of larger hexagons from a smaller hexagon grid. What you're looking for is called a Honeycomb. There is one for hexagons, but it's as trivial as you might imagine. Stretch the hexagon along the z-axis and slice it into distinct chunks. Basically not much more than taking an H3 index and truncating the altitude into discrete bands. That technically will form cones that convert to a centerpoint within the Earth and expand outward into the universe (but not very usefully, figuring out which hexagon Jupiter is located in will depend on the current time on Earth, and it is unlikely even resolution 15 would subdivide Jupiter). If you want a hierarchy of volumes, you probably would want to consider one of the other "Honeycomb" shapes. Cubes are obviously hierarchical. You could go from a volume of 1 to a volume of 8 between resolutions (a 2x2x2 cube of cubes) or to 27 between resolutions (3x3x3 cube of cubes). It would likely make sense to define this grid relative to the center of the Earth and the But if the hierarchical component is not the piece you desire, but instead the densest sphere packing possible, then the Rhombic dodecahedral honeycomb is the one you're after. I do not know if you can hierarchically subdivide it or not. It doesn't have the "all neighbors share an edge" property, though. It looks like most neighbors share a face, but some share a point, but don't quote me on that (it's a lot harder to visualize repeating volumes than repeating areas in your head). The nice Wikipedia animation shows that this geometry can also be represented as a cubic grid in a 3d checkerboard pattern where every other square in the grid is eliminated. That means you could use the same numeric All of this to say that H3 is not really what you want, and probably never will be. It was designed for terrestrial usage only when you want to model something that either exists in place on the surface, or is walking, running, biking, skiing, driving, boating, etc across it. It can kinda handle flying if the exact altitude doesn't matter as much as the origin, destination, and surface-level path taken, but actual volumetric analysis is beyond it. Because of honeycomb geometry, you can certainly create a 3D index stored in a singular value perfect for database usage, but H3 is poorly suited to this task, as the hexagonal honeycomb equivalent doesn't have a clean hierarchical property and cannot be related to the hierarchical structure of the hexagonal hierarchies. |
Beta Was this translation helpful? Give feedback.
-
Like h3 creates buckets of hexagons (with hierarchical properties) on 2D surface, can this be extended on 3D volumes above the surface to create indexes for 3D pockets of space above Earth such that it is also hierarchical, I thought a lot about it (seems like hexagon wont work there). And if possible can this be done using the library functions provided here or that need to be built from scratch. Or we can discuss about what shape would fit better or represent a a better concept of increasing surface area as we move from ground surface to any height.
If you can give any insight , it will be really helpful.
Beta Was this translation helpful? Give feedback.
All reactions