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&nbsp;[9]:</div><div 
class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[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&nbsp;[10]:</div><div 
class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[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&nbsp;[11]:</div><div 
class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[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>&lt;class 'geopandas.geodataframe.GeoDataFrame'&gt;
-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&nbsp;[13]:</div><div 
class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[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&nbsp;[14]:</div><div 
class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[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&nbsp;[3]:</div><div 
class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[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&nbsp;[4]:</div><div 
class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[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&nbsp;[6]:</div><div 
class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
+<div class="jp-InputPrompt jp-InputArea-prompt">In&nbsp;[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&nbsp;[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">
         

Reply via email to