0

I have a GeoJSON of HexBins covering the state of California (https://data.cnra.ca.gov/dataset/hexes-statewide-ace-ds675/resource/1bc4d8d1-e039-4d04-a298-bff18c4fb60d?inner_span=True).

I want to use RasterFrames to calculate the average altitude per hexbin, any resources or example?

from pyspark.sql import SparkSession
spark = SparkSession.builder.appName("Hexgrid").getOrCreate()
hexgrid_df = spark.read.parquet("path/to/geoparquet/file")

from pyrasterframes import rasterize
dem_rf = rasterize("path/to/DEM/file", spark=spark)

from pyrasterframes import rf_geometry
hexgrid_rf = hexgrid_df.selectExpr("*", "st_geometryFromWKT(geometry) as geometry").select(rf_geometry("geometry").alias("rf_geometry"), "*")
hexgrid_dem_rf = dem_rf.spatialJoin(hexgrid_rf, "rf_geometry", "inner")

from pyspark.sql.functions import avg
hexgrid_dem_agg = hexgrid_dem_rf.groupBy("id").agg(avg("tile").alias("altitude"))`
werner
  • 13,518
  • 6
  • 30
  • 45

0 Answers0