Skip to main content

Sedona

Python + Spatial SQL

Sedona is a cluster computing system for spatial data. You can get a single-node Sedona Docker image from Apache Software Foundation DockerHub or install Sedona to Databricks, AWS EMR and Snowflake using Wherobots.

To get started with the single-node docker image, run:

docker pull apache/sedona
docker run -p 8888:8888 apache/sedona:latest

A Jupyter Lab and notebook examples will then be available at localhost:8888. The following Python + Spatial SQL code reads the Places dataset and runs a spatial filter query on it.

from sedona.spark import *

config = SedonaContext.builder().config("fs.s3a.aws.credentials.provider", "org.apache.hadoop.fs.s3a.AnonymousAWSCredentialsProvider").getOrCreate()
sedona = SedonaContext.create(config)

df = sedona.read.format("geoparquet").load("s3a://overturemaps-us-west-2/release/2024-03-12-alpha.0/theme=places/type=place")
df.filter("ST_Contains(ST_GeomFromWKT('POLYGON((-122.48 47.43,-122.20 47.75,-121.92 47.37,-122.48 47.43))'), geometry) = true").show()

For more examples from wherobots, check out their Overture-related Notebook examples.