Skip to content

Commit 05e3285

Browse files
author
Quarto GHA Workflow Runner
committed
Built site for gh-pages
1 parent 61f4029 commit 05e3285

File tree

67 files changed

+117622
-118702
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

67 files changed

+117622
-118702
lines changed

.nojekyll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
a5c058d4
1+
64e044f2

01-geodata.html

Lines changed: 67 additions & 67 deletions
Large diffs are not rendered by default.

02-geoviz.html

Lines changed: 44 additions & 44 deletions
Large diffs are not rendered by default.

02-geoviz_files/figure-html/cell-10-output-2.svg

Lines changed: 123 additions & 123 deletions
Loading

02-geoviz_files/figure-html/cell-12-output-2.svg

Lines changed: 121 additions & 122 deletions
Loading

02-geoviz_files/figure-html/cell-19-output-2.svg

Lines changed: 3 additions & 3 deletions
Loading

02-geoviz_files/figure-html/cell-20-output-2.svg

Lines changed: 1353 additions & 1347 deletions
Loading

02-geoviz_files/figure-html/cell-21-output-2.svg

Lines changed: 3 additions & 3 deletions
Loading

02-geoviz_files/figure-html/cell-23-output-2.svg

Lines changed: 95 additions & 95 deletions
Loading

03-geoio.html

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head>
33

44
<meta charset="utf-8">
5-
<meta name="generator" content="quarto-1.5.56">
5+
<meta name="generator" content="quarto-1.5.57">
66

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

@@ -375,7 +375,7 @@ <h2 data-number="3.1" class="anchored" data-anchor-id="geoio.jl"><span class="he
375375
<section id="file-formats" class="level2" data-number="3.2">
376376
<h2 data-number="3.2" class="anchored" data-anchor-id="file-formats"><span class="header-section-number">3.2</span> File formats</h2>
377377
<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 grid:</p>
378-
<div id="42465da5" class="cell" data-execution_count="2">
378+
<div id="ee11c935" class="cell" data-execution_count="2">
379379
<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><span class="im">using</span> <span class="bu">GeoIO</span></span>
380380
<span id="cb3-2"><a href="#cb3-2" aria-hidden="true" tabindex="-1"></a></span>
381381
<span id="cb3-3"><a href="#cb3-3" aria-hidden="true" tabindex="-1"></a>geotable <span class="op">=</span> GeoIO.<span class="fu">load</span>(<span class="st">"data/earth.tif"</span>)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
@@ -384,7 +384,7 @@ <h2 data-number="3.2" class="anchored" data-anchor-id="file-formats"><span class
384384
<caption>11664×2 GeoTable over 108×108 TransformedGrid</caption>
385385
<thead>
386386
<tr class="header">
387-
<th style="text-align: center;" data-quarto-table-cell-role="th">COLOR</th>
387+
<th style="text-align: center;" data-quarto-table-cell-role="th">color</th>
388388
<th style="text-align: center;" data-quarto-table-cell-role="th">geometry</th>
389389
</tr>
390390
<tr class="odd subheader">
@@ -445,8 +445,8 @@ <h2 data-number="3.2" class="anchored" data-anchor-id="file-formats"><span class
445445
</table>
446446
</div>
447447
</div>
448-
<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>
449-
<div id="cbac4062" class="cell" data-execution_count="3">
448+
<p>If we save the geotable to a <code>.geojson</code> file on disk, and then load it back, we observe that the grid gets replaced by a geometry set:</p>
449+
<div id="c9ca3d1b" class="cell" data-execution_count="3">
450450
<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>fname <span class="op">=</span> <span class="fu">tempname</span>() <span class="op">*</span> <span class="st">".geojson"</span></span>
451451
<span id="cb4-2"><a href="#cb4-2" aria-hidden="true" tabindex="-1"></a></span>
452452
<span id="cb4-3"><a href="#cb4-3" aria-hidden="true" tabindex="-1"></a>GeoIO.<span class="fu">save</span>(fname, geotable)</span>
@@ -457,7 +457,7 @@ <h2 data-number="3.2" class="anchored" data-anchor-id="file-formats"><span class
457457
<caption>11664×2 GeoTable over 11664 GeometrySet</caption>
458458
<thead>
459459
<tr class="header">
460-
<th style="text-align: center;" data-quarto-table-cell-role="th">COLOR</th>
460+
<th style="text-align: center;" data-quarto-table-cell-role="th">color</th>
461461
<th style="text-align: center;" data-quarto-table-cell-role="th">geometry</th>
462462
</tr>
463463
<tr class="odd subheader">
@@ -519,7 +519,7 @@ <h2 data-number="3.2" class="anchored" data-anchor-id="file-formats"><span class
519519
</div>
520520
</div>
521521
<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>
522-
<div id="8b76916b" class="cell" data-execution_count="4">
522+
<div id="2291b0d8" class="cell" data-execution_count="4">
523523
<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>
524524
<span id="cb5-2"><a href="#cb5-2" aria-hidden="true" tabindex="-1"></a></span>
525525
<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>
@@ -543,7 +543,7 @@ <h2 data-number="3.3" class="anchored" data-anchor-id="rationale"><span class="h
543543
<p>Do we gain anything by not adhering to <strong>programming interfaces</strong>?</p>
544544
</blockquote>
545545
<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>
546-
<div id="261085f9" class="cell" data-execution_count="5">
546+
<div id="486a2f5b" class="cell" data-execution_count="5">
547547
<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>
548548
<div class="cell-output cell-output-display" data-execution_count="6">
549549
<pre><code>Triangle
@@ -553,11 +553,12 @@ <h2 data-number="3.3" class="anchored" data-anchor-id="rationale"><span class="h
553553
</div>
554554
</div>
555555
<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>
556-
<div id="2e267c69" class="cell" data-execution_count="6">
556+
<div id="b27c295f" class="cell" data-execution_count="6">
557557
<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>
558558
<div class="cell-output cell-output-stdout">
559-
<pre><code>; @ /home/runner/.julia/packages/Meshes/SJejL/src/predicates/isconvex.jl:57 within `isconvex`
560-
define i8 @julia_isconvex_4468([1 x [3 x [1 x [1 x [2 x [1 x double]]]]]]* nocapture readonly %0) #0 {
559+
<pre><code>; Function Signature: isconvex(Meshes.Ngon{3, Meshes.𝔼{2}, CoordRefSystems.Cartesian{CoordRefSystems.NoDatum, 2, Unitful.Quantity{Float64, Unitful.Dimensions{(Unitful.Dimension{:Length}(power=Base.Rational{Int64}(num=1, den=1)),)}(), Unitful.FreeUnits{(Unitful.Unit{:Meter, Unitful.Dimensions{(Unitful.Dimension{:Length}(power=Base.Rational{Int64}(num=1, den=1)),)}()}(tens=0, power=Base.Rational{Int64}(num=1, den=1)),), Unitful.Dimensions{(Unitful.Dimension{:Length}(power=Base.Rational{Int64}(num=1, den=1)),)}(), nothing}}}})
560+
; @ /home/runner/.julia/packages/Meshes/lAdY6/src/predicates/isconvex.jl:57 within `isconvex`
561+
define i8 @julia_isconvex_27603(ptr nocapture readonly %0) #0 {
561562
top:
562563
ret i8 1
563564
}</code></pre>

0 commit comments

Comments
 (0)