Statistiken herunterladen | Maven | PyPI | Conda-Schmiede | CRAN | DockerHub |
---|---|---|---|---|---|
Apache Sedona | 225.000/Monat | ||||
Archivierte GeoSpark-Veröffentlichungen | 10.000/Monat |
Folgen Sie Sedona auf Twitter für aktuelle Neuigkeiten: Sedona@Twitter
Treten Sie der Sedona Discord-Community bei:
Nehmen Sie an der monatlichen Gemeinschaftssprechstunde in Sedona teil: Google Kalender, dienstags von 8:00 bis 9:00 Uhr Pacific Time, alle 4 Wochen
Sedona JIRA: Bugs, Pull Requests und andere ähnliche Probleme
Sedona-Mailinglisten: [email protected]: Projektentwicklung, allgemeine Fragen oder Tutorials.
Apache Sedona™ ist eine Spatial-Computing-Engine, die Entwicklern die einfache Verarbeitung räumlicher Daten in jedem Maßstab in modernen Cluster-Computing-Systemen wie Apache Spark und Apache Flink ermöglicht. Sedona-Entwickler können ihre räumlichen Datenverarbeitungsaufgaben in Spatial SQL, Spatial Python oder Spatial R ausdrücken. Intern bietet Sedona Funktionen zum Laden, Indizieren, Partitionieren und Abfragen von Abfragen/-optimierungen, die es Benutzern ermöglichen, räumliche Daten in jedem Maßstab effizient zu analysieren.
Zu den wichtigsten Funktionen von Apache Sedona gehören:
Dies sind einige der Hauptfunktionen von Apache Sedona, es kann jedoch je nach spezifischer Version und Konfiguration zusätzliche Funktionen bieten.
Klicken Sie und spielen Sie sofort das interaktive Sedona Python Jupyter Notebook!
Apache Sedona ist ein weit verbreitetes Framework für die Arbeit mit Geodaten und bietet viele verschiedene Anwendungsfälle und Anwendungen. Zu den Hauptanwendungsfällen für Apache Sedona gehören:
In diesem Beispiel werden NYC-Taxifahrtdatensätze und Taxizoneninformationen, die als CSV-Dateien auf AWS S3 gespeichert sind, in räumliche Datenrahmen von Sedona geladen. Anschließend führt es eine räumliche SQL-Abfrage der Taxifahrt-Datensätze durch, um alle Datensätze außer denen im New Yorker Stadtteil Manhattan herauszufiltern. Das Beispiel zeigt auch einen räumlichen Verknüpfungsvorgang, der Taxifahrtdatensätze Zonen zuordnet, basierend darauf, ob die Taxifahrt innerhalb der geografischen Ausdehnung der Zone liegt. Schließlich integriert das letzte Code-Snippet die Ausgabe von Sedona mit GeoPandas und stellt die räumliche Verteilung beider Datensätze dar.
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' )
taxidf_mhtn = taxidf . where ( 'ST_Contains(ST_PolygonFromEnvelope(-74.01,40.73,-73.93,40.79), pickup)' )
taxiVsZone = sedona . sql ( 'SELECT zone, zipcode, pickup, Fare_Amt FROM zoneDf, taxiDf WHERE ST_Contains(zone, pickup)' )
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 , 40.9 )
taxi = taxiGpd . plot ( ax = zone , alpha = 0.01 , color = 'red' , zorder = 3 )
Wir stellen ein Docker-Image für Apache Sedona mit Python JupyterLab und einem Single-Node-Cluster bereit. Die Bilder sind auf DockerHub verfügbar
So installieren Sie das Python-Paket:
pip install apache-sedona
Informationen zum Kompilieren des Quellcodes finden Sie auf der Sedona-Website
Module im Quellcode
Name | API | Einführung |
---|---|---|
gemeinsam | Java | Grundlegende geometrische Operationslogiken, Serialisierung, Index |
Funke | Spark RDD/DataFrame Scala/Java/SQL | Verteilte Geodatenverarbeitung auf Apache Spark |
flink | Flink DataStream/Table in Scala/Java/SQL | Verteilte Geodatenverarbeitung auf Apache Flink |
Schneeflocke | Snowflake SQL | Verteilte Geodatenverarbeitung auf Snowflake |
funkelnd | Kein Quellcode | schattiertes Glas für Sedona Spark |
blinkend | Kein Quellcode | schattiertes Glas für Sedona Flink |
Schneeflocken-Tester | Java | Testerprogramm für Sedona Snowflake |
Python | Spark RDD/DataFrame Python | Verteilte Geodatenverarbeitung auf Apache Spark |
R | Spark RDD/DataFrame in R | R-Wrapper für Sedona |
Zeppelin | Apache Zeppelin | Plugin für Apache Zeppelin 0.8.1+ |
Detaillierte Informationen finden Sie auf der Website von Apache Sedona