Динамическое определение совокупных ключевых границ в GeoTrellis

Учитывая RDD[(SpatialKey, Tile)] в GeoTrellis, как мне вычислить агрегат KeyBounds[SpatialKey]?

1 ответ

Решение

Для любого RDD[(K, V])] где K является обязательным, то есть существует неявное Boundable[K] по объему вы можете сделать:

val bounds: KeyBounds[K] =
  tiles.map({ case (key, _) => KeyBounds(key, key) }).reduce(_ combine _)

Это будет работать над SpatialKey а также SpaceTimeKey, поскольку GeoTrellis предоставляет неявные классы типов Boundable для этих типов. Так что в вашем случае,

val bounds: KeyBounds[SpatialKey] =
  tiles.map({ case (key, _) => KeyBounds(key, key) }).reduce(_ combine _)

буду работать.

Другие вопросы по тегам