MCPcopy Index your code
hub / github.com/apache/sedona

github.com/apache/sedona @sedona-1.9.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release sedona-1.9.0 ↗ · + Follow
8,619 symbols 36,944 edges 801 files 1,709 documented · 20%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Apache Sedona

CodeQL Workflow Status Docker image build Docs build Example project build First Interaction Workflow Status Manual Hooks Workflow Status Pre-commit Workflow Status Python build Python Extension build Pyflink build Python Wheel build R build Scala and Java build

GitHub commit activity GitHub Issues marked as good first issue

🚀 NEW: SedonaDB & SpatialBench - Latest Apache Sedona Subprojects

SedonaDB - A single-node analytical database engine with geospatial as a first-class citizen. Perfect for developers who want Sedona's spatial analytics power without distributed system complexity.

SpatialBench - A comprehensive benchmark for assessing geospatial SQL analytics query performance across database systems.

Read the full announcement blog post → | SedonaDB → | SpatialBench →


Download statistics Maven PyPI Conda-forge CRAN DockerHub
Apache Sedona 330k/month PyPI - Downloads Downloads Anaconda-Server Badge CRAN downloads per month Total CRAN downloads Docker pulls
Archived GeoSpark releases 10k/month PyPI - DownloadsDownloads

Join the community

Everyone is welcome to join our community events. We have a community office hour every 4 weeks. Please register to the event you want to attend: https://bit.ly/3UBmxFY

Please join our Discord community!

Discord

For the mailing list, Please first subscribe and then post emails. To subscribe, please send an email (leave the subject and content blank) to dev-subscribe@sedona.apache.org

What is Apache Sedona?

Apache Sedona™ is a spatial computing engine that enables developers to easily process spatial data at any scale within modern cluster computing systems such as Apache Spark and Apache Flink. Sedona developers can express their spatial data processing tasks in Spatial SQL, Spatial Python or Spatial R. Internally, Sedona provides spatial data loading, indexing, partitioning, and query processing/optimization functionality that enable users to efficiently analyze spatial data at any scale.

Sedona Ecosystem

Features

Some of the key features of Apache Sedona include:

  • Support for a wide range of geospatial data formats, including GeoJSON, WKT, and ESRI Shapefile.
  • Scalable distributed processing of large vector and raster datasets.
  • Tools for spatial indexing, spatial querying, and spatial join operations.
  • Integration with popular geospatial Python tools such as GeoPandas.
  • Integration with popular big data tools, such as Spark, Hadoop, Hive, and Flink for data storage and querying.
  • A user-friendly API for working with geospatial data in the SQL, Python, Scala and Java languages.
  • Flexible deployment options, including standalone, local, and cluster modes.

These are some of the key features of Apache Sedona, but it may offer additional capabilities depending on the specific version and configuration.

Apache Sedona subprojects

  • SedonaDB: A single-node analytical database engine with geospatial as a first-class citizen - GitHub | Website
  • SpatialBench: A benchmark for assessing geospatial SQL analytics query performance across database systems - GitHub | Website

When to use Sedona?

Use Cases:

Apache Sedona is a widely used framework for working with spatial data, and it has many different use cases and applications. Some of the main use cases for Apache Sedona include:

  • Automotive data analytics: Apache Sedona is widely used in geospatial analytics applications, where it is used to perform spatial analysis and data mining on large and complex datasets collected from fleets.
  • Urban planning and development: Apache Sedona is commonly used in urban planning and development applications to analyze and visualize spatial data sets related to urban environments, such as land use, transportation networks, and population density.
  • Location-based services: Apache Sedona is often used in location-based services, such as mapping and navigation applications, where it is used to process and analyze spatial data to provide location-based information and services to users.
  • Environmental modeling and analysis: Apache Sedona is used

Extension points exported contracts — how you extend this code

VectorizedValuesReader (Interface)
Interface for value decoding that supports vectorized (aka batched) decoding. TODO: merge this into parquet-mr. [6 implementers]
spark/common/src/main/java/org/apache/spark/sql/execution/datasources/geoparquet/internal/VectorizedValuesReader.java
Generator (Interface)
A generator is an iterator that generates random geometries. The actual implementation of the generator is defined in th [2 …
common/src/main/java/org/apache/sedona/common/spider/Generator.java
SpatialPredicateEvaluator (Interface)
SpatialPredicateEvaluator for evaluating spatial predicates. [222 implementers]
spark/common/src/main/java/org/apache/sedona/core/spatialOperator/SpatialPredicateEvaluators.java
ParquetVectorUpdater (Interface)
(no doc) [22 implementers]
spark/common/src/main/java/org/apache/spark/sql/execution/datasources/geoparquet/internal/ParquetVectorUpdater.java
ContainsEvaluator (Interface)
(no doc) [223 implementers]
spark/common/src/main/java/org/apache/sedona/core/spatialOperator/SpatialPredicateEvaluators.java
IntersectsEvaluator (Interface)
(no doc) [223 implementers]
spark/common/src/main/java/org/apache/sedona/core/spatialOperator/SpatialPredicateEvaluators.java

Core symbols most depended-on inside this repo

get
called by 436
spark/common/src/main/java/org/apache/sedona/core/utils/SedonaConf.java
size
called by 353
python/sedona/spark/geopandas/sindex.py
add
called by 319
common/src/main/java/org/apache/sedona/common/raster/MapAlgebra.java
getCoordinate
called by 298
common/src/main/java/org/apache/sedona/common/geometrySerde/GeometryBuffer.java
geomFromWKT
called by 287
common/src/main/java/org/apache/sedona/common/Constructors.java
deserialize
called by 264
snowflake/src/main/java/org/apache/sedona/snowflake/snowsql/GeometrySerde.java
deserGeoJson
called by 252
snowflake/src/main/java/org/apache/sedona/snowflake/snowsql/GeometrySerde.java
add
called by 233
spark/common/src/main/java/org/apache/sedona/core/spatialRddTool/StatCalculator.java

Shape

Method 7,010
Class 1,030
Function 487
Route 42
Interface 26
Enum 24

Languages

Java72%
Python27%
C1%
TypeScript1%
C++1%

Modules by API surface

flink/src/main/java/org/apache/sedona/flink/expressions/Functions.java354 symbols
common/src/test/java/org/apache/sedona/common/FunctionsTest.java283 symbols
flink/src/test/java/org/apache/sedona/flink/FunctionTest.java201 symbols
snowflake/src/main/java/org/apache/sedona/snowflake/snowsql/UDFs.java198 symbols
common/src/main/java/org/apache/sedona/common/Functions.java191 symbols
python/sedona/spark/sql/st_functions.py188 symbols
snowflake/src/main/java/org/apache/sedona/snowflake/snowsql/UDFsV2.java171 symbols
snowflake-tester/src/test/java/org/apache/sedona/snowflake/snowsql/TestFunctions.java158 symbols
snowflake-tester/src/test/java/org/apache/sedona/snowflake/snowsql/TestFunctionsV2.java156 symbols
python/tests/sql/test_function.py155 symbols
spark/common/src/main/java/org/apache/spark/sql/execution/datasources/geoparquet/internal/ParquetVectorUpdaterFactory.java137 symbols
python/sedona/spark/geopandas/geoseries.py126 symbols

Datastores touched

(mongodb)Database · 1 repos

For agents

$ claude mcp add sedona \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact