Package

geotrellis.doc.examples

spark

Permalink

package spark

Visibility
  1. Public
  2. All

Type Members

  1. class ShardingKeyIndex[K] extends KeyIndex[K]

    Permalink

    An example of a generic KeyIndex which accounts for sharding that could occur in a data store like Apache Accumulo.

    An example of a generic KeyIndex which accounts for sharding that could occur in a data store like Apache Accumulo. Given a shard count (pre-configured), this index adds a "shard prefix" to the true index as given by the inner argument. Accumulo can shard based off of the first digit of a row ID, and since we use a round-robin approach to generate prefixes, this distributes spatially close indices across different shards, and thus helps avoid hot spots.

    Assumptions

    • The given shard count will be between 1 and 8.
    • The inner index will produce a value less than 2^60 for any given key.
  2. class ShardingKeyIndexFormat[K] extends RootJsonFormat[ShardingKeyIndex[K]]

    Permalink

    A standard JsonFormat for ShardingKeyIndex, parameterized on the key type K.

  3. class ShardingKeyIndexRegistrator extends KeyIndexRegistrator

    Permalink

    Register ShardingKeyIndex's JsonFormat with the central GeoTrellis KeyIndex JsonFormat registry.

    Register ShardingKeyIndex's JsonFormat with the central GeoTrellis KeyIndex JsonFormat registry.

    Q: Why do we need to do this?

    A: The KeyIndex trait is critical to Tile layer IO. However, it is always used generically, without any class depending on KeyIndex's subtypes directly. This is advantageous, as the user never needs to externally keep track of what index they ingested a layer with. They can read and update a layer with less of a mental burden. That said, inventing new KeyIndex subclasses becomes labourous. In this way, we (the GeoTrellis authors) have accepted the burden of complexity to the benefit of our users.

  4. case class VoxelKey(x: Int, y: Int, z: Int) extends Product with Serializable

    Permalink

    A three-dimensional spatial key.

    A three-dimensional spatial key. A voxel is the 3D equivalent of a pixel.

  5. class ZVoxelKeyIndex extends KeyIndex[VoxelKey]

    Permalink

    A KeyIndex based on VoxelKey.

  6. class ZVoxelKeyIndexFormat extends RootJsonFormat[ZVoxelKeyIndex]

    Permalink

    A JsonFormat for ZVoxelKeyIndex.

  7. class ZVoxelKeyIndexRegistrator extends KeyIndexRegistrator

    Permalink

    Register this JsonFormat with Geotrellis's central registrator.

    Register this JsonFormat with Geotrellis's central registrator. For more information on why this is necessary, see ShardingKeyIndex.scala.

Value Members

  1. object SparkExamples

    Permalink
  2. object VoxelKey extends Serializable

    Permalink

    Typeclass instances.

    Typeclass instances. These (particularly Boundable) are necessary for when a layer's key type is parameterized as K.

Ungrouped