本文主要介绍DLA Ganos如何加载PolarDB中的栅格数据。
操作步骤
- 初始化Spark Session。
val spark: SparkSession = { val session = SparkSession.builder .master("local[*]") .withKryoSerialization .config(additionalConf) .getOrCreate() session } //加载DLA Ganos Raster驱动。 spark.withGanosRaster
- 初始化连接参数。
val options = Map( "url" -> "jdbc:postgresql://121.43.XX.XX:5432/ganos_demodb", "user" -> "postgres", "password" -> "Ganos@2020", "dbtable" -> "gf", "numPartitions" -> "4")val options = Map( "url" -> "jdbc:postgresql://121.43.XX.XX:5432/ganos_demodb", "user" -> "postgres", "password" -> "Ganos@2020", "dbtable" -> "gf", "numPartitions" -> "4")
- 加载CataLog。
val cat = spark.read.ganos.polardbRasterCatalog(options)
- 输出结果如下:
CataLog中包含各个图层的ID和其他元数据信息,支持时空查询。
- 您可以通过指定ID和Zoom(默认z=0,即最底层金字塔)加载对应的图层。
val layer = spark.read.ganos.polardbRasterImage(options).load(id, zoom)
重要 多波段影像会自动拆分为多个单波段Tile进行展示。 - 您也可以通过图层ID集合批量加载图层。
val layers = spark.read.ganos.polardbRasterCover(options).load(Seq[id], zoom)
- 您可以通过指定ID和Zoom(默认z=0,即最底层金字塔)加载对应的图层。