百科.dev
全部条目AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
S

sedona

> 编程语言
开源

用于处理大规模地理空间数据的集群计算框架

2.4K stars0 点赞0 次浏览
访问官网GitHub

工具介绍

用于处理大规模地理空间数据的集群计算框架

## **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 Archived GeoSpark releases 10k/month
  • Join the community
  • What is Apache Sedona?
    • Features
  • Apache Sedona subprojects
  • When to use Sedona?
    • Use Cases:
    • Code Example:
      • Load NYC taxi trips and taxi zones data from CSV Files Stored on AWS S3
      • Spatial SQL query to only return Taxi trips in Manhattan
      • Spatial Join between Taxi Dataframe and Zone Dataframe to Find taxis in each zone
      • Show a map of the loaded Spatial Dataframes using GeoPandas
  • Docker image
  • Building Sedona
  • Documentation
  • Powered by

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!

  • Apache Sedona@LinkedIn
  • Apache Sedona@X
  • Sedona JIRA: bug reports and feature requests
  • Sedona GitHub Issues: bug reports and feature requests
  • Sedona GitHub Discussion: project development and general questions
  • Sedona Mailing Lists: [email protected]: project development and general questions

For the mailing list, Please first subscribe and then post emails. To subscribe, please send an email (leave the subject and content blank) to [email protected]

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.

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 in many different environmental modeling and analysis applications, where it is used to process and analyze spatial data related to environmental factors, such as air quality, water quality, and weather patterns.
  • Disaster response and management: Apache Sedona is used in disaster response and management applications to process and analyze spatial data related to disasters, such as floods, earthquakes, and other natural disasters, in order to support emergency response and recovery efforts.

Code Example:

This example loads NYC taxi trip records and taxi zone information stored as .CSV files on AWS S3 into Sedona spatial dataframes. It then performs spatial SQL query on the taxi trip datasets to filter out all records except those within the Manhattan area of New York. The example also shows a spatial join operation that matches taxi trip records to zones based on whether the taxi trip lies within the geographical extents of the zone. Finally, the last code snippet integrates the output of Sedona with GeoPandas and plots the spatial distribution of both datasets.

Load NYC taxi trips and taxi zones data from CSV Files Stored on AWS S3

taxidf = (
    sedona.read.format("csv")
    .option("header", "true")
    .option("delimiter", ",")
    .load("s3a://your-directory/data/nyc-taxi-data.csv")
)
taxidf = taxidf.selectExpr(
    "ST_Point(CAST(Start_Lon AS Decimal(24,20)), CAST(Start_Lat AS Decimal(24,20))) AS pickup",
    "Trip_Pickup_DateTime",
    "Payment_Type",
    "Fare_Amt",
)
zoneDf = (
    sedona.read.format("csv")
    .option("delimiter", ",")
    .load("s3a://your-directory/data/TIGER2018_ZCTA5.csv")
)
zoneDf = zoneDf.selectExpr("ST_GeomFromWKT(_c0) as zone", "_c1 as zipcode")

Spatial SQL query to only return Taxi trips in Manhattan

taxidf_mhtn = taxidf.where(
    "ST_Contains(ST_PolygonFromEnvelope(-74.01,40.73,-73.93,40.79), pickup)"
)

Spatial Join between Taxi Dataframe and Zone Dataframe to Find taxis in each zone

taxiVsZone = sedona.sql(
    "SELECT zone, zipcode, pickup, Fare_Amt FROM zoneDf, taxiDf WHERE ST_Contains(zone, pickup)"
)

Show a map of the loaded Spatial Dataframes using GeoPandas

zoneGpd = gpd.GeoDataFrame(zoneDf.toPandas(), geometry="zone")
taxiGpd = gpd.GeoDataFrame(taxidf.toPandas(), geometry="pickup")

zone = zoneGpd.plot(color="yellow", edgecolor="black", zorder=1)
zone.set_xlabel("Longitude (degrees)")
zone.set_ylabel("Latitude (degrees)")

zone.set_xlim(-74.1, -73.8)
zone.set_ylim(40.65,

GitHub Issues· 0 开放

在 GitHub 查看全部

暂无开放 Issues,或尚未同步最近议题。

核心特点

  • •Join the community
  • •What is Apache Sedona?
  • •Features
  • •Apache Sedona subprojects
  • •When to use Sedona?
  • •Use Cases:
  • •Code Example:
  • •Load NYC taxi trips and taxi zones data from CSV Files Stored on AWS S3
  • •Spatial SQL query to only return Taxi trips in Manhattan
  • •Spatial Join between Taxi Dataframe and Zone Dataframe to Find taxis in each zone

> 标签

Javacluster-computinggeospatialhacktoberfestjava

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言