-
Notifications
You must be signed in to change notification settings - Fork 29
Description
I've tried:
output_cell_label_type OUTPUT_ADDRESS_TYPE
output_address_type HIERNDX
output_hier_ndx_system Z7
output_hier_ndx_form int64
But that seems to produce the same result as output_hier_ndx_form digit_string.
In the IGEO7 paper, the description of the 64-bit integer Z7 format is ambiguous, with no mention of endianness or of Least / Most Significant Bits:
The first four bits of the integer indicate the base cell number (0 to 11), and the remaining 60 bits encode the digits for each resolution, using 3 bits per resolution.
Would the following bit organization (from Google AI) be correct in implying big-endian order, meaning that the padding 7/f s are the LSBs? So that 0234605201064053664 would be 0x2730A811A0AF69FF?
The 64-bit integer index for the DGGRID Z7 system is organized in big-endian bit order, from most significant bit (MSB) to least significant bit (LSB). The index is a hierarchy-based identifier composed of two main parts:
Base Cell ID: The first four bits (bits 63 through 60) identify one of the 12 base cells (0 to 11) of the initial icosahedral division of the globe.
Hierarchical Digits: The remaining 60 bits (bits 59 through 0) encode the sub-cell indices, with 3 bits per level of refinement (aperture 7). Each 3-bit digit specifies which of the seven child cells to navigate to at the next resolution level. A value of 7 for a refinement digit is used to signify that the cell's resolution is less than the maximum Z7 resolution.
Structure of the 64-bit Z7 index
| Bit Range | Value | Purpose |
|---|---|---|
| 63–60 | 0–11 | Base cell number from the icosahedron. |
| 59–57 | 0–6 | Refinement digit for resolution 1. |
| 56–54 | 0–6 | Refinement digit for resolution 2. |
| ... | ... | ... |
| 2–0 | 0–6 | Refinement digit for resolution 20. |
Thanks!