Class IndexedGridPartitioner

java.lang.Object
org.apache.spark.Partitioner
All Implemented Interfaces:
Serializable

public class IndexedGridPartitioner extends FlatGridPartitioner
The IndexedGridPartitioner is used when there is already a set of grids which the data should be partitioned into. It leverages an STRTree to quickly find the grids to place a geometry into. If you have very few objects to place, it may make more sense to use the FlatGridPartitioner. If you do not have a strict requirement to use a specific set of grids, it may make more sense to use another partitioner that generates its own grids from space-partitioning tree, e.g. the KDBTreePartitioner or the QuadTreePartitioner.
See Also:
  • Constructor Details

    • IndexedGridPartitioner

      public IndexedGridPartitioner(GridType gridType, List<org.locationtech.jts.geom.Envelope> grids, Boolean preserveUncontainedGeometries)
    • IndexedGridPartitioner

      public IndexedGridPartitioner(GridType gridType, List<org.locationtech.jts.geom.Envelope> grids)
    • IndexedGridPartitioner

      public IndexedGridPartitioner(List<org.locationtech.jts.geom.Envelope> grids, Boolean preserveUncontainedGeometries)
    • IndexedGridPartitioner

      public IndexedGridPartitioner(List<org.locationtech.jts.geom.Envelope> grids)
  • Method Details

    • getIndex

      public org.locationtech.jts.index.strtree.STRtree getIndex()
    • placeObject

      public Iterator<scala.Tuple2<Integer,org.locationtech.jts.geom.Geometry>> placeObject(org.locationtech.jts.geom.Geometry spatialObject) throws Exception
      Description copied from class: SpatialPartitioner
      Given a geometry, returns a list of partitions it overlaps.

      For points, returns exactly one partition as long as grid type is non-overlapping. For other geometry types or for overlapping grid types, may return multiple partitions.

      Overrides:
      placeObject in class FlatGridPartitioner
      Throws:
      Exception