Skip to content

Commit

Permalink
Built site for gh-pages
Browse files Browse the repository at this point in the history
  • Loading branch information
Quarto GHA Workflow Runner committed Apr 8, 2024
1 parent 688b91f commit d6868e9
Show file tree
Hide file tree
Showing 64 changed files with 148,197 additions and 149,219 deletions.
2 changes: 1 addition & 1 deletion .nojekyll
Original file line number Diff line number Diff line change
@@ -1 +1 @@
7516b269
64b32d04
136 changes: 68 additions & 68 deletions 01-geodata.html

Large diffs are not rendered by default.

106 changes: 53 additions & 53 deletions 02-geoviz.html

Large diffs are not rendered by default.

242 changes: 121 additions & 121 deletions 02-geoviz_files/figure-html/cell-10-output-2.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
242 changes: 121 additions & 121 deletions 02-geoviz_files/figure-html/cell-12-output-2.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2,691 changes: 1,341 additions & 1,350 deletions 02-geoviz_files/figure-html/cell-19-output-2.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 3 additions & 3 deletions 02-geoviz_files/figure-html/cell-21-output-2.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
92 changes: 46 additions & 46 deletions 03-geoio.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head>

<meta charset="utf-8">
<meta name="generator" content="quarto-1.4.551">
<meta name="generator" content="quarto-1.4.553">

<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">

Expand Down Expand Up @@ -375,7 +375,7 @@ <h2 data-number="3.1" class="anchored" data-anchor-id="geoio.jl"><span class="he
<section id="file-formats" class="level2" data-number="3.2">
<h2 data-number="3.2" class="anchored" data-anchor-id="file-formats"><span class="header-section-number">3.2</span> File formats</h2>
<p>Most GIS file formats do <strong>not</strong> preserve topological information. This means that neighborhood information is lost as soon as geometries are saved to disk. To illustrate this issue, we consider a geotable over a <code>CartesianGrid</code>:</p>
<div id="e6128b7a" class="cell" data-execution_count="2">
<div id="6ee3bf08" class="cell" data-execution_count="2">
<div class="sourceCode cell-code" id="cb3"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a>geotable <span class="op">=</span> <span class="fu">georef</span>((A<span class="op">=</span><span class="fu">rand</span>(<span class="fl">10</span>, <span class="fl">10</span>), B<span class="op">=</span><span class="fu">rand</span>(<span class="fl">10</span>, <span class="fl">10</span>)))</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
<div class="cell-output cell-output-display" data-execution_count="3">
<div>
Expand All @@ -400,53 +400,53 @@ <h2 data-number="3.2" class="anchored" data-anchor-id="file-formats"><span class
</thead>
<tbody>
<tr class="odd">
<td style="text-align: center;">0.228332</td>
<td style="text-align: center;">0.632767</td>
<td style="text-align: center;">0.078772</td>
<td style="text-align: center;">0.434415</td>
<td style="text-align: center;">Quadrangle((0.0, 0.0), ..., (0.0, 1.0))</td>
</tr>
<tr class="even">
<td style="text-align: center;">0.117733</td>
<td style="text-align: center;">0.290075</td>
<td style="text-align: center;">0.4131</td>
<td style="text-align: center;">0.380598</td>
<td style="text-align: center;">Quadrangle((1.0, 0.0), ..., (1.0, 1.0))</td>
</tr>
<tr class="odd">
<td style="text-align: center;">0.0288964</td>
<td style="text-align: center;">0.459408</td>
<td style="text-align: center;">0.663382</td>
<td style="text-align: center;">0.107405</td>
<td style="text-align: center;">Quadrangle((2.0, 0.0), ..., (2.0, 1.0))</td>
</tr>
<tr class="even">
<td style="text-align: center;">0.628475</td>
<td style="text-align: center;">0.9003</td>
<td style="text-align: center;">0.119049</td>
<td style="text-align: center;">0.783107</td>
<td style="text-align: center;">Quadrangle((3.0, 0.0), ..., (3.0, 1.0))</td>
</tr>
<tr class="odd">
<td style="text-align: center;">0.787184</td>
<td style="text-align: center;">0.112076</td>
<td style="text-align: center;">0.171582</td>
<td style="text-align: center;">0.362074</td>
<td style="text-align: center;">Quadrangle((4.0, 0.0), ..., (4.0, 1.0))</td>
</tr>
<tr class="even">
<td style="text-align: center;">0.698581</td>
<td style="text-align: center;">0.620694</td>
<td style="text-align: center;">0.0182302</td>
<td style="text-align: center;">0.416612</td>
<td style="text-align: center;">Quadrangle((5.0, 0.0), ..., (5.0, 1.0))</td>
</tr>
<tr class="odd">
<td style="text-align: center;">0.401641</td>
<td style="text-align: center;">0.0773588</td>
<td style="text-align: center;">0.652018</td>
<td style="text-align: center;">0.524396</td>
<td style="text-align: center;">Quadrangle((6.0, 0.0), ..., (6.0, 1.0))</td>
</tr>
<tr class="even">
<td style="text-align: center;">0.0622764</td>
<td style="text-align: center;">0.434532</td>
<td style="text-align: center;">0.26381</td>
<td style="text-align: center;">0.201664</td>
<td style="text-align: center;">Quadrangle((7.0, 0.0), ..., (7.0, 1.0))</td>
</tr>
<tr class="odd">
<td style="text-align: center;">0.410792</td>
<td style="text-align: center;">0.165255</td>
<td style="text-align: center;">0.507805</td>
<td style="text-align: center;">0.847819</td>
<td style="text-align: center;">Quadrangle((8.0, 0.0), ..., (8.0, 1.0))</td>
</tr>
<tr class="even">
<td style="text-align: center;">0.829809</td>
<td style="text-align: center;">0.994033</td>
<td style="text-align: center;">0.757766</td>
<td style="text-align: center;">0.310358</td>
<td style="text-align: center;">Quadrangle((9.0, 0.0), ..., (9.0, 1.0))</td>
</tr>
<tr class="odd">
Expand All @@ -460,7 +460,7 @@ <h2 data-number="3.2" class="anchored" data-anchor-id="file-formats"><span class
</div>
</div>
<p>If we save the geotable to a <code>.geojson</code> file on disk, and then load it back, we observe that the <code>CartesianGrid</code> gets replaced by a <code>GeometrySet</code>:</p>
<div id="06c09552" class="cell" data-execution_count="3">
<div id="70061573" class="cell" data-execution_count="3">
<div class="sourceCode cell-code" id="cb4"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="im">using</span> <span class="bu">GeoIO</span></span>
<span id="cb4-2"><a href="#cb4-2" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb4-3"><a href="#cb4-3" aria-hidden="true" tabindex="-1"></a>fname <span class="op">=</span> <span class="fu">tempname</span>() <span class="op">*</span> <span class="st">".geojson"</span></span>
Expand Down Expand Up @@ -491,53 +491,53 @@ <h2 data-number="3.2" class="anchored" data-anchor-id="file-formats"><span class
</thead>
<tbody>
<tr class="odd">
<td style="text-align: center;">0.228332</td>
<td style="text-align: center;">0.632767</td>
<td style="text-align: center;">0.078772</td>
<td style="text-align: center;">0.434415</td>
<td style="text-align: center;">PolyArea((0.0, 0.0), ..., (0.0, 1.0))</td>
</tr>
<tr class="even">
<td style="text-align: center;">0.117733</td>
<td style="text-align: center;">0.290075</td>
<td style="text-align: center;">0.4131</td>
<td style="text-align: center;">0.380598</td>
<td style="text-align: center;">PolyArea((1.0, 0.0), ..., (1.0, 1.0))</td>
</tr>
<tr class="odd">
<td style="text-align: center;">0.0288964</td>
<td style="text-align: center;">0.459408</td>
<td style="text-align: center;">0.663382</td>
<td style="text-align: center;">0.107405</td>
<td style="text-align: center;">PolyArea((2.0, 0.0), ..., (2.0, 1.0))</td>
</tr>
<tr class="even">
<td style="text-align: center;">0.628475</td>
<td style="text-align: center;">0.9003</td>
<td style="text-align: center;">0.119049</td>
<td style="text-align: center;">0.783107</td>
<td style="text-align: center;">PolyArea((3.0, 0.0), ..., (3.0, 1.0))</td>
</tr>
<tr class="odd">
<td style="text-align: center;">0.787184</td>
<td style="text-align: center;">0.112076</td>
<td style="text-align: center;">0.171582</td>
<td style="text-align: center;">0.362074</td>
<td style="text-align: center;">PolyArea((4.0, 0.0), ..., (4.0, 1.0))</td>
</tr>
<tr class="even">
<td style="text-align: center;">0.698581</td>
<td style="text-align: center;">0.620694</td>
<td style="text-align: center;">0.0182302</td>
<td style="text-align: center;">0.416612</td>
<td style="text-align: center;">PolyArea((5.0, 0.0), ..., (5.0, 1.0))</td>
</tr>
<tr class="odd">
<td style="text-align: center;">0.401641</td>
<td style="text-align: center;">0.0773588</td>
<td style="text-align: center;">0.652018</td>
<td style="text-align: center;">0.524396</td>
<td style="text-align: center;">PolyArea((6.0, 0.0), ..., (6.0, 1.0))</td>
</tr>
<tr class="even">
<td style="text-align: center;">0.0622764</td>
<td style="text-align: center;">0.434532</td>
<td style="text-align: center;">0.26381</td>
<td style="text-align: center;">0.201664</td>
<td style="text-align: center;">PolyArea((7.0, 0.0), ..., (7.0, 1.0))</td>
</tr>
<tr class="odd">
<td style="text-align: center;">0.410792</td>
<td style="text-align: center;">0.165255</td>
<td style="text-align: center;">0.507805</td>
<td style="text-align: center;">0.847819</td>
<td style="text-align: center;">PolyArea((8.0, 0.0), ..., (8.0, 1.0))</td>
</tr>
<tr class="even">
<td style="text-align: center;">0.829809</td>
<td style="text-align: center;">0.994033</td>
<td style="text-align: center;">0.757766</td>
<td style="text-align: center;">0.310358</td>
<td style="text-align: center;">PolyArea((9.0, 0.0), ..., (9.0, 1.0))</td>
</tr>
<tr class="odd">
Expand All @@ -551,7 +551,7 @@ <h2 data-number="3.2" class="anchored" data-anchor-id="file-formats"><span class
</div>
</div>
<p>Other file formats such as <code>.ply</code> and <code>.msh</code> are widely used in <a href="https://en.wikipedia.org/wiki/Computer_graphics">computer graphics</a> to save geospatial data over meshes, and preserve topological information:</p>
<div id="35c1fc10" class="cell" data-execution_count="4">
<div id="ba856c6d" class="cell" data-execution_count="4">
<div class="sourceCode cell-code" id="cb5"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a>beethoven <span class="op">=</span> GeoIO.<span class="fu">load</span>(<span class="st">"data/beethoven.ply"</span>)</span>
<span id="cb5-2"><a href="#cb5-2" aria-hidden="true" tabindex="-1"></a></span>
<span id="cb5-3"><a href="#cb5-3" aria-hidden="true" tabindex="-1"></a><span class="fu">viz</span>(beethoven.geometry)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
Expand All @@ -575,7 +575,7 @@ <h2 data-number="3.3" class="anchored" data-anchor-id="rationale"><span class="h
<p>Do we gain anything by not adhering to <strong>programming interfaces</strong>?</p>
</blockquote>
<p>The answer is an emphatic <strong>YES</strong>! It means that we have total freedom to innovate and improve the representation of various geometries and geospatial domains with Julia’s amazing type system. To give a simple example, let’s take a look at the <code>Triangle</code> geometry:</p>
<div id="2de642b6" class="cell" data-execution_count="5">
<div id="5c43556b" class="cell" data-execution_count="5">
<div class="sourceCode cell-code" id="cb7"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb7-1"><a href="#cb7-1" aria-hidden="true" tabindex="-1"></a>t <span class="op">=</span> <span class="fu">Triangle</span>((<span class="fl">0</span>, <span class="fl">0</span>), (<span class="fl">1</span>, <span class="fl">0</span>), (<span class="fl">1</span>, <span class="fl">1</span>))</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
<div class="cell-output cell-output-display" data-execution_count="6">
<pre><code>Triangle{2,Float64}
Expand All @@ -585,7 +585,7 @@ <h2 data-number="3.3" class="anchored" data-anchor-id="rationale"><span class="h
</div>
</div>
<p>If we treated this geometry as a generic polygon represented by a vector of vertices in memory, like it is done in <a href="https://github.com/JuliaGeo/GeoInterface.jl">GeoInterface.jl</a> for example, we wouldn’t be able to dispatch optimized code that is only valid for a triangle:</p>
<div id="fd110131" class="cell" data-execution_count="6">
<div id="5c645ebd" class="cell" data-execution_count="6">
<div class="sourceCode cell-code" id="cb9"><pre class="sourceCode julia code-with-copy"><code class="sourceCode julia"><span id="cb9-1"><a href="#cb9-1" aria-hidden="true" tabindex="-1"></a><span class="pp">@code_llvm</span> <span class="fu">isconvex</span>(t)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
<div class="cell-output cell-output-stdout">
<pre><code>; @ /home/runner/.julia/packages/Meshes/inUjk/src/predicates/isconvex.jl:57 within `isconvex`
Expand Down
6 changes: 3 additions & 3 deletions 03-geoio_files/figure-html/cell-5-output-2.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit d6868e9

Please sign in to comment.