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 c38d380 update documentation for tag dev-snapshot-main
c38d380 is described below
commit c38d380733a1b341259961bd590eca9ebfd8898a
Author: GitHub Actions <[email protected]>
AuthorDate: Wed Sep 10 19:14:41 2025 +0000
update documentation for tag dev-snapshot-main
---
dev-snapshot-main/geopandas-interop/index.html | 1857 ++++++++++++++++++++++++
dev-snapshot-main/search/search_index.json | 2 +-
dev-snapshot-main/some_data.json | 33 +
3 files changed, 1891 insertions(+), 1 deletion(-)
diff --git a/dev-snapshot-main/geopandas-interop/index.html
b/dev-snapshot-main/geopandas-interop/index.html
new file mode 100644
index 0000000..27da460
--- /dev/null
+++ b/dev-snapshot-main/geopandas-interop/index.html
@@ -0,0 +1,1857 @@
+<!DOCTYPE html><html lang="en" class="no-js"><head>
+
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width,initial-scale=1">
+
+ <meta name="description" content="Documentation for Apache SedonaDB">
+
+
+
+
+
+
+ <link rel="icon" href="../image/sedona_logo_symbol.png">
+ <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.19">
+
+
+
+ <title>GeoPandas interoperability - SedonaDB</title>
+
+
+
+ <link rel="stylesheet"
href="../assets/stylesheets/main.7e37652d.min.css">
+
+
+ <link rel="stylesheet"
href="../assets/stylesheets/palette.06af60db.min.css">
+
+
+
+
+
+
+
+
+
+
+
+
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+ <link rel="stylesheet"
href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
+ <style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto
Mono"}</style>
+
+
+
+ <link rel="stylesheet" href="../assets/_mkdocstrings.css">
+
+ <link rel="stylesheet" href="../stylesheets/extra.css">
+
+ <script>__md_scope=new
URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
+
+
+
+
+
+
+ <link href="../assets/stylesheets/glightbox.min.css"
rel="stylesheet"><script
src="../assets/javascripts/glightbox.min.js"></script><style
id="glightbox-style">
+ html.glightbox-open { overflow: initial; height: 100%; }
+ .gslide-title { margin-top: 0px; user-select: text; }
+ .gslide-desc { color: #666; user-select: text; }
+ .gslide-image img { background: white; }
+ .glightbox-clean .gslide-media { -webkit-box-shadow: none;
box-shadow: none; }
+ .gscrollbar-fixer { padding-right: 15px; }
+ .gdesc-inner { font-size: 0.75rem; }
+ body[data-md-color-scheme="slate"] .gdesc-inner { background:
var(--md-default-bg-color); }
+ body[data-md-color-scheme="slate"] .gslide-title { color:
var(--md-default-fg-color); }
+ body[data-md-color-scheme="slate"] .gslide-desc { color:
var(--md-default-fg-color); }
+ </style></head>
+
+
+
+
+
+
+
+ <body dir="ltr" data-md-color-scheme="default"
data-md-color-primary="custom" data-md-color-accent="green">
+
+
+ <input class="md-toggle" data-md-toggle="drawer" type="checkbox"
id="__drawer" autocomplete="off">
+ <input class="md-toggle" data-md-toggle="search" type="checkbox"
id="__search" autocomplete="off">
+ <label class="md-overlay" for="__drawer"></label>
+ <div data-md-component="skip">
+
+
+ <a href="#geopandas-interoperability" class="md-skip">
+ Skip to content
+ </a>
+
+ </div>
+ <div data-md-component="announce">
+
+ </div>
+
+ <div data-md-color-scheme="default" data-md-component="outdated" hidden>
+
+ </div>
+
+
+
+
+
+
+<header class="md-header md-header--shadow md-header--lifted"
data-md-component="header">
+ <nav class="md-header__inner md-grid" aria-label="Header">
+ <a href=".." title="SedonaDB" class="md-header__button md-logo"
aria-label="SedonaDB" data-md-component="logo">
+
+ <img src="../image/sedona_logo_symbol_white.svg" alt="logo">
+
+ </a>
+ <label class="md-header__button md-icon" for="__drawer">
+
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3
6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"></path></svg>
+ </label>
+ <div class="md-header__title" data-md-component="header-title">
+ <div class="md-header__ellipsis">
+ <div class="md-header__topic">
+ <span class="md-ellipsis">
+ SedonaDB
+ </span>
+ </div>
+ <div class="md-header__topic" data-md-component="header-topic">
+ <span class="md-ellipsis">
+
+ GeoPandas interoperability
+
+ </span>
+ </div>
+ </div>
+ </div>
+
+
+
+
+
+
+
+
+ <label class="md-header__button md-icon" for="__search">
+
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path
d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5
1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1
9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"></path></svg>
+ </label>
+ <div class="md-search" data-md-component="search" role="dialog">
+ <label class="md-search__overlay" for="__search"></label>
+ <div class="md-search__inner" role="search">
+ <form class="md-search__form" name="search">
+ <input type="text" class="md-search__input" name="query"
aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off"
autocomplete="off" spellcheck="false" data-md-component="search-query" required>
+ <label class="md-search__icon md-icon" for="__search">
+
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path
d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5
1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1
9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"></path></svg>
+
+ <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>
+ </label>
+ <nav class="md-search__options" aria-label="Search">
+
+ <a href="javascript:void(0)" class="md-search__icon md-icon"
title="Share" aria-label="Share" data-clipboard data-clipboard-text=""
data-md-component="search-share" tabindex="-1">
+
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path
d="M18 16.08c-.76 0-1.44.3-1.96.77L8.91
12.7c.05-.23.09-.46.09-.7s-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81a3 3 0
0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9
6 9a3 3 0 0 0-3 3 3 3 0 0 0 3 3c.79 0 1.5-.31 2.04-.81l7.12
4.15c-.05.21-.08.43-.08.66 0 1.61 1.31 2.91 2.92 2.91s2.92-1.3 2.92-2.91A2.92
2.92 0 0 0 18 16.08"></path></svg>
+ </a>
+
+ <button type="reset" class="md-search__icon md-icon" title="Clear"
aria-label="Clear" tabindex="-1">
+
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path
d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41
17.59 19 19 17.59 13.41 12z"></path></svg>
+ </button>
+ </nav>
+
+ <div class="md-search__suggest"
data-md-component="search-suggest"></div>
+
+ </form>
+ <div class="md-search__output">
+ <div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
+ <div class="md-search-result" data-md-component="search-result">
+ <div class="md-search-result__meta">
+ Initializing search
+ </div>
+ <ol class="md-search-result__list" role="presentation"></ol>
+ </div>
+ </div>
+ </div>
+ </div>
+</div>
+
+
+
+ <div class="md-header__source">
+ <a href="https://github.com/apache/sedona-db" title="Go to repository"
class="md-source" data-md-component="source">
+ <div class="md-source__icon md-icon">
+
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font
Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License -
https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1,
Code: MIT License) Copyright 2025 Fonticons, Inc.--><path fill="currentColor"
d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6
3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0
6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44 [...]
+ </div>
+ <div class="md-source__repository">
+ apache/sedona-db
+ </div>
+</a>
+ </div>
+
+ </nav>
+
+
+
+<nav class="md-tabs" aria-label="Tabs" data-md-component="tabs">
+ <div class="md-grid">
+ <ul class="md-tabs__list">
+
+
+
+
+
+
+ <li class="md-tabs__item">
+ <a href=".." class="md-tabs__link">
+
+
+
+
+
+ Home
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+ <li class="md-tabs__item">
+ <a href="../quickstart-cli/" class="md-tabs__link">
+
+
+
+ SedonaDB Guides
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li class="md-tabs__item">
+ <a href="../reference/python/" class="md-tabs__link">
+
+
+
+ SedonaDB Reference
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+ <li class="md-tabs__item">
+ <a href="https://sedona.apache.org/latest/blog/" class="md-tabs__link">
+
+
+
+
+
+ Blog
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+ <li class="md-tabs__item">
+ <a href="https://sedona.apache.org/latest/asf/asf/"
class="md-tabs__link">
+
+
+
+
+
+ Apache Software Foundation
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+ <li class="md-tabs__item">
+ <a href="https://sedona.apache.org/latest/" class="md-tabs__link">
+
+
+
+
+
+ Return to Sedona Homepage
+
+ </a>
+ </li>
+
+
+
+ </ul>
+ </div>
+</nav>
+
+
+</header>
+
+ <div class="md-container" data-md-component="container">
+
+
+
+
+ <main class="md-main" data-md-component="main">
+ <div class="md-main__inner md-grid">
+
+
+
+ <div class="md-sidebar md-sidebar--primary"
data-md-component="sidebar" data-md-type="navigation">
+ <div class="md-sidebar__scrollwrap">
+ <div class="md-sidebar__inner">
+
+
+
+
+
+
+<nav class="md-nav md-nav--primary md-nav--lifted" aria-label="Navigation"
data-md-level="0">
+ <label class="md-nav__title" for="__drawer">
+ <a href=".." title="SedonaDB" class="md-nav__button md-logo"
aria-label="SedonaDB" data-md-component="logo">
+
+ <img src="../image/sedona_logo_symbol_white.svg" alt="logo">
+
+ </a>
+ SedonaDB
+ </label>
+
+ <div class="md-nav__source">
+ <a href="https://github.com/apache/sedona-db" title="Go to repository"
class="md-source" data-md-component="source">
+ <div class="md-source__icon md-icon">
+
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font
Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License -
https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1,
Code: MIT License) Copyright 2025 Fonticons, Inc.--><path fill="currentColor"
d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6
3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0
6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44 [...]
+ </div>
+ <div class="md-source__repository">
+ apache/sedona-db
+ </div>
+</a>
+ </div>
+
+ <ul class="md-nav__list" data-md-scrollfix>
+
+
+
+
+
+
+
+ <li class="md-nav__item">
+ <a href=".." class="md-nav__link">
+
+
+
+ <span class="md-ellipsis">
+ Home
+
+ </span>
+
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li class="md-nav__item md-nav__item--nested">
+
+
+
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2">
+
+
+ <label class="md-nav__link" for="__nav_2" id="__nav_2_label"
tabindex="0">
+
+
+
+ <span class="md-ellipsis">
+ SedonaDB Guides
+
+ </span>
+
+
+ <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">
+ <label class="md-nav__title" for="__nav_2">
+ <span class="md-nav__icon md-icon"></span>
+ SedonaDB Guides
+ </label>
+ <ul class="md-nav__list" data-md-scrollfix>
+
+
+
+
+
+
+
+ <li class="md-nav__item">
+ <a href="../quickstart-cli/" class="md-nav__link">
+
+
+
+ <span class="md-ellipsis">
+ CLI Quickstart
+
+ </span>
+
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+ <li class="md-nav__item">
+ <a href="../quickstart-python/" class="md-nav__link">
+
+
+
+ <span class="md-ellipsis">
+ Python Quickstart
+
+ </span>
+
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+ <li class="md-nav__item">
+ <a href="../development/" class="md-nav__link">
+
+
+
+ <span class="md-ellipsis">
+ Development
+
+ </span>
+
+
+ </a>
+ </li>
+
+
+
+
+ </ul>
+ </nav>
+
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li class="md-nav__item md-nav__item--nested">
+
+
+
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3">
+
+
+ <label class="md-nav__link" for="__nav_3" id="__nav_3_label"
tabindex="0">
+
+
+
+ <span class="md-ellipsis">
+ SedonaDB Reference
+
+ </span>
+
+
+ <span class="md-nav__icon md-icon"></span>
+ </label>
+
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label"
aria-expanded="false">
+ <label class="md-nav__title" for="__nav_3">
+ <span class="md-nav__icon md-icon"></span>
+ SedonaDB Reference
+ </label>
+ <ul class="md-nav__list" data-md-scrollfix>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li class="md-nav__item md-nav__item--nested">
+
+
+
+ <input class="md-nav__toggle md-toggle " type="checkbox"
id="__nav_3_1">
+
+
+ <label class="md-nav__link" for="__nav_3_1" id="__nav_3_1_label"
tabindex="0">
+
+
+
+ <span class="md-ellipsis">
+ Python
+
+ </span>
+
+
+ <span class="md-nav__icon md-icon"></span>
+ </label>
+
+ <nav class="md-nav" data-md-level="2"
aria-labelledby="__nav_3_1_label" aria-expanded="false">
+ <label class="md-nav__title" for="__nav_3_1">
+ <span class="md-nav__icon md-icon"></span>
+ Python
+ </label>
+ <ul class="md-nav__list" data-md-scrollfix>
+
+
+
+
+
+
+
+ <li class="md-nav__item">
+ <a href="../reference/python/" class="md-nav__link">
+
+
+
+ <span class="md-ellipsis">
+ Python Functions
+
+ </span>
+
+
+ </a>
+ </li>
+
+
+
+
+ </ul>
+ </nav>
+
+ </li>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <li class="md-nav__item md-nav__item--nested">
+
+
+
+ <input class="md-nav__toggle md-toggle " type="checkbox"
id="__nav_3_2">
+
+
+ <label class="md-nav__link" for="__nav_3_2" id="__nav_3_2_label"
tabindex="0">
+
+
+
+ <span class="md-ellipsis">
+ SQL
+
+ </span>
+
+
+ <span class="md-nav__icon md-icon"></span>
+ </label>
+
+ <nav class="md-nav" data-md-level="2"
aria-labelledby="__nav_3_2_label" aria-expanded="false">
+ <label class="md-nav__title" for="__nav_3_2">
+ <span class="md-nav__icon md-icon"></span>
+ SQL
+ </label>
+ <ul class="md-nav__list" data-md-scrollfix>
+
+
+
+
+
+
+
+ <li class="md-nav__item">
+ <a href="../reference/sql/" class="md-nav__link">
+
+
+
+ <span class="md-ellipsis">
+ SQL Functions
+
+ </span>
+
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+ <li class="md-nav__item">
+ <a href="../reference/sql-joins/" class="md-nav__link">
+
+
+
+ <span class="md-ellipsis">
+ Spatial Joins
+
+ </span>
+
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+
+ <li class="md-nav__item">
+ <a href="../reference/read-parquet-files/" class="md-nav__link">
+
+
+
+ <span class="md-ellipsis">
+ Read Parquet Files
+
+ </span>
+
+
+ </a>
+ </li>
+
+
+
+
+ </ul>
+ </nav>
+
+ </li>
+
+
+
+
+ </ul>
+ </nav>
+
+ </li>
+
+
+
+
+
+
+
+
+
+ <li class="md-nav__item">
+ <a href="https://sedona.apache.org/latest/blog/" class="md-nav__link">
+
+
+
+ <span class="md-ellipsis">
+ Blog
+
+ </span>
+
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+ <li class="md-nav__item">
+ <a href="https://sedona.apache.org/latest/asf/asf/" class="md-nav__link">
+
+
+
+ <span class="md-ellipsis">
+ Apache Software Foundation
+
+ </span>
+
+
+ </a>
+ </li>
+
+
+
+
+
+
+
+
+
+ <li class="md-nav__item">
+ <a href="https://sedona.apache.org/latest/" class="md-nav__link">
+
+
+
+ <span class="md-ellipsis">
+ Return to Sedona Homepage
+
+ </span>
+
+
+ </a>
+ </li>
+
+
+
+ </ul>
+</nav>
+ </div>
+ </div>
+ </div>
+
+
+
+ <div class="md-sidebar md-sidebar--secondary"
data-md-component="sidebar" data-md-type="toc">
+ <div class="md-sidebar__scrollwrap">
+ <div class="md-sidebar__inner">
+
+
+<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="#read-a-geojson-file-with-geopandas" class="md-nav__link">
+ <span class="md-ellipsis">
+ Read a GeoJSON file with GeoPandas
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#convert-the-geopandas-dataframe-to-a-sedonadb-dataframe"
class="md-nav__link">
+ <span class="md-ellipsis">
+ Convert the GeoPandas DataFrame to a SedonaDB DataFrame
+ </span>
+ </a>
+
+</li>
+
+ <li class="md-nav__item">
+ <a href="#read-a-flatgeobuf-file" class="md-nav__link">
+ <span class="md-ellipsis">
+ Read a FlatGeobuf file
+ </span>
+ </a>
+
+</li>
+
+ </ul>
+
+</nav>
+ </div>
+ </div>
+ </div>
+
+
+
+ <div class="md-content" data-md-component="content">
+ <article class="md-content__inner md-typeset">
+
+
+
+
+
+ <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">
+
+ <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>
+
+
+
+
+<script>
+(function (global, factory) {
+ typeof exports === 'object' && typeof module !== 'undefined' ?
module.exports = factory() :
+ typeof define === 'function' && define.amd ? define(factory) :
+ (global = global || self, global.ClipboardCopyElement = factory());
+ }(this, function () { 'use strict';
+
+ function createNode(text) {
+ const node = document.createElement('pre');
+ node.style.width = '1px';
+ node.style.height = '1px';
+ node.style.position = 'fixed';
+ node.style.top = '5px';
+ node.textContent = text;
+ return node;
+ }
+
+ function copyNode(node) {
+ if ('clipboard' in navigator) {
+ // eslint-disable-next-line flowtype/no-flow-fix-me-comments
+ // $FlowFixMe Clipboard is not defined in Flow yet.
+ return navigator.clipboard.writeText(node.textContent);
+ }
+
+ const selection = getSelection();
+
+ if (selection == null) {
+ return Promise.reject(new Error());
+ }
+
+ selection.removeAllRanges();
+ const range = document.createRange();
+ range.selectNodeContents(node);
+ selection.addRange(range);
+ document.execCommand('copy');
+ selection.removeAllRanges();
+ return Promise.resolve();
+ }
+ function copyText(text) {
+ if ('clipboard' in navigator) {
+ // eslint-disable-next-line flowtype/no-flow-fix-me-comments
+ // $FlowFixMe Clipboard is not defined in Flow yet.
+ return navigator.clipboard.writeText(text);
+ }
+
+ const body = document.body;
+
+ if (!body) {
+ return Promise.reject(new Error());
+ }
+
+ const node = createNode(text);
+ body.appendChild(node);
+ copyNode(node);
+ body.removeChild(node);
+ return Promise.resolve();
+ }
+
+ function copy(button) {
+ const id = button.getAttribute('for');
+ const text = button.getAttribute('value');
+
+ function trigger() {
+ button.dispatchEvent(new CustomEvent('clipboard-copy', {
+ bubbles: true
+ }));
+ }
+
+ if (text) {
+ copyText(text).then(trigger);
+ } else if (id) {
+ const root = 'getRootNode' in Element.prototype ? button.getRootNode()
: button.ownerDocument;
+ if (!(root instanceof Document || 'ShadowRoot' in window && root
instanceof ShadowRoot)) return;
+ const node = root.getElementById(id);
+ if (node) copyTarget(node).then(trigger);
+ }
+ }
+
+ function copyTarget(content) {
+ if (content instanceof HTMLInputElement || content instanceof
HTMLTextAreaElement) {
+ return copyText(content.value);
+ } else if (content instanceof HTMLAnchorElement &&
content.hasAttribute('href')) {
+ return copyText(content.href);
+ } else {
+ return copyNode(content);
+ }
+ }
+
+ function clicked(event) {
+ const button = event.currentTarget;
+
+ if (button instanceof HTMLElement) {
+ copy(button);
+ }
+ }
+
+ function keydown(event) {
+ if (event.key === ' ' || event.key === 'Enter') {
+ const button = event.currentTarget;
+
+ if (button instanceof HTMLElement) {
+ event.preventDefault();
+ copy(button);
+ }
+ }
+ }
+
+ function focused(event) {
+ event.currentTarget.addEventListener('keydown', keydown);
+ }
+
+ function blurred(event) {
+ event.currentTarget.removeEventListener('keydown', keydown);
+ }
+
+ class ClipboardCopyElement extends HTMLElement {
+ constructor() {
+ super();
+ this.addEventListener('click', clicked);
+ this.addEventListener('focus', focused);
+ this.addEventListener('blur', blurred);
+ }
+
+ connectedCallback() {
+ if (!this.hasAttribute('tabindex')) {
+ this.setAttribute('tabindex', '0');
+ }
+
+ if (!this.hasAttribute('role')) {
+ this.setAttribute('role', 'button');
+ }
+ }
+
+ get value() {
+ return this.getAttribute('value') || '';
+ }
+
+ set value(text) {
+ this.setAttribute('value', text);
+ }
+
+ }
+
+ if (!window.customElements.get('clipboard-copy')) {
+ window.ClipboardCopyElement = ClipboardCopyElement;
+ window.customElements.define('clipboard-copy', ClipboardCopyElement);
+ }
+
+ return ClipboardCopyElement;
+
+ }));
+</script>
+<script>
+ document.addEventListener('clipboard-copy', function(event) {
+ const notice = event.target.querySelector('.notice')
+ notice.hidden = false
+ setTimeout(function() {
+ notice.hidden = true
+ }, 1000)
+ })
+</script>
+<style type="text/css">
+ pre { line-height: 125%; }
+td.linenos .normal { color: inherit; background-color: transparent;
padding-left: 5px; padding-right: 5px; }
+span.linenos { color: inherit; background-color: transparent; padding-left:
5px; padding-right: 5px; }
+td.linenos .special { color: #000000; background-color: #ffffc0; padding-left:
5px; padding-right: 5px; }
+span.linenos.special { color: #000000; background-color: #ffffc0;
padding-left: 5px; padding-right: 5px; }
+.highlight-ipynb .hll { background-color:
var(--jp-cell-editor-active-background) }
+.highlight-ipynb { background: var(--jp-cell-editor-background); color:
var(--jp-mirror-editor-variable-color) }
+.highlight-ipynb .c { color: var(--jp-mirror-editor-comment-color);
font-style: italic } /* Comment */
+.highlight-ipynb .err { color: var(--jp-mirror-editor-error-color) } /* Error
*/
+.highlight-ipynb .k { color: var(--jp-mirror-editor-keyword-color);
font-weight: bold } /* Keyword */
+.highlight-ipynb .o { color: var(--jp-mirror-editor-operator-color);
font-weight: bold } /* Operator */
+.highlight-ipynb .p { color: var(--jp-mirror-editor-punctuation-color) } /*
Punctuation */
+.highlight-ipynb .ch { color: var(--jp-mirror-editor-comment-color);
font-style: italic } /* Comment.Hashbang */
+.highlight-ipynb .cm { color: var(--jp-mirror-editor-comment-color);
font-style: italic } /* Comment.Multiline */
+.highlight-ipynb .cp { color: var(--jp-mirror-editor-comment-color);
font-style: italic } /* Comment.Preproc */
+.highlight-ipynb .cpf { color: var(--jp-mirror-editor-comment-color);
font-style: italic } /* Comment.PreprocFile */
+.highlight-ipynb .c1 { color: var(--jp-mirror-editor-comment-color);
font-style: italic } /* Comment.Single */
+.highlight-ipynb .cs { color: var(--jp-mirror-editor-comment-color);
font-style: italic } /* Comment.Special */
+.highlight-ipynb .kc { color: var(--jp-mirror-editor-keyword-color);
font-weight: bold } /* Keyword.Constant */
+.highlight-ipynb .kd { color: var(--jp-mirror-editor-keyword-color);
font-weight: bold } /* Keyword.Declaration */
+.highlight-ipynb .kn { color: var(--jp-mirror-editor-keyword-color);
font-weight: bold } /* Keyword.Namespace */
+.highlight-ipynb .kp { color: var(--jp-mirror-editor-keyword-color);
font-weight: bold } /* Keyword.Pseudo */
+.highlight-ipynb .kr { color: var(--jp-mirror-editor-keyword-color);
font-weight: bold } /* Keyword.Reserved */
+.highlight-ipynb .kt { color: var(--jp-mirror-editor-keyword-color);
font-weight: bold } /* Keyword.Type */
+.highlight-ipynb .m { color: var(--jp-mirror-editor-number-color) } /*
Literal.Number */
+.highlight-ipynb .s { color: var(--jp-mirror-editor-string-color) } /*
Literal.String */
+.highlight-ipynb .ow { color: var(--jp-mirror-editor-operator-color);
font-weight: bold } /* Operator.Word */
+.highlight-ipynb .pm { color: var(--jp-mirror-editor-punctuation-color) } /*
Punctuation.Marker */
+.highlight-ipynb .w { color: var(--jp-mirror-editor-variable-color) } /*
Text.Whitespace */
+.highlight-ipynb .mb { color: var(--jp-mirror-editor-number-color) } /*
Literal.Number.Bin */
+.highlight-ipynb .mf { color: var(--jp-mirror-editor-number-color) } /*
Literal.Number.Float */
+.highlight-ipynb .mh { color: var(--jp-mirror-editor-number-color) } /*
Literal.Number.Hex */
+.highlight-ipynb .mi { color: var(--jp-mirror-editor-number-color) } /*
Literal.Number.Integer */
+.highlight-ipynb .mo { color: var(--jp-mirror-editor-number-color) } /*
Literal.Number.Oct */
+.highlight-ipynb .sa { color: var(--jp-mirror-editor-string-color) } /*
Literal.String.Affix */
+.highlight-ipynb .sb { color: var(--jp-mirror-editor-string-color) } /*
Literal.String.Backtick */
+.highlight-ipynb .sc { color: var(--jp-mirror-editor-string-color) } /*
Literal.String.Char */
+.highlight-ipynb .dl { color: var(--jp-mirror-editor-string-color) } /*
Literal.String.Delimiter */
+.highlight-ipynb .sd { color: var(--jp-mirror-editor-string-color) } /*
Literal.String.Doc */
+.highlight-ipynb .s2 { color: var(--jp-mirror-editor-string-color) } /*
Literal.String.Double */
+.highlight-ipynb .se { color: var(--jp-mirror-editor-string-color) } /*
Literal.String.Escape */
+.highlight-ipynb .sh { color: var(--jp-mirror-editor-string-color) } /*
Literal.String.Heredoc */
+.highlight-ipynb .si { color: var(--jp-mirror-editor-string-color) } /*
Literal.String.Interpol */
+.highlight-ipynb .sx { color: var(--jp-mirror-editor-string-color) } /*
Literal.String.Other */
+.highlight-ipynb .sr { color: var(--jp-mirror-editor-string-color) } /*
Literal.String.Regex */
+.highlight-ipynb .s1 { color: var(--jp-mirror-editor-string-color) } /*
Literal.String.Single */
+.highlight-ipynb .ss { color: var(--jp-mirror-editor-string-color) } /*
Literal.String.Symbol */
+.highlight-ipynb .il { color: var(--jp-mirror-editor-number-color) } /*
Literal.Number.Integer.Long */
+ </style>
+<style type="text/css">
+@charset "UTF-8";.jupyter-wrapper{--md-red-50: #ffebee;--md-red-100:
#ffcdd2;--md-red-200: #ef9a9a;--md-red-300: #e57373;--md-red-400:
#ef5350;--md-red-500: #f44336;--md-red-600: #e53935;--md-red-700:
#d32f2f;--md-red-800: #c62828;--md-red-900: #b71c1c;--md-red-A100:
#ff8a80;--md-red-A200: #ff5252;--md-red-A400: #ff1744;--md-red-A700:
#d50000;--md-pink-50: #fce4ec;--md-pink-100: #f8bbd0;--md-pink-200:
#f48fb1;--md-pink-300: #f06292;--md-pink-400: #ec407a;--md-pink-500:
#e91e63;--md-pink- [...]
+</style>
+<style type="text/css">
+.jupyter-wrapper{--jp-shadow-base-lightness: 0;--jp-shadow-umbra-color: rgba(
var(--jp-shadow-base-lightness), var(--jp-shadow-base-lightness),
var(--jp-shadow-base-lightness), .2 );--jp-shadow-penumbra-color: rgba(
var(--jp-shadow-base-lightness), var(--jp-shadow-base-lightness),
var(--jp-shadow-base-lightness), .14 );--jp-shadow-ambient-color: rgba(
var(--jp-shadow-base-lightness), var(--jp-shadow-base-lightness),
var(--jp-shadow-base-lightness), .12 );--jp-elevation-z0: none;--jp-elev [...]
+</style>
+<!-- Load mathjax -->
+<script src=""> </script>
+<!-- MathJax configuration -->
+<script type="text/x-mathjax-config">
+ init_mathjax = function() {
+ if (window.MathJax) {
+ // MathJax loaded
+ MathJax.Hub.Config({
+ TeX: {
+ equationNumbers: {
+ autoNumber: "AMS",
+ useLabelIds: true
+ }
+ },
+ tex2jax: {
+ inlineMath: [ ['$','$'], ["\\(","\\)"] ],
+ displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
+ processEscapes: true,
+ processEnvironments: true
+ },
+ displayAlign: 'center',
+ messageStyle: 'none',
+ CommonHTML: {
+ linebreaks: {
+ automatic: true
+ }
+ }
+ });
+
+ MathJax.Hub.Queue(["Typeset", MathJax.Hub]);
+ }
+ }
+ init_mathjax();
+ </script>
+<!-- End of mathjax configuration --><script type="module">
+ document.addEventListener("DOMContentLoaded", async () => {
+ const diagrams = document.querySelectorAll(".jp-Mermaid > pre.mermaid");
+ // do not load mermaidjs if not needed
+ if (!diagrams.length) {
+ return;
+ }
+ const mermaid = (await
import("https://cdnjs.cloudflare.com/ajax/libs/mermaid/10.7.0/mermaid.esm.min.mjs")).default;
+ const parser = new DOMParser();
+
+ mermaid.initialize({
+ maxTextSize: 100000,
+ maxEdges: 100000,
+ startOnLoad: false,
+ fontFamily: window
+ .getComputedStyle(document.body)
+ .getPropertyValue("--jp-ui-font-family"),
+ theme: document.querySelector("body[data-jp-theme-light='true']")
+ ? "default"
+ : "dark",
+ });
+
+ let _nextMermaidId = 0;
+
+ function makeMermaidImage(svg) {
+ const img = document.createElement("img");
+ const doc = parser.parseFromString(svg, "image/svg+xml");
+ const svgEl = doc.querySelector("svg");
+ const { maxWidth } = svgEl?.style || {};
+ const firstTitle = doc.querySelector("title");
+ const firstDesc = doc.querySelector("desc");
+
+ img.setAttribute("src", `data:image/svg+xml,${encodeURIComponent(svg)}`);
+ if (maxWidth) {
+ img.width = parseInt(maxWidth);
+ }
+ if (firstTitle) {
+ img.setAttribute("alt", firstTitle.textContent);
+ }
+ if (firstDesc) {
+ const caption = document.createElement("figcaption");
+ caption.className = "sr-only";
+ caption.textContent = firstDesc.textContent;
+ return [img, caption];
+ }
+ return [img];
+ }
+
+ async function makeMermaidError(text) {
+ let errorMessage = "";
+ try {
+ await mermaid.parse(text);
+ } catch (err) {
+ errorMessage = `${err}`;
+ }
+
+ const result = document.createElement("details");
+ result.className = 'jp-RenderedMermaid-Details';
+ const summary = document.createElement("summary");
+ summary.className = 'jp-RenderedMermaid-Summary';
+ const pre = document.createElement("pre");
+ const code = document.createElement("code");
+ code.innerText = text;
+ pre.appendChild(code);
+ summary.appendChild(pre);
+ result.appendChild(summary);
+
+ const warning = document.createElement("pre");
+ warning.innerText = errorMessage;
+ result.appendChild(warning);
+ return [result];
+ }
+
+ async function renderOneMarmaid(src) {
+ const id = `jp-mermaid-${_nextMermaidId++}`;
+ const parent = src.parentNode;
+ let raw = src.textContent.trim();
+ const el = document.createElement("div");
+ el.style.visibility = "hidden";
+ document.body.appendChild(el);
+ let results = null;
+ let output = null;
+ try {
+ let { svg } = await mermaid.render(id, raw, el);
+ svg = cleanMermaidSvg(svg);
+ results = makeMermaidImage(svg);
+ output = document.createElement("figure");
+ results.map(output.appendChild, output);
+ } catch (err) {
+ parent.classList.add("jp-mod-warning");
+ results = await makeMermaidError(raw);
+ output = results[0];
+ } finally {
+ el.remove();
+ }
+ parent.classList.add("jp-RenderedMermaid");
+ parent.appendChild(output);
+ }
+
+
+ /**
+ * Post-process to ensure mermaid diagrams contain only valid SVG and
XHTML.
+ */
+ function cleanMermaidSvg(svg) {
+ return svg.replace(RE_VOID_ELEMENT, replaceVoidElement);
+ }
+
+
+ /**
+ * A regular expression for all void elements, which may include
attributes and
+ * a slash.
+ *
+ * @see https://developer.mozilla.org/en-US/docs/Glossary/Void_element
+ *
+ * Of these, only `<br>` is generated by Mermaid in place of `\n`,
+ * but _any_ "malformed" tag will break the SVG rendering entirely.
+ */
+ const RE_VOID_ELEMENT =
+
/<\s*(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)\s*([^>]*?)\s*>/gi;
+
+ /**
+ * Ensure a void element is closed with a slash, preserving any attributes.
+ */
+ function replaceVoidElement(match, tag, rest) {
+ rest = rest.trim();
+ if (!rest.endsWith('/')) {
+ rest = `${rest} /`;
+ }
+ return `<${tag} ${rest}>`;
+ }
+
+ void Promise.all([...diagrams].map(renderOneMarmaid));
+ });
+</script>
+<style>
+ .jp-Mermaid:not(.jp-RenderedMermaid) {
+ display: none;
+ }
+
+ .jp-RenderedMermaid {
+ overflow: auto;
+ display: flex;
+ }
+
+ .jp-RenderedMermaid.jp-mod-warning {
+ width: auto;
+ padding: 0.5em;
+ margin-top: 0.5em;
+ border: var(--jp-border-width) solid var(--jp-warn-color2);
+ border-radius: var(--jp-border-radius);
+ color: var(--jp-ui-font-color1);
+ font-size: var(--jp-ui-font-size1);
+ white-space: pre-wrap;
+ word-wrap: break-word;
+ }
+
+ .jp-RenderedMermaid figure {
+ margin: 0;
+ overflow: auto;
+ max-width: 100%;
+ }
+
+ .jp-RenderedMermaid img {
+ max-width: 100%;
+ }
+
+ .jp-RenderedMermaid-Details > pre {
+ margin-top: 1em;
+ }
+
+ .jp-RenderedMermaid-Summary {
+ color: var(--jp-warn-color2);
+ }
+
+ .jp-RenderedMermaid:not(.jp-mod-warning) pre {
+ display: none;
+ }
+
+ .jp-RenderedMermaid-Summary > pre {
+ display: inline-block;
+ white-space: normal;
+ }
+</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-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>
+</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-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 [2]:</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-1">
+<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="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>
+</div>
+</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-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>
+</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-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="CodeMirror cm-s-jupyter">
+<div class="zeroclipboard-container">
+<clipboard-copy ,="" aria-label="Copy to Clipboard" for="cell-2">
+<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">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>
+</pre></div>
+<div class="clipboard-copy-txt" id="cell-2">gdf =
gpd.read_file("some_data.json")</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=cd367a73-acd3-41cf-b892-7d863c370d5f">
+<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="CodeMirror cm-s-jupyter">
+<div class="zeroclipboard-container">
+<clipboard-copy ,="" aria-label="Copy to Clipboard" for="cell-3">
+<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">gdf</span>
+</pre></div>
+<div class="clipboard-copy-txt" id="cell-3">gdf</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 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>
+</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-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-4">
+<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">gdf</span><span class="o">.</span><span class="n">info</span><span
class="p">()</span>
+</pre></div>
+<div class="clipboard-copy-txt" id="cell-4">gdf.info()</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><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-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>
+</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-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="CodeMirror cm-s-jupyter">
+<div class="zeroclipboard-container">
+<clipboard-copy ,="" aria-label="Copy to Clipboard" for="cell-5">
+<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">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>
+</pre></div>
+<div class="clipboard-copy-txt" id="cell-5">df =
sd.create_data_frame(gdf)</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=186059ae-4cf8-48ec-878a-71e7a39ac07e">
+<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="CodeMirror cm-s-jupyter">
+<div class="zeroclipboard-container">
+<clipboard-copy ,="" aria-label="Copy to Clipboard" for="cell-6">
+<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">df</span><span class="o">.</span><span class="n">show</span><span
class="p">()</span>
+</pre></div>
+<div class="clipboard-copy-txt" id="cell-6">df.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>┌────────┬────────────────────┬──────────────────────────────────────────┐
+│ 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>
+</div>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell"
id="cell-id=2f09cbbe-86b5-4eb4-b920-1b12f018d1a6">
+<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>
+</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 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="CodeMirror cm-s-jupyter">
+<div class="zeroclipboard-container">
+<clipboard-copy ,="" aria-label="Copy to Clipboard" for="cell-7">
+<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">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-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>
+</div>
+</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-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="CodeMirror cm-s-jupyter">
+<div class="zeroclipboard-container">
+<clipboard-copy ,="" aria-label="Copy to Clipboard" for="cell-8">
+<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">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>
+</pre></div>
+<div class="clipboard-copy-txt" id="cell-8">df =
sd.create_data_frame(gdf)</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-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="CodeMirror cm-s-jupyter">
+<div class="zeroclipboard-container">
+<clipboard-copy ,="" aria-label="Copy to Clipboard" for="cell-9">
+<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">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-9">df.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>┌──────────────┬──────────────────────────────┐
+│ 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>
+</div>
+</div>
+</div>
+</div>
+</div> <!-- jp-Notebook -->
+</div> <!-- jupyter-wrapper -->
+
+ <style>
+ ['pre { line-height: 125%; }\ntd.linenos .normal { color: inherit;
background-color: transparent; padding-left: 5px; padding-right: 5px;
}\nspan.linenos { color: inherit; background-color: transparent; padding-left:
5px; padding-right: 5px; }\ntd.linenos .special { color: #000000;
background-color: #ffffc0; padding-left: 5px; padding-right: 5px;
}\nspan.linenos.special { color: #000000; background-color: #ffffc0;
padding-left: 5px; padding-right: 5px; }\n.highlight-ipynb .hll { b [...]
+ </style>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <aside class="md-source-file">
+
+
+ <span class="md-source-file__fact">
+ <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>
+
+
+
+
+
+ </aside>
+
+
+
+
+
+
+ </article>
+ </div>
+
+
+<script>var
target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
+ </div>
+
+ <button type="button" class="md-top md-icon" data-md-component="top"
hidden>
+
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13
20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"></path></svg>
+ Back to top
+</button>
+
+ </main>
+
+ <footer class="md-footer">
+
+
+
+ <div class="md-footer-meta md-typeset">
+ <div class="md-footer-meta__inner md-grid">
+ <div class="md-copyright">
+
+ <div class="md-copyright__highlight">
+ Copyright © 2025 The Apache Software Foundation. Apache Sedona, Sedona,
Apache, the Apache feather logo, and the Apache Sedona project logo are either
registered trademarks or trademarks of The Apache Software Foundation in the
United States and other countries. All other marks mentioned may be trademarks
or registered trademarks of their respective owners. Please visit <a
href="https://www.apache.org/">Apache Software Foundation</a> for more
details.<img referrerpolicy="no-referre [...]
+ </div>
+
+
+ Made with
+ <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank"
rel="noopener">
+ Material for MkDocs
+ </a>
+
+</div>
+
+ </div>
+ </div>
+</footer>
+
+ </div>
+ <div class="md-dialog" data-md-component="dialog">
+ <div class="md-dialog__inner md-typeset"></div>
+ </div>
+
+
+
+
+ <script id="__config" type="application/json">{"base": "..", "features":
["content.code.copy", "content.action.edit", "search.highlight",
"search.share", "search.suggest", "navigation.footer", "navigation.instant",
"navigation.top", "navigation.sections", "navigation.tabs",
"navigation.tabs.sticky"], "search":
"../assets/javascripts/workers/search.973d3a69.min.js", "tags": null,
"translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy":
"Copy to clipboard", "sear [...]
+
+
+ <script src="../assets/javascripts/bundle.92b07e13.min.js"></script>
+
+
+
+<script id="init-glightbox">const lightbox = GLightbox({"touchNavigation":
true, "loop": false, "zoomable": true, "draggable": true, "openEffect": "zoom",
"closeEffect": "zoom", "slideEffect": "slide"});
+document$.subscribe(()=>{ lightbox.reload(); });
+</script></body></html>
\ No newline at end of file
diff --git a/dev-snapshot-main/search/search_index.json
b/dev-snapshot-main/search/search_index.json
index c0d946c..db01a8c 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/some_data.json b/dev-snapshot-main/some_data.json
new file mode 100644
index 0000000..77804aa
--- /dev/null
+++ b/dev-snapshot-main/some_data.json
@@ -0,0 +1,33 @@
+{ "type": "FeatureCollection",
+ "features": [
+ { "type": "Feature",
+ "geometry": {"type": "Point", "coordinates": [102.0, 0.5]},
+ "properties": {"prop0": "value0"}
+ },
+ { "type": "Feature",
+ "geometry": {
+ "type": "LineString",
+ "coordinates": [
+ [102.0, 0.0], [103.0, 1.0], [104.0, 0.0], [105.0, 1.0]
+ ]
+ },
+ "properties": {
+ "prop0": "value1",
+ "prop1": 0.0
+ }
+ },
+ { "type": "Feature",
+ "geometry": {
+ "type": "Polygon",
+ "coordinates": [
+ [ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0],
+ [100.0, 1.0], [100.0, 0.0] ]
+ ]
+ },
+ "properties": {
+ "prop0": "value2",
+ "prop1": {"this": "that"}
+ }
+ }
+ ]
+}