Raster loaders
Note
Sedona loader are available in Scala, Java and Python and have the same APIs.
Sedona provides two types of raster DataFrame loaders. They both use Sedona built-in data source but load raster images to different internal formats.
Load any raster to RasterUDT format¶
The raster loader of Sedona leverages Spark built-in binary data source and works with several RS RasterUDT constructors to produce RasterUDT type. Each raster is a row in the resulting DataFrame and stored in a RasterUDT
format.
Load raster to a binary DataFrame¶
You can load any type of raster data using the code below. Then use the RS constructors below to create RasterUDT.
spark.read.format("binaryFile").load("/some/path/*.asc")
RS_FromArcInfoAsciiGrid¶
Introduction: Returns a raster geometry from an Arc Info Ascii Grid file.
Format: RS_FromArcInfoAsciiGrid(asc: Array[Byte])
SQL example:
var df = spark.read.format("binaryFile").load("/some/path/*.asc")
df = df.withColumn("raster", f.expr("RS_FromArcInfoAsciiGrid(content)"))
RS_FromGeoTiff¶
Introduction: Returns a raster geometry from a GeoTiff file.
Format: RS_FromGeoTiff(asc: Array[Byte])
SQL example:
var df = spark.read.format("binaryFile").load("/some/path/*.tiff")
df = df.withColumn("raster", f.expr("RS_FromGeoTiff(content)"))