3.1. Single Resolution
Consider a point
$p$ that has been quantized into a cell
$c$ at resolution
$i$ and the circular offset region
$A$ that we wish to model using a set of cells
$C$ at resolution
$i$ (
Figure 3a). To limit the search space of cells, we could first determine the smallest bounding cell
${b}_{c}$ that contains
$A$ (
Figure 3b) by comparing the cell IDs of the latitudelongitude bounding box coordinates of
$A$ from resolution
$0$ to
$\infty $ until they disagree (as described in Section 9 of [
22]). Then, due to the congruent cell structure of the rHEALPix DGGS, we could simply use parentchild concatenation operations on cell IDs to determine the IDs of each cell at resolution
$i$ within
${b}_{c}$ that must be checked for inclusion in
$C$. Although this process is straightforward, problems arise when
${b}_{c}$ is significantly larger than
$A$ (
Figure 3c) because it means checking a prohibitively large number of cells for inclusion. This is caused by
$A$ spanning cells that have different parents at coarser resolutions (due to the fixed indexing structure that defines the hierarchical parentchild relationships) and is thus unavoidable.
To reduce the search space to a more manageable and predictable size that is not affected by the cells spanned by
$A$, we propose using the latitudelongitude bounding box coordinates of
$A$ to determine a rectangular bounding grid of cells
$B$ at resolution
$i$ that contain
$A$ (
Figure 4a). To do this, we take the four latitudelongitude coordinate pairs that represent the bounding box of
$A$, and convert them into their respective cell IDs at resolution
$i$. We then convert the cell IDs into
$row,column$ notation and determine the minimum and maximum row and column values. Using these range of values, we can easily determine all cells that comprise
$B$ in
$row,column$ notation, which we lastly convert back to cell ID.
Although this approach limits the search space of cells that must be checked for inclusion in
$C$, we may still encounter the issue of checking a large number of cells, particularly if the cell size at resolution
$i$ is small relative to the size of
$A$. To alleviate this issue, we wish to determine a rectangular inner grid of cells
$I$ at resolution
$i$ that are completely contained within
$A$ (
Figure 4c), so that we can automatically include these cells in
$C$ without performing any further checks. To do this, we calculate the latitudelongitude coordinate pairs of four points on the boundary of
$A$ using the coordinates of
$p$, the radius of
$A$, and the azimuths
$\left\{45\xb0,\text{}135\xb0,\text{}225\xb0,\text{}315\xb0\right\}$. These four azimuths are chosen in this study based on the fact that the largest planar rectangle circumscribed by a circle is a square (that said, these azimuths could be optimised to take into account the radius of
$A$ and the curved surface of the Earth if desired). We then convert the four latitudelongitude coordinate pairs into their respective cell IDs at resolution
$i$. Importantly, because a point lies somewhere in its quantized cell, we observe that each of the four cells has a vertex neighbour closer to cell
$c$ that must be fully contained in
$A$ (
Figure 4b). Knowing this, we can (i) convert each cell ID into
$row,column$ notation and (ii) use
$bas{e}_{3}$ math on the row and/or column value accordingly to determine the
$row,column$ notation of the cell diagonally closer to
$c$. Then, we can determine minimum and maximum row and column values, and use these ranges to obtain all cells that comprise
$I$ in
$row,column$ notation, which we lastly convert back to cell ID.
Now that we know the cells comprising
$B$ and
$I$, the only cells that must be checked for inclusion in
$C$, are those in the set
$BI$. The last step is to decide on a criterion for determining whether a cell should be included in
$C$ or not. For example, we could select all cells in the set
$BI$ that intersect the offset region
$A$, that are fully contained in
$A$, or whose nuclei are contained in
$A$. Although all three approaches converge to
$A$ as resolution
$i$ increases, we opt for the latter because a single geodetic distance computation (from
$p$ to the cell nucleus) can classify a cell as being in
$C$ or not, which helps to limit costly geodetic computations (
Figure 4d shows the final set of cells
$C$ that represent
$A$). Note that we indicate using the geodetic coordinates of
$p$ in the distance computation rather than the reference point of its quantized cell (i.e., the nucleus of
$c$) because (i) retrieving the original vector data for a single point is feasible, unlike massive vector curves or polygons (as highlighted in [
21]), and (ii) it accurately determines the cells in
$C$ and avoids the discrepancies that would result from using the nucleus of
$c$, particularly at coarse resolutions. However, if we wish to avoid retrieving the geodetic coordinates of
$p$, then we can either (i) use the nucleus of
$c$ if the quantization error at resolution
$i$ is acceptable (e.g., at fine resolutions), or (ii) quantize
$p$ into a cell
${c}^{m}$ at a finer resolution
$m$ where
$m>i$ and the quantization error at resolution
$m$ is acceptable, and then use the nucleus of
${c}^{m}$. The pseudocode to perform the single resolution method is provided in Algorithm 1.
Algorithm 1. Pseudocode to perform the single resolution method 
Input: point $p$, offset radius $r$, resolution $i$ 
Result: set of cells $C$ that represent the offset regionInitialise $C$ = Empty Determine the rectangular bounding grid of cells B at resolution i that contain the offset region Determine the rectangular inner grid of cells I at resolution i that are fully inside the offset region Append all cells in $I$ to $C$ foreach$cell\subseteq \left(BI\right)$do $d$ = geodetic distance from nucleus of $cell$ to $p$ (or nucleus of $p$’s quantized cell) if $d\le r$ then Append $cell$ to $C$ end end return$C$

Although the proposed approach is demonstrated using the quadrilateralbased rHEALPix DGGS, it is not difficult to imagine how it could be adapted for triangular and hexagonalbased DGGSs. For example, if we consider a hexagonal DGGS, rather than determine a rectangular bounding grid of cells $B$, we could instead utilize the ring structure of neighbouring hexagons to determine the minimum bounding ring such that the resulting grid of cells contain $A$. Similarly, rather than determine a rectangular inner grid of cells $I$, we could determine the maximum inner ring such that all cells are fully contained within $A$. An interesting benefit of this approach for hexagonal DGGSs, is that rings of neighbouring hexagons approximate a circle more closely than a rectangular grid of squares, therefore the set $BI$ would have greater impact at limiting the number of cells that must be checked for inclusion in $C$.
3.2. Multiresolution
Here we consider how the multiresolution hierarchy of the rHEALPix DGGS can be used to efficiently determine the set of cells $C$ at finer (or coarser) resolutions thereby removing the need to determine $C$ from scratch. First, we describe a method that utilizes the congruent cell structure (i.e., child cells are enclosed by the parent cell) and efficient cell adjacency operations on cell IDs to determine the cells in $C$ as resolution increases from a coarse resolution $i$ to a fine resolution $j$, where $j>i$. Second, we highlight a method that uses the alignment of cell nuclei to determine the cells in $C$ as resolution decreases from a fine resolution $j$ to a coarse resolution $i$.
Consider an offset region
$A$, the rectangular bounding grid of cells
${B}_{i}$ that contain
$A,$ and the set of cells
${C}_{i}$ that represent
$A$ at a coarse resolution
$i$ (
Figure 5a). Note that
${B}_{i}$ refers to the initial search space of cells at resolution
$i$. However, in the following method the search space at resolution
$i+1$ is not equal to
${B}_{i+1}$, so we will denote the search space of cells
${S}_{i}$ to avoid confusion. To determine the set of cells
${C}_{i+1}$ that represent
$A$, we first determine all cells in
${C}_{i}$ that are definitely fully contained in
$A$ (
Figure 5d) which allows us to automatically include their child cells in
${C}_{i+1}$. To do this, we determine the four vertex neighbours of a given cell in
${C}_{i}$ (
Figure 5b) using
$row,column$ notation and
$bas{e}_{3}$ math (as described in
Section 2), and check that they are also in
${C}_{i}$ (using efficient set operations on cell IDs). We check the vertex neighbours because (i) if their nuclei are in
$A$ then so are the cell vertices (since they constrain the vertices), (ii) it is more efficient than checking all eight neighbours (whose nuclei also constrain the vertices), and (iii) nuclei of edge neighbours may not necessarily constrain the vertices (particularly close to the boundary of
$A$). Thus, if all vertex neighbours are in
${C}_{i}$, we conclude that the given cell must be fully contained in
$A$.
Next, we determine all cells in
${S}_{i}{C}_{i}$ that are definitely fully outside
$A$ (
Figure 5d) using a similar approach, except we check that the vertex neighbours are not in
${C}_{i}$ (
Figure 5c). These cells, and all of their child cells, are marked as being outside of
$A$. The remaining cells are called “fringe cells” at resolution
$i$ (
Figure 5d), denoted
${F}_{i}$, because they are located close to the boundary of
$A$ and their corresponding child cells may or may not be in
${C}_{i+1}$. The next step is to subdivide all cells in
${F}_{i}$ using simple parentchild concatenation operations on cell IDs, to determine the new search space of cells
${S}_{i+1}$ (
Figure 6a). Lastly, we perform the single geodetic distance computation for all cells in
${S}_{i+1}$ to determine the cells that comprise
${C}_{i+1}$ (
Figure 6b). If we wish to determine the set of cells
${C}_{i+2\text{}},\text{}{C}_{i+3},\text{}\dots ,\text{}{C}_{j}$ that represent
$A$, we can iteratively repeat the process. For example, to determine the set of cells
${C}_{i+2\text{}}$, we find all cells in
${C}_{i+1}$ that are definitely fully contained in
$A$ and all cells in
${S}_{i+1}{C}_{i+1}$ that are definitely fully outside
$A$ (taking into account cells that were previously marked as fully inside or outside
$A$). From here, we can determine the fringe cells
${F}_{i+1}$ (
Figure 6c). We can then subdivide cells in
${F}_{i+1}$ to form
${S}_{i+2}$, and subsequently test these cells for inclusion in
${C}_{i+2}$. The pseudocode to perform the multiresolution method is provided in Algorithm 2.
Algorithm 2. Pseudocode to perform the multiresolution method 
Input: point $p$, offset radius $r$, coarse resolution $i$, fine resolution $j$, initial set of cells ${S}_{i}$ that represent the search space, initial set of cells ${C}_{i}$ that represent the offset region 
Result: set of cells ${C}_{j}$ that represent the offset regionFunction MultiresMethod$({C}_{i},\text{}{S}_{i},\text{}i$) Using cell adjacency, determine the cells in ${C}_{i}\subseteq {S}_{i}$ that are fully inside the offset region Using cell adjacency, determine the cells in ${S}_{i}{C}_{i}$ that are fully outside the offset region ${F}_{i}$ = Remaining cells in ${S}_{i}$ ${S}_{i+1}$ = child cells of ${F}_{i}$ Initialize ${C}_{i+1}$ = Empty foreach $cell\subseteq {S}_{i+1}$ do $d$ = geodetic distance from nucleus of $cell$ to $p$ (or nucleus of $p$’s quantized cell) if $d\le r$ then Append $cell$ to ${C}_{i+1}$ end end Append child cells of all cells previously marked as fully inside the offset region to ${C}_{i+1}$ if $i+1=j$ then ${C}_{j}={C}_{i+1}$ return ${C}_{j}$ else MultiresMethod(${C}_{i+1},\text{}{S}_{i+1},\text{}i+1$)

Overall, by limiting the search space to child cells of the fringe cells, we can limit the number of costly geodetic distance computations and efficiently determine the cells in $C$ at finer resolutions. Furthermore, by using cell adjacency as the basis to determine cell containment in $A$, we can utilize cell ID manipulation and perform efficient set operations on cell IDs. Lastly, by utilizing cell congruency and the underlying indexing structure, we can automatically include (or exclude) child cells in $C$ at finer resolutions using efficient parentchild concatenation operations on cell IDs. Note that with regards to the latter, if we only include the parent cell in $C$ at finer resolutions and not the respective child cells, we can model an offset region using a multiresolution set of cells $M$. Importantly, $M$ will be geometrically equivalent to $C$ in terms of modelling $A$, but $M$ will comprise fewer cells than $C$ (especially at increasingly fine resolutions) which would be beneficial (such as for memory storage or performance of inside/outside tests) if the number of cells in $C$ at a fine resolution becomes prohibitively large.
In terms of compatibility with other DGGSs, the proposed approach could be applied to triangular DGGSs because they also exhibit cell congruency. Hexagonal DGGSs (of which aperture 3, 4, and 7 are the most popular) have incongruent hierarchies however, which makes it more difficult to apply multiresolution approaches based on cell congruency. Interestingly though, the proposed approach of combining cell adjacency as the basis for cell containment in $A$ with cell nuclei as the basis for inclusion in $C$, appears to be compatible with the aperture 7 hexagonal DGGS. In this type of hexagonal DGGS, the hexagonal shape of a parent cell is closely approximated by its seven child cells, despite not being fully contained. Notably, for a given cell $t$ at resolution $i$, the seven respective child cells at resolution $i+1$ have centre points that are contained within $t$. Thus, we observe that the centre points of the six adjacent cells of $t$ at resolution $i$ would not only constrain the vertices of $t$, but also the vertices of all child cells of $t$ at any resolution greater than $i$, as is the case for congruent cell shapes.
To end this section, we describe a method to efficiently determine the cells in
$C$ as resolution decreases from a fine resolution
$j$ to a coarse resolution
$i$ using the aligned property of the rHEALPix DGGS. First, recall from
Section 3.1 that a cell is included in
$C$ if its nucleus is included in
$A$. Now consider the set of cells
${C}_{j}$ that represent
$A$ at a fine resolution
$j$. In order to determine the cells in
${C}_{j1}$, we can utilize the fact that the nucleus of a parent cell at resolution
$j1$ is aligned with the nucleus of a child cell at resolution
$j$. On the rHEALPix DGGS with
${N}_{side}=3$, the ID of an aligned child cell is always the same string as its parent cell ID except with the integer
$4$ concatenated to the end (which can be seen in
Figure 1). Consequently, to determine the cells in
${C}_{j1}$, we simply need to select all cell IDs in
${C}_{j}$ that end in 4, and then truncate each cell ID to remove the 4. This process can be iteratively repeated to determine the set of cells
${C}_{j2\text{}},\text{}{C}_{j3},\text{}\dots ,\text{}{C}_{i}$ that represent
$A$. Note that by keeping track of the cell IDs that do not end in 4 at each resolution, we can move up and down the resolution levels by simply concatenating and appending or truncating and removing IDs from
$C$. Alternatively, in general, we note that if
${C}_{j}$ is the set of cells at a fine resolution
$j$, then we can determine the set of cells in
${C}_{i}$ at any resolution
$i$ where
$i<j$ by (i) selecting all cells in
${C}_{j}$ whose ID string ends in
$\left(ji\right)\text{}4$’s and (ii) removing the
$4$’s from each ID by truncating the string. Because this method is based on the alignment of cell nuclei, it could also be applied to triangular and hexagonal DGGSs that are aligned at cell centre points by manipulating cell IDs accordingly.