Télécharger les statistiques | Maven | PyPI | Conda-forge | CRAN | DockerHub |
---|---|---|---|---|---|
Apache Sedona | 225k/mois | ||||
Versions GeoSpark archivées | 10 000/mois |
Suivez Sedona sur Twitter pour des nouvelles fraîches : Sedona@Twitter
Rejoignez la communauté Discord de Sedona :
Rejoignez l'heure de bureau mensuelle de la communauté de Sedona : Google Agenda, les mardis de 8 h 00 à 9 h 00, heure du Pacifique, toutes les 4 semaines.
Sedona JIRA : bugs, demandes d'extraction et autres problèmes similaires
Listes de diffusion Sedona : [email protected] : développement de projets, questions générales ou tutoriels.
Apache Sedona™ est un moteur de calcul spatial qui permet aux développeurs de traiter facilement des données spatiales à n'importe quelle échelle au sein de systèmes informatiques en cluster modernes tels qu'Apache Spark et Apache Flink. Les développeurs de Sedona peuvent exprimer leurs tâches de traitement de données spatiales dans Spatial SQL, Spatial Python ou Spatial R. En interne, Sedona fournit des fonctionnalités de chargement, d'indexation, de partitionnement et de traitement/optimisation des requêtes qui permettent aux utilisateurs d'analyser efficacement les données spatiales à n'importe quelle échelle.
Certaines des fonctionnalités clés d'Apache Sedona incluent :
Ce sont quelques-unes des fonctionnalités clés d'Apache Sedona, mais il peut offrir des fonctionnalités supplémentaires en fonction de la version et de la configuration spécifiques.
Cliquez et jouez immédiatement au bloc-notes interactif Sedona Python Jupyter !
Apache Sedona est un framework largement utilisé pour travailler avec des données spatiales, et il propose de nombreux cas d'utilisation et applications différents. Certains des principaux cas d'utilisation d'Apache Sedona incluent :
Cet exemple charge les enregistrements de trajets en taxi à New York et les informations sur les zones de taxi stockées sous forme de fichiers .CSV sur AWS S3 dans des trames de données spatiales Sedona. Il effectue ensuite une requête SQL spatiale sur les ensembles de données de trajets en taxi pour filtrer tous les enregistrements, à l'exception de ceux de la région de Manhattan à New York. L'exemple montre également une opération de jointure spatiale qui associe les enregistrements de trajets en taxi à des zones selon que le trajet en taxi se situe ou non dans l'étendue géographique de la zone. Enfin, le dernier extrait de code intègre la sortie de Sedona avec GeoPandas et trace la distribution spatiale des deux ensembles de données.
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 )
Nous fournissons une image Docker pour Apache Sedona avec Python JupyterLab et un cluster à nœud unique. Les images sont disponibles sur DockerHub
Pour installer le package Python :
pip install apache-sedona
Pour compiler le code source, veuillez vous référer au site Web de Sedona
Modules dans le code source
Nom | API | Introduction |
---|---|---|
commun | Java | Logiques d'opération géométriques de base, sérialisation, index |
étincelle | Spark RDD/DataFrame Scala/Java/SQL | Traitement distribué des données géospatiales sur Apache Spark |
flink | Flink DataStream/Table en Scala/Java/SQL | Traitement distribué des données géospatiales sur Apache Flink |
flocon de neige | Flocon de neige SQL | Traitement distribué des données géospatiales sur Snowflake |
ombré d'étincelles | Pas de code source | pot ombré pour Sedona Spark |
ombré | Pas de code source | pot ombragé pour Sedona Flink |
testeur de flocons de neige | Java | programme de test pour Sedona Snowflake |
python | Spark RDD/DataFrame Python | Traitement distribué des données géospatiales sur Apache Spark |
R. | Spark RDD/DataFrame dans R | Emballage R pour Sedona |
Zeppelin | Apache Zeppelin | Plugin pour Apache Zeppelin 0.8.1+ |
Veuillez visiter le site Web d'Apache Sedona pour des informations détaillées