This is an automated email from the ASF dual-hosted git repository.
github-bot pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/sedona-db.git
The following commit(s) were added to refs/heads/asf-site by this push:
new ffeb9c1 update documentation for tag dev-snapshot-main
ffeb9c1 is described below
commit ffeb9c11e04b073801761275b34bc9487694aa46
Author: GitHub Actions <[email protected]>
AuthorDate: Fri Sep 12 18:22:18 2025 +0000
update documentation for tag dev-snapshot-main
---
dev-snapshot-main/404.html | 25 +-
dev-snapshot-main/development/index.html | 25 +-
dev-snapshot-main/geopandas-interop/index.html | 25 +-
dev-snapshot-main/index.html | 31 +-
dev-snapshot-main/overture-examples/index.html | 25 +-
.../index.html | 656 ++++++++++++++++-----
dev-snapshot-main/quickstart-cli/index.html | 31 +-
dev-snapshot-main/quickstart-python/index.html | 25 +-
dev-snapshot-main/reference/python/index.html | 25 +-
.../reference/read-parquet-files/index.html | 25 +-
dev-snapshot-main/reference/sql-joins/index.html | 25 +-
dev-snapshot-main/reference/sql/index.html | 25 +-
dev-snapshot-main/search/search_index.json | 2 +-
dev-snapshot-main/tags/index.html | 25 +-
14 files changed, 798 insertions(+), 172 deletions(-)
diff --git a/dev-snapshot-main/404.html b/dev-snapshot-main/404.html
index 6ed8e8b..6403073 100644
--- a/dev-snapshot-main/404.html
+++ b/dev-snapshot-main/404.html
@@ -213,7 +213,7 @@
<li class="md-tabs__item">
- <a href="/quickstart-cli/" class="md-tabs__link">
+ <a href="/programming-guide/" class="md-tabs__link">
@@ -433,6 +433,29 @@
+ <li class="md-nav__item">
+ <a href="/programming-guide/" class="md-nav__link">
+
+
+
+ <span class="md-ellipsis">
+ SedonaDB Guide
+
+ </span>
+
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
<li class="md-nav__item">
<a href="/quickstart-cli/" class="md-nav__link">
diff --git a/dev-snapshot-main/development/index.html
b/dev-snapshot-main/development/index.html
index cd10ed4..112131e 100644
--- a/dev-snapshot-main/development/index.html
+++ b/dev-snapshot-main/development/index.html
@@ -232,7 +232,7 @@
<li class="md-tabs__item md-tabs__item--active">
- <a href="../quickstart-cli/" class="md-tabs__link">
+ <a href="../programming-guide/" class="md-tabs__link">
@@ -457,6 +457,29 @@
+ <li class="md-nav__item">
+ <a href="../programming-guide/" class="md-nav__link">
+
+
+
+ <span class="md-ellipsis">
+ SedonaDB Guide
+
+ </span>
+
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
<li class="md-nav__item">
<a href="../quickstart-cli/" class="md-nav__link">
diff --git a/dev-snapshot-main/geopandas-interop/index.html
b/dev-snapshot-main/geopandas-interop/index.html
index 27da460..4d888b2 100644
--- a/dev-snapshot-main/geopandas-interop/index.html
+++ b/dev-snapshot-main/geopandas-interop/index.html
@@ -226,7 +226,7 @@
<li class="md-tabs__item">
- <a href="../quickstart-cli/" class="md-tabs__link">
+ <a href="../programming-guide/" class="md-tabs__link">
@@ -446,6 +446,29 @@
+ <li class="md-nav__item">
+ <a href="../programming-guide/" class="md-nav__link">
+
+
+
+ <span class="md-ellipsis">
+ SedonaDB Guide
+
+ </span>
+
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
<li class="md-nav__item">
<a href="../quickstart-cli/" class="md-nav__link">
diff --git a/dev-snapshot-main/index.html b/dev-snapshot-main/index.html
index 81b8cbd..83f0f35 100644
--- a/dev-snapshot-main/index.html
+++ b/dev-snapshot-main/index.html
@@ -9,7 +9,7 @@
- <link rel="next" href="quickstart-cli/">
+ <link rel="next" href="programming-guide/">
<link rel="icon" href="image/sedona_logo_symbol.png">
@@ -230,7 +230,7 @@
<li class="md-tabs__item">
- <a href="quickstart-cli/" class="md-tabs__link">
+ <a href="programming-guide/" class="md-tabs__link">
@@ -530,6 +530,29 @@
+ <li class="md-nav__item">
+ <a href="programming-guide/" class="md-nav__link">
+
+
+
+ <span class="md-ellipsis">
+ SedonaDB Guide
+
+ </span>
+
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
<li class="md-nav__item">
<a href="quickstart-cli/" class="md-nav__link">
@@ -1145,13 +1168,13 @@
- <a href="quickstart-cli/" class="md-footer__link
md-footer__link--next" aria-label="Next: CLI Quickstart">
+ <a href="programming-guide/" class="md-footer__link
md-footer__link--next" aria-label="Next: SedonaDB Guide">
<div class="md-footer__title">
<span class="md-footer__direction">
Next
</span>
<div class="md-ellipsis">
- CLI Quickstart
+ SedonaDB Guide
</div>
</div>
<div class="md-footer__button md-icon">
diff --git a/dev-snapshot-main/overture-examples/index.html
b/dev-snapshot-main/overture-examples/index.html
index 8c22073..d35fa53 100644
--- a/dev-snapshot-main/overture-examples/index.html
+++ b/dev-snapshot-main/overture-examples/index.html
@@ -226,7 +226,7 @@
<li class="md-tabs__item">
- <a href="../quickstart-cli/" class="md-tabs__link">
+ <a href="../programming-guide/" class="md-tabs__link">
@@ -446,6 +446,29 @@
+ <li class="md-nav__item">
+ <a href="../programming-guide/" class="md-nav__link">
+
+
+
+ <span class="md-ellipsis">
+ SedonaDB Guide
+
+ </span>
+
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
<li class="md-nav__item">
<a href="../quickstart-cli/" class="md-nav__link">
diff --git a/dev-snapshot-main/geopandas-interop/index.html
b/dev-snapshot-main/programming-guide/index.html
similarity index 96%
copy from dev-snapshot-main/geopandas-interop/index.html
copy to dev-snapshot-main/programming-guide/index.html
index 27da460..c0f05e0 100644
--- a/dev-snapshot-main/geopandas-interop/index.html
+++ b/dev-snapshot-main/programming-guide/index.html
@@ -8,6 +8,10 @@
+ <link rel="prev" href="..">
+
+
+ <link rel="next" href="../quickstart-cli/">
<link rel="icon" href="../image/sedona_logo_symbol.png">
@@ -15,7 +19,7 @@
- <title>GeoPandas interoperability - SedonaDB</title>
+ <title>SedonaDB Guide - SedonaDB</title>
@@ -80,7 +84,7 @@
<div data-md-component="skip">
- <a href="#geopandas-interoperability" class="md-skip">
+ <a href="#sedonadb-guide" class="md-skip">
Skip to content
</a>
@@ -119,7 +123,7 @@
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
- GeoPandas interoperability
+ SedonaDB Guide
</span>
</div>
@@ -222,11 +226,13 @@
+
+
- <li class="md-tabs__item">
- <a href="../quickstart-cli/" class="md-tabs__link">
+ <li class="md-tabs__item md-tabs__item--active">
+ <a href="./" class="md-tabs__link">
@@ -401,6 +407,8 @@
+
+
@@ -408,19 +416,22 @@
+
+
+
- <li class="md-nav__item md-nav__item--nested">
+ <li class="md-nav__item md-nav__item--active md-nav__item--section
md-nav__item--nested">
- <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2">
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2"
checked>
- <label class="md-nav__link" for="__nav_2" id="__nav_2_label"
tabindex="0">
+ <label class="md-nav__link" for="__nav_2" id="__nav_2_label"
tabindex="">
@@ -433,7 +444,7 @@
<span class="md-nav__icon md-icon"></span>
</label>
- <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label"
aria-expanded="false">
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label"
aria-expanded="true">
<label class="md-nav__title" for="__nav_2">
<span class="md-nav__icon md-icon"></span>
SedonaDB Guides
@@ -444,6 +455,107 @@
+
+
+
+
+ <li class="md-nav__item md-nav__item--active">
+
+ <input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
+
+
+
+
+
+ <label class="md-nav__link md-nav__link--active" for="__toc">
+
+
+
+ <span class="md-ellipsis">
+ SedonaDB Guide
+
+ </span>
+
+
+ <span class="md-nav__icon md-icon"></span>
+ </label>
+
+ <a href="./" class="md-nav__link md-nav__link--active">
+
+
+
+ <span class="md-ellipsis">
+ SedonaDB Guide
+
+ </span>
+
+
+ </a>
+
+
+
+<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
+
+
+
+
+
+
+ <label class="md-nav__title" for="__toc">
+ <span class="md-nav__icon md-icon"></span>
+ Table of contents
+ </label>
+ <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
+
+ <li class="md-nav__item">
+ <a href="#establish-sedonadb-connection" class="md-nav__link">
+ <span class="md-ellipsis">
+ Establish SedonaDB connection
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#create-sedonadb-dataframe" class="md-nav__link">
+ <span class="md-ellipsis">
+ Create SedonaDB DataFrame
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#spatial-queries" class="md-nav__link">
+ <span class="md-ellipsis">
+ Spatial queries
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#files" class="md-nav__link">
+ <span class="md-ellipsis">
+ Files
+ </span>
+ </a>
+
+</li>
+
+ </ul>
+
+</nav>
+
+ </li>
+
+
+
+
+
+
+
+
<li class="md-nav__item">
@@ -853,27 +965,36 @@
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
- <a href="#read-a-geojson-file-with-geopandas" class="md-nav__link">
+ <a href="#establish-sedonadb-connection" class="md-nav__link">
+ <span class="md-ellipsis">
+ Establish SedonaDB connection
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#create-sedonadb-dataframe" class="md-nav__link">
<span class="md-ellipsis">
- Read a GeoJSON file with GeoPandas
+ Create SedonaDB DataFrame
</span>
</a>
</li>
<li class="md-nav__item">
- <a href="#convert-the-geopandas-dataframe-to-a-sedonadb-dataframe"
class="md-nav__link">
+ <a href="#spatial-queries" class="md-nav__link">
<span class="md-ellipsis">
- Convert the GeoPandas DataFrame to a SedonaDB DataFrame
+ Spatial queries
</span>
</a>
</li>
<li class="md-nav__item">
- <a href="#read-a-flatgeobuf-file" class="md-nav__link">
+ <a href="#files" class="md-nav__link">
<span class="md-ellipsis">
- Read a FlatGeobuf file
+ Files
</span>
</a>
@@ -895,7 +1016,7 @@
- <a
href="https://github.com/apache/sedona-db/edit/master/docs/geopandas-interop.ipynb"
title="Edit this page" class="md-content__button md-icon" rel="edit">
+ <a
href="https://github.com/apache/sedona-db/edit/master/docs/programming-guide.ipynb"
title="Edit this page" class="md-content__button md-icon" rel="edit">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M10
20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4zm10.2-7c.1 0
.3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1
23H12v-2.1l6.1-6.1z"></path></svg>
</a>
@@ -1339,19 +1460,21 @@ span.linenos.special { color: #000000;
background-color: #ffffc0; padding-left:
</style>
<!-- End of mermaid configuration --><div class="jupyter-wrapper">
<div class="jp-Notebook" data-jp-theme-light="true"
data-jp-theme-name="JupyterLab Light">
-<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell"
id="cell-id=caa5f2d5-28bb-4ce9-8a11-92646b3a9f6c">
+<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell"
id="cell-id=1932983e-1cd2-41d0-a5eb-0537b3ac3feb">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt
jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput"
data-mime-type="text/markdown">
-<h1 id="geopandas-interoperability">GeoPandas interoperability<a
class="anchor-link" href="#geopandas-interoperability">¶</a></h1><p>This
example shows how to read a GeoJSON file with GeoPandas and then convert the
GeoPandas DataFrame to a SedonaDB DataFrame.</p>
-<p>Any file type that can be read by GeoPandas can also be read into a
SedonaDB DataFrame!</p>
+<h1 id="sedonadb-guide">SedonaDB Guide<a class="anchor-link"
href="#sedonadb-guide">¶</a></h1><p>This page explains how to process vector
data with SedonaDB.</p>
+<p>You will learn how to create SedonaDB DataFrames, run spatial queries, and
perform I/O operations with various types of files.</p>
+<p>Let’s start by establishing a SedonaDB connection.</p>
+<h2 id="establish-sedonadb-connection">Establish SedonaDB connection<a
class="anchor-link" href="#establish-sedonadb-connection">¶</a></h2><p>Here’s
how to create the SedonaDB connection:</p>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
-<div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs"
id="cell-id=0434bead-2628-4844-a3f6-2f9c15a21899">
+<div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs"
id="cell-id=53c3b7a8-c42a-407a-a454-6ee1e943fbcc">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
@@ -1370,12 +1493,10 @@ span.linenos.special { color: #000000;
background-color: #ffffc0; padding-left:
</clipboard-copy>
</div>
<div class="highlight-ipynb hl-python"><pre><span></span><span
class="kn">import</span><span class="w"> </span><span class="nn">sedonadb</span>
-<span class="kn">import</span><span class="w"> </span><span
class="nn">geopandas</span><span class="w"> </span><span
class="k">as</span><span class="w"> </span><span class="nn">gpd</span>
<span class="n">sd</span> <span class="o">=</span> <span
class="n">sedonadb</span><span class="o">.</span><span
class="n">connect</span><span class="p">()</span>
</pre></div>
<div class="clipboard-copy-txt" id="cell-1">import sedonadb
-import geopandas as gpd
sd = sedonadb.connect()</div>
</div>
@@ -1384,23 +1505,25 @@ sd = sedonadb.connect()</div>
</div>
</div>
</div>
-<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell"
id="cell-id=618b5d1d-ac2b-4786-ae5b-0d10efd6a8d4">
+<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell"
id="cell-id=7aeaa60f-2325-418c-8e72-4344bd4a75fe">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt
jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput"
data-mime-type="text/markdown">
-<h3 id="read-a-geojson-file-with-geopandas">Read a GeoJSON file with
GeoPandas<a class="anchor-link"
href="#read-a-geojson-file-with-geopandas">¶</a></h3>
+<p>Now let’s see how to create SedonaDB DataFrames.</p>
+<h2 id="create-sedonadb-dataframe">Create SedonaDB DataFrame<a
class="anchor-link"
href="#create-sedonadb-dataframe">¶</a></h2><p><strong>Manually creating
SedonaDB DataFrame</strong></p>
+<p>Here’s how to manually create a SedonaDB DataFrame:</p>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
-<div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs"
id="cell-id=2691bd24-9b2d-4cf9-958d-4ef01d967cb3">
+<div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs"
id="cell-id=b3377767-d747-407c-92c0-8786c1998131">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
-<div class="jp-InputPrompt jp-InputArea-prompt">In [9]:</div><div
class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+<div class="jp-InputPrompt jp-InputArea-prompt">In [3]:</div><div
class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="CodeMirror cm-s-jupyter">
<div class="zeroclipboard-container">
<clipboard-copy ,="" aria-label="Copy to Clipboard" for="cell-2">
@@ -1413,21 +1536,42 @@ sd = sedonadb.connect()</div>
</div>
</clipboard-copy>
</div>
-<div class="highlight-ipynb hl-python"><pre><span></span><span
class="n">gdf</span> <span class="o">=</span> <span class="n">gpd</span><span
class="o">.</span><span class="n">read_file</span><span class="p">(</span><span
class="s2">"some_data.json"</span><span class="p">)</span>
+<div class="highlight-ipynb hl-python"><pre><span></span><span
class="n">df</span> <span class="o">=</span> <span class="n">sd</span><span
class="o">.</span><span class="n">sql</span><span class="p">(</span><span
class="s2">"""</span>
+<span class="s2">SELECT * FROM (VALUES</span>
+<span class="s2"> ('one', ST_GeomFromWkt('POINT(1 2)')),</span>
+<span class="s2"> ('two', ST_GeomFromWkt('POLYGON((-74.0 40.7, -74.0 40.8,
-73.9 40.8, -73.9 40.7, -74.0 40.7))')),</span>
+<span class="s2"> ('three', ST_GeomFromWkt('LINESTRING(-74.0060 40.7128,
-73.9352 40.7306, -73.8561 40.8484)')))</span>
+<span class="s2">AS t(val, point)"""</span><span class="p">)</span>
</pre></div>
-<div class="clipboard-copy-txt" id="cell-2">gdf =
gpd.read_file("some_data.json")</div>
+<div class="clipboard-copy-txt" id="cell-2">df = sd.sql("""
+SELECT * FROM (VALUES
+ ('one', ST_GeomFromWkt('POINT(1 2)')),
+ ('two', ST_GeomFromWkt('POLYGON((-74.0 40.7, -74.0 40.8, -73.9 40.8, -73.9
40.7, -74.0 40.7))')),
+ ('three', ST_GeomFromWkt('LINESTRING(-74.0060 40.7128, -73.9352 40.7306,
-73.8561 40.8484)')))
+AS t(val, point)""")</div>
</div>
</div>
</div>
</div>
</div>
+</div>
+<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell"
id="cell-id=0f9e1319-2e7a-4d98-9df0-47a9a73cfff3">
+<div class="jp-Cell-inputWrapper" tabindex="0">
+<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
+</div>
+<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt
jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput"
data-mime-type="text/markdown">
+<p>Check the type of the DataFrame.</p>
+</div>
+</div>
+</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
-<div class="jp-Cell jp-CodeCell jp-Notebook-cell"
id="cell-id=cd367a73-acd3-41cf-b892-7d863c370d5f">
+<div class="jp-Cell jp-CodeCell jp-Notebook-cell"
id="cell-id=e8be30ab-4818-4db8-bae2-83e973ad1b77">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
-<div class="jp-InputPrompt jp-InputArea-prompt">In [10]:</div><div
class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+<div class="jp-InputPrompt jp-InputArea-prompt">In [4]:</div><div
class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="CodeMirror cm-s-jupyter">
<div class="zeroclipboard-container">
<clipboard-copy ,="" aria-label="Copy to Clipboard" for="cell-3">
@@ -1440,9 +1584,9 @@ sd = sedonadb.connect()</div>
</div>
</clipboard-copy>
</div>
-<div class="highlight-ipynb hl-python"><pre><span></span><span
class="n">gdf</span>
+<div class="highlight-ipynb hl-python"><pre><span></span><span
class="nb">type</span><span class="p">(</span><span class="n">df</span><span
class="p">)</span>
</pre></div>
-<div class="clipboard-copy-txt" id="cell-3">gdf</div>
+<div class="clipboard-copy-txt" id="cell-3">type(df)</div>
</div>
</div>
</div>
@@ -1452,65 +1596,33 @@ sd = sedonadb.connect()</div>
</div>
<div class="jp-OutputArea jp-Cell-outputArea">
<div class="jp-OutputArea-child jp-OutputArea-executeResult">
-<div class="jp-OutputPrompt jp-OutputArea-prompt">Out[10]:</div>
-<div class="jp-RenderedHTMLCommon jp-RenderedHTML jp-OutputArea-output
jp-OutputArea-executeResult" data-mime-type="text/html" tabindex="0">
-<div>
-<style scoped="">
- .dataframe tbody tr th:only-of-type {
- vertical-align: middle;
- }
-
- .dataframe tbody tr th {
- vertical-align: top;
- }
-
- .dataframe thead th {
- text-align: right;
- }
-</style>
-<table border="1" class="dataframe">
-<thead>
-<tr style="text-align: right;">
-<th></th>
-<th>prop0</th>
-<th>prop1</th>
-<th>geometry</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<th>0</th>
-<td>value0</td>
-<td>None</td>
-<td>POINT (102 0.5)</td>
-</tr>
-<tr>
-<th>1</th>
-<td>value1</td>
-<td>0.0</td>
-<td>LINESTRING (102 0, 103 1, 104 0, 105 1)</td>
-</tr>
-<tr>
-<th>2</th>
-<td>value2</td>
-<td>{ "this": "that" }</td>
-<td>POLYGON ((100 0, 101 0, 101 1, 100 1, 100 0))</td>
-</tr>
-</tbody>
-</table>
+<div class="jp-OutputPrompt jp-OutputArea-prompt">Out[4]:</div>
+<div class="jp-RenderedText jp-OutputArea-output jp-OutputArea-executeResult"
data-mime-type="text/plain" tabindex="0">
+<pre>sedonadb.dataframe.DataFrame</pre>
</div>
</div>
</div>
</div>
</div>
</div>
-</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
-<div class="jp-Cell jp-CodeCell jp-Notebook-cell"
id="cell-id=454e08a3-de65-4151-9d29-5d5ee8cf31d3">
+<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell"
id="cell-id=8225ed1f-45a4-4915-a582-8ae191ec53ed">
+<div class="jp-Cell-inputWrapper" tabindex="0">
+<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
+</div>
+<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt
jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput"
data-mime-type="text/markdown">
+<p><strong>Create SedonaDB DataFrame from files in S3</strong></p>
+<p>For most production applications, you will create SedonaDB DataFrames by
reading data from a file. Let’s see how to read GeoParquet files in AWS S3
into a SedonaDB DataFrame.</p>
+</div>
+</div>
+</div>
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
+<div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs"
id="cell-id=151df287-4b2d-433e-9769-c3378df03b1b">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
-<div class="jp-InputPrompt jp-InputArea-prompt">In [11]:</div><div
class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+<div class="jp-InputPrompt jp-InputArea-prompt">In [5]:</div><div
class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="CodeMirror cm-s-jupyter">
<div class="zeroclipboard-container">
<clipboard-copy ,="" aria-label="Copy to Clipboard" for="cell-4">
@@ -1523,54 +1635,41 @@ sd = sedonadb.connect()</div>
</div>
</clipboard-copy>
</div>
-<div class="highlight-ipynb hl-python"><pre><span></span><span
class="n">gdf</span><span class="o">.</span><span class="n">info</span><span
class="p">()</span>
+<div class="highlight-ipynb hl-python"><pre><span></span><span
class="n">sd</span><span class="o">.</span><span
class="n">read_parquet</span><span class="p">(</span>
+ <span
class="s2">"s3://overturemaps-us-west-2/release/2025-08-20.0/theme=divisions/type=division_area/"</span><span
class="p">,</span>
+ <span class="n">options</span><span class="o">=</span><span
class="p">{</span><span class="s2">"aws.skip_signature"</span><span
class="p">:</span> <span class="kc">True</span><span class="p">,</span> <span
class="s2">"aws.region"</span><span class="p">:</span> <span
class="s2">"us-west-2"</span><span class="p">},</span>
+<span class="p">)</span><span class="o">.</span><span
class="n">to_view</span><span class="p">(</span><span
class="s2">"division_area"</span><span class="p">)</span>
</pre></div>
-<div class="clipboard-copy-txt" id="cell-4">gdf.info()</div>
-</div>
-</div>
+<div class="clipboard-copy-txt" id="cell-4">sd.read_parquet(
+
"s3://overturemaps-us-west-2/release/2025-08-20.0/theme=divisions/type=division_area/",
+ options={"aws.skip_signature": True, "aws.region": "us-west-2"},
+).to_view("division_area")</div>
</div>
</div>
-<div class="jp-Cell-outputWrapper">
-<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
-</div>
-<div class="jp-OutputArea jp-Cell-outputArea">
-<div class="jp-OutputArea-child">
-<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
-<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain"
tabindex="0">
-<pre><class 'geopandas.geodataframe.GeoDataFrame'>
-RangeIndex: 3 entries, 0 to 2
-Data columns (total 3 columns):
- # Column Non-Null Count Dtype
---- ------ -------------- -----
- 0 prop0 3 non-null object
- 1 prop1 2 non-null object
- 2 geometry 3 non-null geometry
-dtypes: geometry(1), object(2)
-memory usage: 204.0+ bytes
-</pre>
-</div>
</div>
</div>
</div>
</div>
-</div>
-<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell"
id="cell-id=a5837268-1620-4b2b-bf37-cb6e282daedf">
+<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell"
id="cell-id=858fcc66-816d-4c71-8875-82b74169eccd">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt
jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput"
data-mime-type="text/markdown">
-<h3 id="convert-the-geopandas-dataframe-to-a-sedonadb-dataframe">Convert the
GeoPandas DataFrame to a SedonaDB DataFrame<a class="anchor-link"
href="#convert-the-geopandas-dataframe-to-a-sedonadb-dataframe">¶</a></h3>
+<p>Let’s now run some spatial queries.</p>
+<p><strong>Read from GeoPandas DataFrame</strong></p>
+<p>This section shows how to convert a GeoPandas DataFrame into a SedonaDB
DataFrame.</p>
+<p>Start by reading a FlatGeoBuf file into a GeoPandas DataFrame:</p>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
-<div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs"
id="cell-id=385f6333-411d-4d1f-a09b-8816cccceabc">
+<div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs"
id="cell-id=b81549f2-0f58-49e4-9011-8de6578c2b0e">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
-<div class="jp-InputPrompt jp-InputArea-prompt">In [13]:</div><div
class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+<div class="jp-InputPrompt jp-InputArea-prompt">In [12]:</div><div
class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="CodeMirror cm-s-jupyter">
<div class="zeroclipboard-container">
<clipboard-copy ,="" aria-label="Copy to Clipboard" for="cell-5">
@@ -1583,21 +1682,38 @@ memory usage: 204.0+ bytes
</div>
</clipboard-copy>
</div>
-<div class="highlight-ipynb hl-python"><pre><span></span><span
class="n">df</span> <span class="o">=</span> <span class="n">sd</span><span
class="o">.</span><span class="n">create_data_frame</span><span
class="p">(</span><span class="n">gdf</span><span class="p">)</span>
+<div class="highlight-ipynb hl-python"><pre><span></span><span
class="kn">import</span><span class="w"> </span><span
class="nn">geopandas</span><span class="w"> </span><span
class="k">as</span><span class="w"> </span><span class="nn">gpd</span>
+
+<span class="n">path</span> <span class="o">=</span> <span
class="s2">"https://raw.githubusercontent.com/geoarrow/geoarrow-data/v0.2.0/natural-earth/files/natural-earth_cities.fgb"</span>
+<span class="n">gdf</span> <span class="o">=</span> <span
class="n">gpd</span><span class="o">.</span><span
class="n">read_file</span><span class="p">(</span><span
class="n">path</span><span class="p">)</span>
</pre></div>
-<div class="clipboard-copy-txt" id="cell-5">df =
sd.create_data_frame(gdf)</div>
+<div class="clipboard-copy-txt" id="cell-5">import geopandas as gpd
+
+path =
"https://raw.githubusercontent.com/geoarrow/geoarrow-data/v0.2.0/natural-earth/files/natural-earth_cities.fgb"
+gdf = gpd.read_file(path)</div>
+</div>
+</div>
</div>
</div>
</div>
</div>
+<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell"
id="cell-id=2265f94b-ccb3-4634-8c52-a8799c68c76a">
+<div class="jp-Cell-inputWrapper" tabindex="0">
+<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
+</div>
+<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt
jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput"
data-mime-type="text/markdown">
+<p>Now convert the GeoPandas DataFrame to a SedonaDB DataFrame and view three
rows of content:</p>
+</div>
+</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
-<div class="jp-Cell jp-CodeCell jp-Notebook-cell"
id="cell-id=186059ae-4cf8-48ec-878a-71e7a39ac07e">
+<div class="jp-Cell jp-CodeCell jp-Notebook-cell"
id="cell-id=0e4819db-bf58-42d7-8b5b-f272d0f19266">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
-<div class="jp-InputPrompt jp-InputArea-prompt">In [14]:</div><div
class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+<div class="jp-InputPrompt jp-InputArea-prompt">In [7]:</div><div
class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="CodeMirror cm-s-jupyter">
<div class="zeroclipboard-container">
<clipboard-copy ,="" aria-label="Copy to Clipboard" for="cell-6">
@@ -1610,9 +1726,11 @@ memory usage: 204.0+ bytes
</div>
</clipboard-copy>
</div>
-<div class="highlight-ipynb hl-python"><pre><span></span><span
class="n">df</span><span class="o">.</span><span class="n">show</span><span
class="p">()</span>
+<div class="highlight-ipynb hl-python"><pre><span></span><span
class="n">df</span> <span class="o">=</span> <span class="n">sd</span><span
class="o">.</span><span class="n">create_data_frame</span><span
class="p">(</span><span class="n">gdf</span><span class="p">)</span>
+<span class="n">df</span><span class="o">.</span><span
class="n">show</span><span class="p">(</span><span class="mi">3</span><span
class="p">)</span>
</pre></div>
-<div class="clipboard-copy-txt" id="cell-6">df.show()</div>
+<div class="clipboard-copy-txt" id="cell-6">df = sd.create_data_frame(gdf)
+df.show(3)</div>
</div>
</div>
</div>
@@ -1624,16 +1742,16 @@ memory usage: 204.0+ bytes
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain"
tabindex="0">
-<pre>┌────────┬────────────────────┬──────────────────────────────────────────┐
-│ prop0 ┆ prop1 ┆ geometry │
-│ utf8 ┆ utf8 ┆ geometry │
-╞════════╪════════════════════╪══════════════════════════════════════════╡
-│ value0 ┆ ┆ POINT(102 0.5) │
-├╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
-│ value1 ┆ 0.0 ┆ LINESTRING(102 0,103 1,104 0,105 1) │
-├╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
-│ value2 ┆ { "this": "that" } ┆ POLYGON((100 0,101 0,101 1,100 1,100 0)) │
-└────────┴────────────────────┴──────────────────────────────────────────┘
+<pre>┌──────────────┬──────────────────────────────┐
+│ name ┆ geometry │
+│ utf8 ┆ geometry │
+╞══════════════╪══════════════════════════════╡
+│ Vatican City ┆ POINT(12.4533865 41.9032822) │
+├╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
+│ San Marino ┆ POINT(12.4417702 43.9360958) │
+├╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
+│ Vaduz ┆ POINT(9.5166695 47.1337238) │
+└──────────────┴──────────────────────────────┘
</pre>
</div>
</div>
@@ -1641,23 +1759,25 @@ memory usage: 204.0+ bytes
</div>
</div>
</div>
-<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell"
id="cell-id=2f09cbbe-86b5-4eb4-b920-1b12f018d1a6">
+<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell"
id="cell-id=6890bcc3-f3bd-4c47-bf86-2607bed5e480">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt
jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput"
data-mime-type="text/markdown">
-<h2 id="read-a-flatgeobuf-file">Read a FlatGeobuf file<a class="anchor-link"
href="#read-a-flatgeobuf-file">¶</a></h2><p>This code demonstrates how to read
a FlatGeobuf file with GeoPandas and then convert it to a SedonaDB
DataFrame.</p>
+<h2 id="spatial-queries">Spatial queries<a class="anchor-link"
href="#spatial-queries">¶</a></h2><p>Let’s see how to run spatial operations
like filtering, joins, and clustering algorithms.</p>
+<p><em><strong>Spatial filtering</strong></em></p>
+<p>Let’s run a spatial filtering operation to fetch all the objects in the
following polygon:</p>
</div>
</div>
</div>
-</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
-<div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs"
id="cell-id=965ae9f3-293b-4e8e-92bf-1359a482bca3">
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
+<div class="jp-Cell jp-CodeCell jp-Notebook-cell"
id="cell-id=8c8a4b48-8c4e-412e-900f-8c0f6f4ccc1d">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
-<div class="jp-InputPrompt jp-InputArea-prompt">In [3]:</div><div
class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+<div class="jp-InputPrompt jp-InputArea-prompt">In [8]:</div><div
class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="CodeMirror cm-s-jupyter">
<div class="zeroclipboard-container">
<clipboard-copy ,="" aria-label="Copy to Clipboard" for="cell-7">
@@ -1670,23 +1790,76 @@ memory usage: 204.0+ bytes
</div>
</clipboard-copy>
</div>
-<div class="highlight-ipynb hl-python"><pre><span></span><span
class="n">path</span> <span class="o">=</span> <span
class="s2">"https://raw.githubusercontent.com/geoarrow/geoarrow-data/v0.2.0/natural-earth/files/natural-earth_cities.fgb"</span>
-<span class="n">gdf</span> <span class="o">=</span> <span
class="n">gpd</span><span class="o">.</span><span
class="n">read_file</span><span class="p">(</span><span
class="n">path</span><span class="p">)</span>
+<div class="highlight-ipynb hl-python"><pre><span></span><span
class="n">nova_scotia_bbox_wkt</span> <span class="o">=</span> <span
class="p">(</span>
+ <span class="s2">"POLYGON((-66.5 43.4, -66.5 47.1, -59.8 47.1, -59.8 43.4,
-66.5 43.4))"</span>
+<span class="p">)</span>
+
+<span class="n">ns</span> <span class="o">=</span> <span
class="n">sd</span><span class="o">.</span><span class="n">sql</span><span
class="p">(</span><span class="sa">f</span><span class="s2">"""</span>
+<span class="s2">SELECT country, region, geometry</span>
+<span class="s2">FROM division_area</span>
+<span class="s2">WHERE ST_Intersects(geometry,
ST_SetSRID(ST_GeomFromText('</span><span class="si">{</span><span
class="n">nova_scotia_bbox_wkt</span><span class="si">}</span><span
class="s2">'), 4326))</span>
+<span class="s2">"""</span><span class="p">)</span>
+
+<span class="n">ns</span><span class="o">.</span><span
class="n">show</span><span class="p">(</span><span class="mi">3</span><span
class="p">)</span>
</pre></div>
-<div class="clipboard-copy-txt" id="cell-7">path =
"https://raw.githubusercontent.com/geoarrow/geoarrow-data/v0.2.0/natural-earth/files/natural-earth_cities.fgb"
-gdf = gpd.read_file(path)</div>
+<div class="clipboard-copy-txt" id="cell-7">nova_scotia_bbox_wkt = (
+ "POLYGON((-66.5 43.4, -66.5 47.1, -59.8 47.1, -59.8 43.4, -66.5 43.4))"
+)
+
+ns = sd.sql(f"""
+SELECT country, region, geometry
+FROM division_area
+WHERE ST_Intersects(geometry,
ST_SetSRID(ST_GeomFromText('{nova_scotia_bbox_wkt}'), 4326))
+""")
+
+ns.show(3)</div>
</div>
</div>
</div>
</div>
+<div class="jp-Cell-outputWrapper">
+<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
+</div>
+<div class="jp-OutputArea jp-Cell-outputArea">
+<div class="jp-OutputArea-child">
+<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
+<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain"
tabindex="0">
+<pre>┌──────────┬──────────┬────────────────────────────────────────────────────────────────────────────┐
+│ country ┆ region ┆ geometry
│
+│ utf8view ┆ utf8view ┆ geometry
│
+╞══════════╪══════════╪════════════════════════════════════════════════════════════════════════════╡
+│ CA ┆ CA-NS ┆ POLYGON((-66.0528452 43.4531336,-66.0883401
43.3978188,-65.9647654 43.361… │
+├╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
+│ CA ┆ CA-NS ┆ POLYGON((-66.0222822 43.5166842,-66.0252286
43.5100071,-66.0528452 43.453… │
+├╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
+│ CA ┆ CA-NS ┆ POLYGON((-65.7451389 43.5336263,-65.7450818
43.5347004,-65.7449545 43.535… │
+└──────────┴──────────┴────────────────────────────────────────────────────────────────────────────┘
+</pre>
+</div>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell"
id="cell-id=32076e01-d807-40ed-8457-9d8c4244e89f">
+<div class="jp-Cell-inputWrapper" tabindex="0">
+<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
+</div>
+<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt
jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput"
data-mime-type="text/markdown">
+<p>You can see it only includes the divisions in the Nova Scotia area. Skip
to the visualization section to see how this data can be graphed on a map.</p>
+<p><em><strong>K-nearest neighbors (KNN) joins</strong></em></p>
+<p>Create <code>restaurants</code> and <code>customers</code> tables so we can
demonstrate the KNN join functionality.</p>
+</div>
+</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs">
-<div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs"
id="cell-id=372c937f-da36-4e4b-98da-347890318a80">
+<div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs"
id="cell-id=deaa36db-2fee-4ba2-ab79-1dc756cb1655">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
-<div class="jp-InputPrompt jp-InputArea-prompt">In [4]:</div><div
class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+<div class="jp-InputPrompt jp-InputArea-prompt">In [9]:</div><div
class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="CodeMirror cm-s-jupyter">
<div class="zeroclipboard-container">
<clipboard-copy ,="" aria-label="Copy to Clipboard" for="cell-8">
@@ -1699,21 +1872,65 @@ gdf = gpd.read_file(path)</div>
</div>
</clipboard-copy>
</div>
-<div class="highlight-ipynb hl-python"><pre><span></span><span
class="n">df</span> <span class="o">=</span> <span class="n">sd</span><span
class="o">.</span><span class="n">create_data_frame</span><span
class="p">(</span><span class="n">gdf</span><span class="p">)</span>
+<div class="highlight-ipynb hl-python"><pre><span></span><span
class="n">df</span> <span class="o">=</span> <span class="n">sd</span><span
class="o">.</span><span class="n">sql</span><span class="p">(</span><span
class="s2">"""</span>
+<span class="s2">SELECT name, ST_Point(lng, lat) AS location</span>
+<span class="s2">FROM (VALUES </span>
+<span class="s2"> (101, -74.0, 40.7, 'Pizza Palace'),</span>
+<span class="s2"> (102, -73.99, 40.69, 'Burger Barn'),</span>
+<span class="s2"> (103, -74.02, 40.72, 'Taco Town'),</span>
+<span class="s2"> (104, -73.98, 40.75, 'Sushi Spot'),</span>
+<span class="s2"> (105, -74.05, 40.68, 'Deli Direct')</span>
+<span class="s2">) AS t(id, lng, lat, name)</span>
+<span class="s2">"""</span><span class="p">)</span>
+<span class="n">sd</span><span class="o">.</span><span
class="n">sql</span><span class="p">(</span><span class="s2">"drop view if
exists restaurants"</span><span class="p">)</span>
+<span class="n">df</span><span class="o">.</span><span
class="n">to_view</span><span class="p">(</span><span
class="s2">"restaurants"</span><span class="p">)</span>
+
+<span class="n">df</span> <span class="o">=</span> <span
class="n">sd</span><span class="o">.</span><span class="n">sql</span><span
class="p">(</span><span class="s2">"""</span>
+<span class="s2">SELECT name, ST_Point(lng, lat) AS location</span>
+<span class="s2">FROM (VALUES </span>
+<span class="s2"> (1, -74.0, 40.7, 'Alice'),</span>
+<span class="s2"> (2, -73.9, 40.8, 'Bob'),</span>
+<span class="s2"> (3, -74.1, 40.6, 'Carol')</span>
+<span class="s2">) AS t(id, lng, lat, name)</span>
+<span class="s2">"""</span><span class="p">)</span>
+<span class="n">sd</span><span class="o">.</span><span
class="n">sql</span><span class="p">(</span><span class="s2">"drop view if
exists customers"</span><span class="p">)</span>
+<span class="n">df</span><span class="o">.</span><span
class="n">to_view</span><span class="p">(</span><span
class="s2">"customers"</span><span class="p">)</span>
</pre></div>
-<div class="clipboard-copy-txt" id="cell-8">df =
sd.create_data_frame(gdf)</div>
+<div class="clipboard-copy-txt" id="cell-8">df = sd.sql("""
+SELECT name, ST_Point(lng, lat) AS location
+FROM (VALUES
+ (101, -74.0, 40.7, 'Pizza Palace'),
+ (102, -73.99, 40.69, 'Burger Barn'),
+ (103, -74.02, 40.72, 'Taco Town'),
+ (104, -73.98, 40.75, 'Sushi Spot'),
+ (105, -74.05, 40.68, 'Deli Direct')
+) AS t(id, lng, lat, name)
+""")
+sd.sql("drop view if exists restaurants")
+df.to_view("restaurants")
+
+df = sd.sql("""
+SELECT name, ST_Point(lng, lat) AS location
+FROM (VALUES
+ (1, -74.0, 40.7, 'Alice'),
+ (2, -73.9, 40.8, 'Bob'),
+ (3, -74.1, 40.6, 'Carol')
+) AS t(id, lng, lat, name)
+""")
+sd.sql("drop view if exists customers")
+df.to_view("customers")</div>
</div>
</div>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
-<div class="jp-Cell jp-CodeCell jp-Notebook-cell"
id="cell-id=d99f4474-da3a-4834-9675-184a667b2a90">
+<div class="jp-Cell jp-CodeCell jp-Notebook-cell"
id="cell-id=e3bc4976-4245-432f-b265-7f6aa13f35b9">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
-<div class="jp-InputPrompt jp-InputArea-prompt">In [6]:</div><div
class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+<div class="jp-InputPrompt jp-InputArea-prompt">In [10]:</div><div
class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="CodeMirror cm-s-jupyter">
<div class="zeroclipboard-container">
<clipboard-copy ,="" aria-label="Copy to Clipboard" for="cell-9">
@@ -1726,9 +1943,9 @@ gdf = gpd.read_file(path)</div>
</div>
</clipboard-copy>
</div>
-<div class="highlight-ipynb hl-python"><pre><span></span><span
class="n">df</span><span class="o">.</span><span class="n">show</span><span
class="p">(</span><span class="mi">3</span><span class="p">)</span>
+<div class="highlight-ipynb hl-python"><pre><span></span><span
class="n">df</span><span class="o">.</span><span class="n">show</span><span
class="p">()</span>
</pre></div>
-<div class="clipboard-copy-txt" id="cell-9">df.show(3)</div>
+<div class="clipboard-copy-txt" id="cell-9">df.show()</div>
</div>
</div>
</div>
@@ -1740,16 +1957,16 @@ gdf = gpd.read_file(path)</div>
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain"
tabindex="0">
-<pre>┌──────────────┬──────────────────────────────┐
-│ name ┆ geometry │
-│ utf8 ┆ geometry │
-╞══════════════╪══════════════════════════════╡
-│ Vatican City ┆ POINT(12.4533865 41.9032822) │
-├╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
-│ San Marino ┆ POINT(12.4417702 43.9360958) │
-├╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
-│ Vaduz ┆ POINT(9.5166695 47.1337238) │
-└──────────────┴──────────────────────────────┘
+<pre>┌───────┬───────────────────┐
+│ name ┆ location │
+│ utf8 ┆ geometry │
+╞═══════╪═══════════════════╡
+│ Alice ┆ POINT(-74 40.7) │
+├╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
+│ Bob ┆ POINT(-73.9 40.8) │
+├╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
+│ Carol ┆ POINT(-74.1 40.6) │
+└───────┴───────────────────┘
</pre>
</div>
</div>
@@ -1757,6 +1974,101 @@ gdf = gpd.read_file(path)</div>
</div>
</div>
</div>
+<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell"
id="cell-id=9df227d6-0972-457a-87e3-5a89802c460f">
+<div class="jp-Cell-inputWrapper" tabindex="0">
+<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
+</div>
+<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt
jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput"
data-mime-type="text/markdown">
+<p>Perform a KNN join to identify the two restaurants that are nearest to each
customer:</p>
+</div>
+</div>
+</div>
+</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell">
+<div class="jp-Cell jp-CodeCell jp-Notebook-cell"
id="cell-id=05565e15-ee18-431c-8fd2-673291d8d0ee">
+<div class="jp-Cell-inputWrapper" tabindex="0">
+<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
+</div>
+<div class="jp-InputArea jp-Cell-inputArea">
+<div class="jp-InputPrompt jp-InputArea-prompt">In [11]:</div><div
class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+<div class="CodeMirror cm-s-jupyter">
+<div class="zeroclipboard-container">
+<clipboard-copy ,="" aria-label="Copy to Clipboard" for="cell-10">
+<div>
+<span class="notice" hidden="">Copied!</span>
+<svg aria-hidden="true" class="clipboard-copy-icon" data-view-component="true"
height="20" version="1.1" viewBox="0 0 16 16" width="20">
+<path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 010 1.5h-1.5a.25.25 0
00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-1.5a.75.75 0 011.5
0v1.5A1.75 1.75 0 019.25 16h-7.5A1.75 1.75 0 010 14.25v-7.5z"
fill="currentColor" fill-rule="evenodd"></path>
+<path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75
1.75 0 0114.25 11h-7.5A1.75 1.75 0 015 9.25v-7.5zm1.75-.25a.25.25 0
00-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 00.25-.25v-7.5a.25.25 0
00-.25-.25h-7.5z" fill="currentColor" fill-rule="evenodd"></path>
+</svg>
+</div>
+</clipboard-copy>
+</div>
+<div class="highlight-ipynb hl-python"><pre><span></span><span
class="n">sd</span><span class="o">.</span><span class="n">sql</span><span
class="p">(</span><span class="s2">"""</span>
+<span class="s2">SELECT</span>
+<span class="s2"> c.name AS customer,</span>
+<span class="s2"> r.name AS restaurant</span>
+<span class="s2">FROM customers c, restaurants r</span>
+<span class="s2">WHERE ST_KNN(c.location, r.location, 2, false)</span>
+<span class="s2">ORDER BY c.name, r.name;</span>
+<span class="s2">"""</span><span class="p">)</span><span
class="o">.</span><span class="n">show</span><span class="p">()</span>
+</pre></div>
+<div class="clipboard-copy-txt" id="cell-10">sd.sql("""
+SELECT
+ c.name AS customer,
+ r.name AS restaurant
+FROM customers c, restaurants r
+WHERE ST_KNN(c.location, r.location, 2, false)
+ORDER BY c.name, r.name;
+""").show()</div>
+</div>
+</div>
+</div>
+</div>
+<div class="jp-Cell-outputWrapper">
+<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
+</div>
+<div class="jp-OutputArea jp-Cell-outputArea">
+<div class="jp-OutputArea-child">
+<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
+<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain"
tabindex="0">
+<pre>┌──────────┬──────────────┐
+│ customer ┆ restaurant │
+│ utf8 ┆ utf8 │
+╞══════════╪══════════════╡
+│ Alice ┆ Burger Barn │
+├╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
+│ Alice ┆ Pizza Palace │
+├╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
+│ Bob ┆ Pizza Palace │
+├╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
+│ Bob ┆ Sushi Spot │
+├╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
+│ Carol ┆ Deli Direct │
+├╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
+│ Carol ┆ Pizza Palace │
+└──────────┴──────────────┘
+</pre>
+</div>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell"
id="cell-id=2e93fe6a-b0a7-4ec0-952c-dde9edcacdc4">
+<div class="jp-Cell-inputWrapper" tabindex="0">
+<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
+</div>
+<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt
jp-InputArea-prompt">
+</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput"
data-mime-type="text/markdown">
+<p>Notice how each customer has two rows - one for each of the two closest
restaurants.</p>
+<h2 id="files">Files<a class="anchor-link" href="#files">¶</a></h2><p>You can
read GeoParquet files with SedonaDB, see the following example:</p>
+<div class="highlight"><pre><span></span><span class="n">df</span> <span
class="o">=</span> <span class="n">sd</span><span class="o">.</span><span
class="n">read_parquet</span><span class="p">(</span><span
class="s2">"some_file.parquet"</span><span class="p">)</span>
+</pre></div>
+<p>Once you read the file, you can easily expose it as a view and query it
with spatial SQL, as we demonstrated in the example above.</p>
+</div>
+</div>
+</div>
+</div>
</div> <!-- jp-Notebook -->
</div> <!-- jupyter-wrapper -->
@@ -1784,7 +2096,7 @@ gdf = gpd.read_file(path)</div>
<span class="md-icon" title="Last update">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M21
13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6
0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1zM12.5 7v5.2l4
2.4-1 1L11 13V7zM11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10
9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1
7.5 7.1 7.9l-.1.2z"></path></svg>
</span>
- <span class="git-revision-date-localized-plugin
git-revision-date-localized-plugin-datetime" title="September 10, 2025 19:11:22
UTC">September 10, 2025 19:11:22</span>
+ <span class="git-revision-date-localized-plugin
git-revision-date-localized-plugin-datetime" title="September 12, 2025 18:17:17
UTC">September 12, 2025 18:17:17</span>
</span>
@@ -1816,6 +2128,44 @@ gdf = gpd.read_file(path)</div>
<footer class="md-footer">
+
+ <nav class="md-footer__inner md-grid" aria-label="Footer">
+
+
+ <a href=".." class="md-footer__link md-footer__link--prev"
aria-label="Previous: Home">
+ <div class="md-footer__button md-icon">
+
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24
24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8
11z"></path></svg>
+ </div>
+ <div class="md-footer__title">
+ <span class="md-footer__direction">
+ Previous
+ </span>
+ <div class="md-ellipsis">
+ Home
+ </div>
+ </div>
+ </a>
+
+
+
+ <a href="../quickstart-cli/" class="md-footer__link
md-footer__link--next" aria-label="Next: CLI Quickstart">
+ <div class="md-footer__title">
+ <span class="md-footer__direction">
+ Next
+ </span>
+ <div class="md-ellipsis">
+ CLI Quickstart
+ </div>
+ </div>
+ <div class="md-footer__button md-icon">
+
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24
24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16
11z"></path></svg>
+ </div>
+ </a>
+
+ </nav>
+
<div class="md-footer-meta md-typeset">
<div class="md-footer-meta__inner md-grid">
diff --git a/dev-snapshot-main/quickstart-cli/index.html
b/dev-snapshot-main/quickstart-cli/index.html
index 6edd7cd..459ed91 100644
--- a/dev-snapshot-main/quickstart-cli/index.html
+++ b/dev-snapshot-main/quickstart-cli/index.html
@@ -8,7 +8,7 @@
- <link rel="prev" href="..">
+ <link rel="prev" href="../programming-guide/">
<link rel="next" href="../quickstart-python/">
@@ -232,7 +232,7 @@
<li class="md-tabs__item md-tabs__item--active">
- <a href="./" class="md-tabs__link">
+ <a href="../programming-guide/" class="md-tabs__link">
@@ -455,6 +455,29 @@
+
+
+ <li class="md-nav__item">
+ <a href="../programming-guide/" class="md-nav__link">
+
+
+
+ <span class="md-ellipsis">
+ SedonaDB Guide
+
+ </span>
+
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
@@ -1114,7 +1137,7 @@ Options:
<nav class="md-footer__inner md-grid" aria-label="Footer">
- <a href=".." class="md-footer__link md-footer__link--prev"
aria-label="Previous: Home">
+ <a href="../programming-guide/" class="md-footer__link
md-footer__link--prev" aria-label="Previous: SedonaDB Guide">
<div class="md-footer__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24
24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8
11z"></path></svg>
@@ -1124,7 +1147,7 @@ Options:
Previous
</span>
<div class="md-ellipsis">
- Home
+ SedonaDB Guide
</div>
</div>
</a>
diff --git a/dev-snapshot-main/quickstart-python/index.html
b/dev-snapshot-main/quickstart-python/index.html
index 8702a4b..9e339f0 100644
--- a/dev-snapshot-main/quickstart-python/index.html
+++ b/dev-snapshot-main/quickstart-python/index.html
@@ -232,7 +232,7 @@
<li class="md-tabs__item md-tabs__item--active">
- <a href="../quickstart-cli/" class="md-tabs__link">
+ <a href="../programming-guide/" class="md-tabs__link">
@@ -457,6 +457,29 @@
+ <li class="md-nav__item">
+ <a href="../programming-guide/" class="md-nav__link">
+
+
+
+ <span class="md-ellipsis">
+ SedonaDB Guide
+
+ </span>
+
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
<li class="md-nav__item">
<a href="../quickstart-cli/" class="md-nav__link">
diff --git a/dev-snapshot-main/reference/python/index.html
b/dev-snapshot-main/reference/python/index.html
index 3cecabb..bb4486b 100644
--- a/dev-snapshot-main/reference/python/index.html
+++ b/dev-snapshot-main/reference/python/index.html
@@ -230,7 +230,7 @@
<li class="md-tabs__item">
- <a href="../../quickstart-cli/" class="md-tabs__link">
+ <a href="../../programming-guide/" class="md-tabs__link">
@@ -454,6 +454,29 @@
+ <li class="md-nav__item">
+ <a href="../../programming-guide/" class="md-nav__link">
+
+
+
+ <span class="md-ellipsis">
+ SedonaDB Guide
+
+ </span>
+
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
<li class="md-nav__item">
<a href="../../quickstart-cli/" class="md-nav__link">
diff --git a/dev-snapshot-main/reference/read-parquet-files/index.html
b/dev-snapshot-main/reference/read-parquet-files/index.html
index ae3ff7c..148219f 100644
--- a/dev-snapshot-main/reference/read-parquet-files/index.html
+++ b/dev-snapshot-main/reference/read-parquet-files/index.html
@@ -228,7 +228,7 @@
<li class="md-tabs__item">
- <a href="../../quickstart-cli/" class="md-tabs__link">
+ <a href="../../programming-guide/" class="md-tabs__link">
@@ -452,6 +452,29 @@
+ <li class="md-nav__item">
+ <a href="../../programming-guide/" class="md-nav__link">
+
+
+
+ <span class="md-ellipsis">
+ SedonaDB Guide
+
+ </span>
+
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
<li class="md-nav__item">
<a href="../../quickstart-cli/" class="md-nav__link">
diff --git a/dev-snapshot-main/reference/sql-joins/index.html
b/dev-snapshot-main/reference/sql-joins/index.html
index c282adc..b733d9a 100644
--- a/dev-snapshot-main/reference/sql-joins/index.html
+++ b/dev-snapshot-main/reference/sql-joins/index.html
@@ -230,7 +230,7 @@
<li class="md-tabs__item">
- <a href="../../quickstart-cli/" class="md-tabs__link">
+ <a href="../../programming-guide/" class="md-tabs__link">
@@ -454,6 +454,29 @@
+ <li class="md-nav__item">
+ <a href="../../programming-guide/" class="md-nav__link">
+
+
+
+ <span class="md-ellipsis">
+ SedonaDB Guide
+
+ </span>
+
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
<li class="md-nav__item">
<a href="../../quickstart-cli/" class="md-nav__link">
diff --git a/dev-snapshot-main/reference/sql/index.html
b/dev-snapshot-main/reference/sql/index.html
index 1aff4be..87c42d9 100644
--- a/dev-snapshot-main/reference/sql/index.html
+++ b/dev-snapshot-main/reference/sql/index.html
@@ -230,7 +230,7 @@
<li class="md-tabs__item">
- <a href="../../quickstart-cli/" class="md-tabs__link">
+ <a href="../../programming-guide/" class="md-tabs__link">
@@ -454,6 +454,29 @@
+ <li class="md-nav__item">
+ <a href="../../programming-guide/" class="md-nav__link">
+
+
+
+ <span class="md-ellipsis">
+ SedonaDB Guide
+
+ </span>
+
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
<li class="md-nav__item">
<a href="../../quickstart-cli/" class="md-nav__link">
diff --git a/dev-snapshot-main/search/search_index.json
b/dev-snapshot-main/search/search_index.json
index e890bef..942682d 100644
--- a/dev-snapshot-main/search/search_index.json
+++ b/dev-snapshot-main/search/search_index.json
@@ -1 +1 @@
-{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"Home","text":""},{"location":"#sedonadb","title":"SedonaDB","text":"<p>SedonaDB
is a high-performance, dependency-free geospatial compute engine.</p> <p>You
can easily run SedonaDB locally or in the cloud. The first release supports a
core set of vector operations, but the full-suite of common vector and raster
computations will be supported soon.</p> <p>SedonaDB only runs on [...]
\ No newline at end of file
+{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"Home","text":""},{"location":"#sedonadb","title":"SedonaDB","text":"<p>SedonaDB
is a high-performance, dependency-free geospatial compute engine.</p> <p>You
can easily run SedonaDB locally or in the cloud. The first release supports a
core set of vector operations, but the full-suite of common vector and raster
computations will be supported soon.</p> <p>SedonaDB only runs on [...]
\ No newline at end of file
diff --git a/dev-snapshot-main/tags/index.html
b/dev-snapshot-main/tags/index.html
index 5dc9ed3..32092a1 100644
--- a/dev-snapshot-main/tags/index.html
+++ b/dev-snapshot-main/tags/index.html
@@ -221,7 +221,7 @@
<li class="md-tabs__item">
- <a href="../quickstart-cli/" class="md-tabs__link">
+ <a href="../programming-guide/" class="md-tabs__link">
@@ -441,6 +441,29 @@
+ <li class="md-nav__item">
+ <a href="../programming-guide/" class="md-nav__link">
+
+
+
+ <span class="md-ellipsis">
+ SedonaDB Guide
+
+ </span>
+
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
<li class="md-nav__item">
<a href="../quickstart-cli/" class="md-nav__link">