apache/sedona-db
apache/sedona-db has 528 GitHub stars and 69 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-12 08:58 UTC. Last push 2026-11-06.
A single-node analytical database engine with geospatial as a first-class citizen
What you can do
- High Performance: Built in Rust for exceptional speed and memory efficiency
- Comprehensive Spatial Toolkit: Supports both vector and raster functions in a single library
- CRS Propagation: Always maintains coordinate reference system information
- Format Flexibility: Supports legacy and modern file formats including GeoParquet, Shapefile, GeoJSON
Crecimiento de estrellas medido
- in 24h
- 0
- in 7 days
- Actualización retrasada
- in 15 days
- Actualización retrasada
- in 1 month
- Actualización retrasada
Cambios netos en períodos que se solapan, no totales diarios. Los datos no disponibles se dejan en blanco. Las estrellas indican interés, no calidad.
README.md
OriginalSedonaDB
SedonaDB is an open-source single-node analytical database engine with geospatial as a first-class citizen. It aims to deliver the fastest spatial analytics query speed and the most comprehensive function coverage available.
SedonaDB is perfect for processing smaller to medium datasets on local machines or cloud instances. For distributed workloads, you can leverage the power of SedonaSpark, SedonaFlink, or SedonaSnow.
Architecture
Columnar in-memory datasets
- Spatial indexing
- Spatial statistics
- CRS tracking
- Arrow format and zero serialization overhead
Spatial query optimization
- Spatial-aware heuristic based optimization
- Spatial-aware cost based optimization
- Automatic disk spilling for large-scale spatial joins
Spatial query processing
- Spatial range query, KNN query, spatial join query, KNN join query
- Map algebra, NDVI, mask, zonal statistics
Raster functions are coming soon. We expect SedonaDB Raster will match all raster functions provided in SedonaSpark.
Features of SedonaDB
SedonaDB has several advantages:
- High Performance: Built in Rust for exceptional speed and memory efficiency
- Comprehensive Spatial Toolkit: Supports both vector and raster functions in a single library
- CRS Propagation: Always maintains coordinate reference system information
- Format Flexibility: Supports legacy and modern file formats including GeoParquet, Shapefile, GeoJSON
- Dual APIs: Python and SQL interfaces for seamless workflow integration
- Extensible: Easily customizable and extensible architecture
- Ecosystem Integration: Interoperable with PyArrow-compatible libraries like GeoPandas, DuckDB, and Polars
- Active Community: Great maintainers and contributors who encourage external contributions
Performance Benchmarks
This is a performance benchmark comparing SedonaDB 0.1.0, DuckDB 1.4.0, and GeoPandas 1.1.1 using SpatialBench Queries 1-12 at Scale Factors 1 and 10. Details can be found at Apache Sedona SpatialBench.
Install
You can install Python SedonaDB with PyPI:
pip install "apache-sedona[db]"
Or with conda:
conda install sedonadb
Quick Start
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()
Supported File Formats
SedonaDB supports a wide range of geospatial file formats:
- Vector: GeoParquet, WKT, WKB, all formats supported by GeoPandas
- Raster: Coming soon with full SedonaSpark compatibility
Overture buildings example
This section shows how to query the Overture buildings data.
Start by establishing a connection:
import sedona.db
sd = sedona.db.connect()
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/2026-09-23.1/theme=buildings/type=building/",
options={"aws.skip_signature": True, "aws.region": "us-west-2"},
)
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_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 │
╞═══════════════════════════════╪═════════╪════════════╪════════════╪══════════════════════════════╡
│ baa975bc-05cd-4b61-8601-ee4c… ┆ 21.4 ┆ ┆ ┆ POINT(-73.90407354738332 40… │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
│ 0c13ed5f-7910-40a9-b0b2-bdcc… ┆ 25.4 ┆ ┆ ┆ POINT(-73.8991184967379 40.… │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
│ d5850743-2733-4d65-ad0d-176e… ┆ 21.2 ┆ ┆ ┆ POINT(-73.89783640847207 40… │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
│ 2c2cd855-e561-4bea-8a06-0a57… ┆ 20.2 ┆ ┆ ┆ POINT(-73.89800666906386 40… │
├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
│ 2ed122f6-0f6e-48b5-acab-8b85… ┆ 20.2 ┆ ┆ ┆ POINT(-73.8978977796945 40.… │
└───────────────────────────────┴─────────┴────────────┴────────────┴──────────────────────────────┘
Community & Support
Get Help
- Discord: Join our Discord community for real-time chat and support
- GitHub Discussions: Start a GitHub Discussion with questions or ideas
- Documentation: Check out our comprehensive docs
Contributing
We welcome contributions! Here's how you can get involved:
- Report Issues: Found a bug? Open an issue on GitHub
- Suggest Features: Have an idea? Start a GitHub Discussion
- Fix Issues: Comment "take" on any open issue to claim it
- Submit PRs: Brainstorm features with contributors and submit pull requests
- Join Meetings: Monthly contributor meetings - we'd love to have you!
About SedonaDB
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. SedonaDB is built on top of Apache Arrow and Apache DataFusion for fast query processing.
Related Projects
- Apache Sedona - The main Apache Sedona project for distributed spatial analytics
- Sedona SpatialBench - Comprehensive benchmarking suite for spatial analytics performance testing
Explorar proyectos relacionados
Asabeneh/30-Days-Of-Python
El reto de programación 30 Days of Python es una guía paso a paso para aprender el lenguaje de programación Python en 30 días. Este reto puede llevar más de 100 días. Sigue tu propio ritmo. Estos vídeos también pueden ayudarte: https://www.youtube.com/channel/UC7PNRuno1rzYPb1xLa4yktw
78,618 estrellasgrafana/grafana
Plataforma abierta y componible de observabilidad y visualización de datos. Visualiza métricas, registros y trazas de múltiples fuentes, como Prometheus, Loki, Elasticsearch, InfluxDB, Postgres y muchas más.
77,859 estrellasredis/redis
Para los desarrolladores que crean aplicaciones en tiempo real basadas en datos, Redis es la opción preferida, la más rápida y la de más funciones como caché, servidor de estructuras de datos y motor de consultas de documentos y vectores.
77,472 estrellasapache/superset
Apache Superset es una plataforma de visualización y exploración de datos.
75,495 estrellas