Columnar in-memory datasets
Spatial query optimization
Spatial query processing
Raster functions are coming soon. We expect SedonaDB Raster will match all raster functions provided in SedonaSpark.
You can install Python SedonaDB with PyPI:
pip install "apache-sedona[db]"
Get started with SedonaDB in just a few lines:
import sedona.db # Connect to SedonaDB sd = sedona.db.connect() # Run a simple spatial query result = sd.sql("SELECT ST_Point(0, 1) as geom") result.show()
SedonaDB supports a wide range of geospatial file formats:
This section shows how to query the Overture buildings data.
Start by establishing a connection:
import sedona.db import os sd = sedona.db.connect()
Set some AWS environment variables to access the data:
import os os.environ["AWS_SKIP_SIGNATURE"] = "true" os.environ["AWS_DEFAULT_REGION"] = "us-west-2"
Read the dataset into a Python SedonaDB DataFrame
. This is lazy: even though the Overture buildings table contains millions of rows, SedonaDB will only fetch the data required for the query.
df = sd.read_parquet( "s3://overturemaps-us-west-2/release/2025-08-20.0/theme=buildings/type=building/" ) df.to_view("buildings")
Now run a query to compute the centroids of tall buildings (above 20 meters) in New York City:
nyc_bbox_wkt = ( "POLYGON((-74.2591 40.4774, -74.2591 40.9176, -73.7004 40.9176, -73.7004 40.4774, -74.2591 40.4774))" ) sd.sql(f""" SELECT id, height, num_floors, roof_shape, ST_Centroid(geometry) as centroid FROM buildings WHERE is_underground = FALSE AND height IS NOT NULL AND height > 20 AND ST_Intersects(geometry, ST_SetSRID(ST_GeomFromText('{nyc_bbox_wkt}'), 4326)) LIMIT 5; """).show()
Here's the query output:
┌─────────────────────────┬────────────────────┬────────────┬────────────┬─────────────────────────┐ │ id ┆ height ┆ num_floors ┆ roof_shape ┆ centroid │ │ utf8 ┆ float64 ┆ int32 ┆ utf8 ┆ geometry │ ╞═════════════════════════╪════════════════════╪════════════╪════════════╪═════════════════════════╡ │ 1b9040c2-2e79-4f56-aba… ┆ 22.4 ┆ ┆ ┆ POINT(-74.230407502993… │ ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤ │ 1b5e1cd2-d697-489e-892… ┆ 21.5 ┆ ┆ ┆ POINT(-74.231451103592… │ ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤ │ c1afdf78-bf84-4b8f-ae1… ┆ 20.9 ┆ ┆ ┆ POINT(-74.232593032240… │ ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤ │ 88f36399-b09f-491b-bb6… ┆ 24.5 ┆ ┆ ┆ POINT(-74.231878209597… │ ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤ │ df37a283-f5bd-4822-a05… ┆ 24.154542922973633 ┆ ┆ ┆ POINT(-74.241910239840… │ └─────────────────────────┴────────────────────┴────────────┴────────────┴─────────────────────────┘
SedonaDB has several advantages:
We welcome contributions! Here's how you can get involved:
SedonaDB is a subproject of Apache Sedona, an Apache Software Foundation project. The project is governed by the Apache Software Foundation and subject to all the rules and oversight requirements.