-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Documenter.jl
committed
Nov 27, 2023
1 parent
9698e8b
commit 36c6da1
Showing
6 changed files
with
6 additions
and
6 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,2 @@ | ||
<!DOCTYPE html> | ||
<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Background · DGGS.jl</title><script data-outdated-warner src="../assets/warner.js"></script><link rel="canonical" href="https://danlooo.github.io/DGGS.jl/background/"/><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../"><img src="../assets/logo.svg" alt="DGGS.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../">DGGS.jl</a></span></div><form class="docs-search" action="../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../">Home</a></li><li><a class="tocitem" href="../tutorial/">Tutorial</a></li><li class="is-active"><a class="tocitem" href>Background</a><ul class="internal"><li><a class="tocitem" href="#Why-to-use-a-DGGS"><span>Why to use a DGGS</span></a></li><li><a class="tocitem" href="#DGGS-creation"><span>DGGS creation</span></a></li><li><a class="tocitem" href="#Projections"><span>Projections</span></a></li><li><a class="tocitem" href="#Grid-cells"><span>Grid cells</span></a></li></ul></li><li><a class="tocitem" href="../api/">API</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href>Background</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Background</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/danlooo/DGGS.jl/blob/main/docs/src/background.md#" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="The-background-behind-Discrete-Global-Grid-Systems-(DGGS)"><a class="docs-heading-anchor" href="#The-background-behind-Discrete-Global-Grid-Systems-(DGGS)">The background behind Discrete Global Grid Systems (DGGS)</a><a id="The-background-behind-Discrete-Global-Grid-Systems-(DGGS)-1"></a><a class="docs-heading-anchor-permalink" href="#The-background-behind-Discrete-Global-Grid-Systems-(DGGS)" title="Permalink"></a></h1><p>A Discrete Global Grid Systems (DGGS) tessellate the surface of the earth with hierarchical cells of equal area. This minimizes distortion and loading time of large geospatial datasets, which is crucial in spatial statistics and building Machine Learning models.</p><h2 id="Why-to-use-a-DGGS"><a class="docs-heading-anchor" href="#Why-to-use-a-DGGS">Why to use a DGGS</a><a id="Why-to-use-a-DGGS-1"></a><a class="docs-heading-anchor-permalink" href="#Why-to-use-a-DGGS" title="Permalink"></a></h2><ul><li>multi resolutions</li><li>chunking and compression</li><li>spherical properties</li><li>equal area</li></ul><h2 id="DGGS-creation"><a class="docs-heading-anchor" href="#DGGS-creation">DGGS creation</a><a id="DGGS-creation-1"></a><a class="docs-heading-anchor-permalink" href="#DGGS-creation" title="Permalink"></a></h2><ol><li>Take a platonic solid (e.g. icosahedron)</li><li>Blow it up so that it s size fits the radius of the earth</li><li>Chose a rotation of the polyhedron relative to the (e.g. those used in the <a href="https://en.wikipedia.org/wiki/Dymaxion_map">Dymaxion projection</a> so that the evrtices of the polyhedrons with high distortions are in the oceans)</li><li>Tessellate the faces of the polyhedron (e.g. triangles, diamonds, or hexagons). One must introduce 12 pentagons at the vertices of the polyhedron to enable a tesselation of the 3D surface with hexagons. Polygons are regular on the faces of the polyhedron but may be distorted after re-projection to the sphere.</li><li>Redo the tessellation with increasing resolutions forming a grid system</li></ol><p><img src="https://upload.wikimedia.org/wikipedia/commons/thumb/5/53/Dymaxion_projection.png/1920px-Dymaxion_projection.png" alt/> By Justin Kunimune - Own work, Public Domain, https://commons.wikimedia.org/w/index.php?curid=65694588</p><p><img src="../assets/hexagon-children-aperture.png" alt/></p><p><img src="../assets/horizontal-neighbors.drawio.svg" alt/></p><p><img src="../assets/dggs-distortion.png" alt/></p><p><img src="../assets/cube-shape.drawio.svg" alt/></p><p><img src="../assets/grid-levels.png" alt/></p><h2 id="Projections"><a class="docs-heading-anchor" href="#Projections">Projections</a><a id="Projections-1"></a><a class="docs-heading-anchor-permalink" href="#Projections" title="Permalink"></a></h2><ul><li>ISEA: Icosahedral Snyder Equal Area projection <a href="https://doi.org/10.3138/27H7-8K88-4882-1752">Snyder 1992</a>. Distortions are low in area but high in shape.</li><li>FULLER: Icosahedral Dymaxion projection of Fuller in 1975. Distortions are moderate in both area and shape. More details at <a href="https://doi.org/10.1016/j.compenvurbsys.2007.11.003">Gregory et al. 2008</a></li></ul><h2 id="Grid-cells"><a class="docs-heading-anchor" href="#Grid-cells">Grid cells</a><a id="Grid-cells-1"></a><a class="docs-heading-anchor-permalink" href="#Grid-cells" title="Permalink"></a></h2><p>DGGS cells are optimized towards having equal area leading into an irregular grid in geographical lon/lat space Any grid, including those used in a DGGS, can be represented as a Voronoi partition of the cell center coordinates These coordinates are stored in a KD-Tree (Similar in python xarrys extension <a href="https://xoak.readthedocs.io/en/latest/index.html">Xoak</a>)</p><p>It is important to give nearby cells a similar cell id. This allows faster indexing and loading times, because the chunking is based on cell id. The cell id encodes the 1D (memory address and cell id) curve to traverse the the 2D surface (geographical coordinates). These space-filling curves are often recursively defined fractals. Solutions for the 2-D plane are the Hilbert and Gosper curve for rectangular and hexagonal grids, respectively. The <a href="https://webpages.sou.edu/~sahrk/docs/superfund_500m_020719.pdf">Superfund grid</a> is a solution for the sphere surface.</p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../tutorial/">« Tutorial</a><a class="docs-footer-nextpage" href="../api/">API »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.24 on <span class="colophon-date" title="Wednesday 22 November 2023 10:57">Wednesday 22 November 2023</span>. Using Julia version 1.9.4.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html> | ||
<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Background · DGGS.jl</title><script data-outdated-warner src="../assets/warner.js"></script><link rel="canonical" href="https://danlooo.github.io/DGGS.jl/background/"/><link href="https://cdnjs.cloudflare.com/ajax/libs/lato-font/3.0.0/css/lato-font.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/juliamono/0.045/juliamono.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.13.24/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="../assets/documenter.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-dark.css" data-theme-name="documenter-dark" data-theme-primary-dark/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="../assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="../assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="../"><img src="../assets/logo.svg" alt="DGGS.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit"><a href="../">DGGS.jl</a></span></div><form class="docs-search" action="../search/"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="../">Home</a></li><li><a class="tocitem" href="../tutorial/">Tutorial</a></li><li class="is-active"><a class="tocitem" href>Background</a><ul class="internal"><li><a class="tocitem" href="#Why-to-use-a-DGGS"><span>Why to use a DGGS</span></a></li><li><a class="tocitem" href="#DGGS-creation"><span>DGGS creation</span></a></li><li><a class="tocitem" href="#Projections"><span>Projections</span></a></li><li><a class="tocitem" href="#Grid-cells"><span>Grid cells</span></a></li></ul></li><li><a class="tocitem" href="../api/">API</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href>Background</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href>Background</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com/danlooo/DGGS.jl/blob/main/docs/src/background.md#" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="The-background-behind-Discrete-Global-Grid-Systems-(DGGS)"><a class="docs-heading-anchor" href="#The-background-behind-Discrete-Global-Grid-Systems-(DGGS)">The background behind Discrete Global Grid Systems (DGGS)</a><a id="The-background-behind-Discrete-Global-Grid-Systems-(DGGS)-1"></a><a class="docs-heading-anchor-permalink" href="#The-background-behind-Discrete-Global-Grid-Systems-(DGGS)" title="Permalink"></a></h1><p>A Discrete Global Grid Systems (DGGS) tessellate the surface of the earth with hierarchical cells of equal area. This minimizes distortion and loading time of large geospatial datasets, which is crucial in spatial statistics and building Machine Learning models.</p><h2 id="Why-to-use-a-DGGS"><a class="docs-heading-anchor" href="#Why-to-use-a-DGGS">Why to use a DGGS</a><a id="Why-to-use-a-DGGS-1"></a><a class="docs-heading-anchor-permalink" href="#Why-to-use-a-DGGS" title="Permalink"></a></h2><ul><li>multi resolutions</li><li>chunking and compression</li><li>spherical properties</li><li>equal area</li></ul><h2 id="DGGS-creation"><a class="docs-heading-anchor" href="#DGGS-creation">DGGS creation</a><a id="DGGS-creation-1"></a><a class="docs-heading-anchor-permalink" href="#DGGS-creation" title="Permalink"></a></h2><ol><li>Take a platonic solid (e.g. icosahedron)</li><li>Blow it up so that it s size fits the radius of the earth</li><li>Chose a rotation of the polyhedron relative to the (e.g. those used in the <a href="https://en.wikipedia.org/wiki/Dymaxion_map">Dymaxion projection</a> so that the evrtices of the polyhedrons with high distortions are in the oceans)</li><li>Tessellate the faces of the polyhedron (e.g. triangles, diamonds, or hexagons). One must introduce 12 pentagons at the vertices of the polyhedron to enable a tesselation of the 3D surface with hexagons. Polygons are regular on the faces of the polyhedron but may be distorted after re-projection to the sphere.</li><li>Redo the tessellation with increasing resolutions forming a grid system</li></ol><p><img src="https://upload.wikimedia.org/wikipedia/commons/thumb/5/53/Dymaxion_projection.png/1920px-Dymaxion_projection.png" alt/> By Justin Kunimune - Own work, Public Domain, https://commons.wikimedia.org/w/index.php?curid=65694588</p><p><img src="../assets/hexagon-children-aperture.png" alt/></p><p><img src="../assets/horizontal-neighbors.drawio.svg" alt/></p><p><img src="../assets/dggs-distortion.png" alt/></p><p><img src="../assets/cube-shape.drawio.svg" alt/></p><p><img src="../assets/grid-levels.png" alt/></p><h2 id="Projections"><a class="docs-heading-anchor" href="#Projections">Projections</a><a id="Projections-1"></a><a class="docs-heading-anchor-permalink" href="#Projections" title="Permalink"></a></h2><ul><li>ISEA: Icosahedral Snyder Equal Area projection <a href="https://doi.org/10.3138/27H7-8K88-4882-1752">Snyder 1992</a>. Distortions are low in area but high in shape.</li><li>FULLER: Icosahedral Dymaxion projection of Fuller in 1975. Distortions are moderate in both area and shape. More details at <a href="https://doi.org/10.1016/j.compenvurbsys.2007.11.003">Gregory et al. 2008</a></li></ul><h2 id="Grid-cells"><a class="docs-heading-anchor" href="#Grid-cells">Grid cells</a><a id="Grid-cells-1"></a><a class="docs-heading-anchor-permalink" href="#Grid-cells" title="Permalink"></a></h2><p>DGGS cells are optimized towards having equal area leading into an irregular grid in geographical lon/lat space Any grid, including those used in a DGGS, can be represented as a Voronoi partition of the cell center coordinates These coordinates are stored in a KD-Tree (Similar in python xarrys extension <a href="https://xoak.readthedocs.io/en/latest/index.html">Xoak</a>)</p><p>It is important to give nearby cells a similar cell id. This allows faster indexing and loading times, because the chunking is based on cell id. The cell id encodes the 1D (memory address and cell id) curve to traverse the the 2D surface (geographical coordinates). These space-filling curves are often recursively defined fractals. Solutions for the 2-D plane are the Hilbert and Gosper curve for rectangular and hexagonal grids, respectively. The <a href="https://webpages.sou.edu/~sahrk/docs/superfund_500m_020719.pdf">Superfund grid</a> is a solution for the sphere surface.</p></article><nav class="docs-footer"><a class="docs-footer-prevpage" href="../tutorial/">« Tutorial</a><a class="docs-footer-nextpage" href="../api/">API »</a><div class="flexbox-break"></div><p class="footer-message">Powered by <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> and the <a href="https://julialang.org/">Julia Programming Language</a>.</p></nav></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> version 0.27.24 on <span class="colophon-date" title="Monday 27 November 2023 10:18">Monday 27 November 2023</span>. Using Julia version 1.9.4.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html> |
Oops, something went wrong.